ML 七、过拟合问题及其解决 正则化

什么是过拟合问题

  • underfit 欠拟合:先入为主,有很强的偏差 high bias
  • just right
  • overfit 过拟合:高方差 high variance——有太多的特征值(阶次太高),对于训练集拟合的很好(为了完美拟合训练集,函数变得很扭曲),但是无法泛化(generalize)到新的样本(new examples)中
    在这里插入图片描述

如果出现过拟合,我们该怎么解决

  • 尽量减少选取变量的数量 reduce number of features——选择哪些特征变量舍弃、哪些保留
  • 正则化 regularization——保留所有特征变量,但是减少量级or 参数 θ j \theta_j θj的大小 (当有很多特征变量,每个都对于y有些影响)

正则化是怎样运行的

J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 m θ j 2 J(\theta) = \frac{1}{2m}\sum_{i = 1}^m (h_\theta(x^{(i)})- y^{(i)})^2+\lambda\sum_{j = 1}^m \theta_j^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2+λj=1mθj2

加上一个惩罚项,能让 θ j \theta_j θj尽可能小,最后得到的拟合曲线更加平滑

线性回归的正则化

推导了两种算法

  • 基于梯度下降的
  • 基于正规方程的
加上一项

加上所有参数的平方,乘以系数 λ \lambda λ
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 m θ j 2 J(\theta) = \frac{1}{2m}\sum_{i = 1}^m (h_\theta(x^{(i)})- y^{(i)})^2+\lambda\sum_{j = 1}^m \theta_j^2 J(θ)=2m1i=1m(hθ(x(i))y(i))2+λj=1mθj2

如何实现

θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) θ j : = θ j − α [ 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) + λ m θ j ] \theta_0:=\theta_0 - \alpha\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}\\ \theta_j:=\theta_j - \alpha[\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j]\\ θ0:=θ0αm1i=1m(hθ(x(i))y(i))x0(i)θj:=θjα[m1i=1m(hθ(x(i))y(i))xj(i)+mλθj]

移项后:
θ j : = θ j ( 1 − α λ m ) − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_j:=\theta_j(1-\alpha\frac{\lambda}{m}) - \alpha\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} θj:=θj(1αmλ)αm1i=1m(hθ(x(i))y(i))xj(i)

从直观上理解,就是每次参数 θ j \theta _j θj 乘以比1小的数,然后进行之前相同的梯度下降的操作

使用正规方程

X = [ ( x ( 1 ) ) T . . . ( x ( M ) ) T ] y = [ y ( 1 ) . . . y ( M ) ] X = \begin{bmatrix} (x^{(1)})^T \\ .\\.\\.\\ (x^{(M)})^T \end{bmatrix} \quad y = \begin{bmatrix} y^{(1)} \\ .\\.\\.\\ y^{(M)} \end{bmatrix} X=(x(1))T...(x(M))Ty=y(1)...y(M)

对于X,每一行表示一个单独的训练样本

Y是训练集中所有数据的标签

之前我们发现
θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)1XTy

加上正规化后

θ = ( X T X + λ [ 0 1 1 . . 1 ] ) − 1 X T y \theta = (X^TX + \lambda \begin{bmatrix} 0\\&1\\&&1\\&&&.\\&&&&.\\&&&&&1 \end{bmatrix} )^{-1}X^Ty θ=(XTX+λ011..1)1XTy

注意:

  • 原来正规方程需要考虑是否可逆的问题
  • 加上正规化后,不会有这个问题,

logistic回归的正则化

两种算法

  • 梯度下降
  • 更高级的优化算法
加上一项,

J ( θ ) = − [ 1 m ∑ i = 1 m y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ] + λ 2 m ∑ j = 1 m θ j 2 J(\theta) = -[\frac{1}{m}\sum_{i = 1}^my^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})log(1-h_\theta(x^{(i)})] + \frac{\lambda}{2m}\sum_{j = 1}^m \theta_j^2 J(θ)=[m1i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i))]+2mλj=1mθj2

如何实现

重复:
θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x 0 ( i ) θ j : = θ j − α [ 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) + λ m θ j ] \theta_0:=\theta_0 - \alpha\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}\\ \theta_j:=\theta_j - \alpha[\frac{1}{m}\sum_{i = 1}^m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j] θ0:=θ0αm1i=1m(hθ(x(i))y(i))x0(i)θj:=θjα[m1i=1m(hθ(x(i))y(i))xj(i)+mλθj]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值