《machine learning》7正则化

7.1 过拟合

欠拟合:模型没有很好的拟合数据集。或称高偏差。
过拟合:高阶多项式,变量太多,数据集不够约束这些变量。或称高方差。
过拟合在参数过多时发生,假设训练出的模型能很好的拟合训练集,误差函数非常接近0,但这样的曲线无法泛化到新样本。
泛化:一个假设模型应用到新样本的能力
在这里插入图片描述
调试和诊断
过拟合解决办法:

  • 减少选取变量的数量,人工选择保留重要的变量,使用算法选择变量
  • 保留所有变量,减少量级,或参数 θ j \theta_j θj的大小

7.2 正则化损失函数

变量过多出现过拟合后,引入惩罚项。训练使损失函数趋于0,使得部分变量取值约等于0.
在这里插入图片描述
模型参数越小,模型’越简单‘,曲线更加平滑
不知道选出哪些模型参数添加惩罚函数时,缩小所有模型参数:
在这里插入图片描述
正则化项,正则化参数
在这里插入图片描述

当正则化参数过大,即对所有模型参数的惩罚系数都很大,导致所有的参数项都约等于0,只剩下一个 θ 0 \theta_0 θ0,模型最后约等于 y = θ 0 y=\theta_0 y=θ0的直线,导致欠拟合。
应选择合适的正则化参数。
在这里插入图片描述

7.3 线性回归的正则化

梯度解法
损失函数:
J ( Θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\Theta)={1\over 2m}[\sum^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})^2+\lambda \sum^n_{j=1}\theta^2_j] J(Θ)=2m1[i=1m(hθ(x(i))y(i))2+λj=1nθj2]
优化函数(加入正则化项的梯度下降):
θ j : = θ j ( 1 − α λ m ) − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_j:=\theta_j(1-\alpha{\lambda \over m})-\alpha {1\over m}\sum^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} θj:=θj(1αmλ)αm1i=1m(hθ(x(i))y(i))xj(i)
在这里插入图片描述
正则化解法
矩阵解法中加入 λ [ 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] \lambda \begin{bmatrix}0&0&0&0 \\ 0&1&0&0 \\ 0&0&1&0 \\ 0&0&0&1\end{bmatrix} λ0000010000100001正则化项
在这里插入图片描述
在样本个数小于特征数时m<=n,会出现 ( X T X ) (X^TX) (XTX)不可逆的情况,如果使用pinv求伪逆的话,能求出来但是求出来最后的假设模型不能很好的拟合数据。
在加入正则化项后,只要正则参数大于0,括号内一定是可逆的。
在这里插入图片描述

7.4 逻辑回归的正则化

在原本逻辑回归的基础上加入正则化项:
损失函数:
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) l o g h θ ( x ( i ) ) + ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) ] + λ ∑ j = 1 n θ j 2 ] J(\theta)=-{1\over m}\sum^m_{i=1}[y^{(i)}logh_\theta(x^{(i)})+(1-y^{(i)})log(1-h_\theta(x^{(i)}))]+\lambda \sum^n_{j=1}\theta^2_j] J(θ)=m1i=1m[y(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]+λj=1nθj2]
优化函数:加入正则化项的梯度下降:
θ j : = θ j ( 1 − α λ m ) − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x j ( i ) \theta_j:=\theta_j(1-\alpha{\lambda \over m})-\alpha {1\over m}\sum^m_{i=1}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)} θj:=θj(1αmλ)αm1i=1m(hθ(x(i))y(i))xj(i)
注意:

  • θ 0 \theta_0 θ0项不需要加入正则化项,特殊处理
  • 逻辑回归的: h θ ( x ) = 1 1 + e − Θ T x = 1 1 + e − ( θ 0 + θ 1 x 1 + θ 2 x 2 + ⋯   ) h_\theta(x)={1\over 1+e^{-\Theta^Tx}}={1\over 1+e^{-(\theta_0+\theta_1x_1+\theta_2x_2+\cdots)}} hθ(x)=1+eΘTx1=1+e(θ0+θ1x1+θ2x2+)1
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值