正则化

1、过拟合

【机器学习笔记】正则化
第一张图称为 “欠拟合”(高偏差),就是学的不够好,和实际相差比较远。
第二场图是刚好拟合,且曲线平滑,认为是比较理想的模型。
第三张图称为 “过拟合”(高方差),就是学的太好,以致于曲线过于扭曲。
过拟合的出现是由于变量太多(特征太多),样本数太少,在计算loss时,loss近似等于0,此时模型能够很好的拟合训练样本,但无法对新的样本由很好的泛化能力。

2、如何解决过拟合

  1. 减少变量。缺点是,可能会缺少一部分信息。
  2. 正则化。

3、代价函数

要实现正则化:
1)对高阶项惩罚
对于两个变量的情况Θ0+Θ1x+Θ2x2{\Theta}_{0}+{\Theta}_{1}x+{\Theta}_{2}x^2,目标是:min12mi=1m(hΘ(xiyi))2min\frac{1}{2m}\sum_{i=1}^m({h}_{\Theta}({x}^{i}-{y}^{i}))^2。此时能够很好拟合。
那么当有4个变量时,Θ0+Θ1x+Θ2x2+Θ3x3+Θ4x4{\Theta}_{0}+{\Theta}_{1}x+{\Theta}_{2}x^2+{\Theta}_{3}x^3+{\Theta}_{4}x^4,多了x3、x4。那么令Θ3\Theta_3Θ4\Theta_4变得极小,这样就能有效减小x3,x4(这两个是高阶项,因此次数高,太大的话对值的影响就很大)带来的影响 (这就是加入了惩罚)
2)修改代价函数
若有100个变量,不好确定哪些是高阶项,此时就修改代价函数,加入正则化项。
【机器学习笔记】正则化
λ\lambda是正则化参数,用来控制在两个目标的取舍。第一个是更好的拟合数据,第二个是保持参数尽量小。也就是说,当拟合效果太好时,正则化来稍微控制一下,不要过度好;当参数太大时,正则化来控制一下,使得参数稍微小一点。达到一种拟合效果好,参数也小的均衡状态是最好的。
注意正则化参数不能过大,如果太大的话,Θ\Theta会近似为0,这样就拟合效果很差,变成“欠拟合”。

4、如何实现正则化

1)对于线性回归
我们知道使用线性回归时,求解Θ\Theta最小,可以用梯度下降法正规方程法
对于梯度下降:正则化的方法就是在每次更新参数时都要加入正则化项
【机器学习笔记】正则化
对于正规方程法:只需要在求解参数的时候加上正则化项
【机器学习笔记】正则化
2)对于Logistic回归
同样的,对于梯度下降:(注意虽然式子相同,但是假设函数与线性回归是不一样的)
【机器学习笔记】正则化

相关文章: