正则化
1、过拟合
第一张图称为 “欠拟合”(高偏差),就是学的不够好,和实际相差比较远。
第二场图是刚好拟合,且曲线平滑,认为是比较理想的模型。
第三张图称为 “过拟合”(高方差),就是学的太好,以致于曲线过于扭曲。
过拟合的出现是由于变量太多(特征太多),样本数太少,在计算loss时,loss近似等于0,此时模型能够很好的拟合训练样本,但无法对新的样本由很好的泛化能力。
2、如何解决过拟合
- 减少变量。缺点是,可能会缺少一部分信息。
- 正则化。
3、代价函数
要实现正则化:
1)对高阶项惩罚
对于两个变量的情况,目标是:。此时能够很好拟合。
那么当有4个变量时,,多了x3、x4。那么令和变得极小,这样就能有效减小x3,x4(这两个是高阶项,因此次数高,太大的话对值的影响就很大)带来的影响 (这就是加入了惩罚) 。
2)修改代价函数
若有100个变量,不好确定哪些是高阶项,此时就修改代价函数,加入正则化项。
是正则化参数,用来控制在两个目标的取舍。第一个是更好的拟合数据,第二个是保持参数尽量小。也就是说,当拟合效果太好时,正则化来稍微控制一下,不要过度好;当参数太大时,正则化来控制一下,使得参数稍微小一点。达到一种拟合效果好,参数也小的均衡状态是最好的。
注意正则化参数不能过大,如果太大的话,会近似为0,这样就拟合效果很差,变成“欠拟合”。
4、如何实现正则化
1)对于线性回归
我们知道使用线性回归时,求解最小,可以用梯度下降法和正规方程法。
对于梯度下降:正则化的方法就是在每次更新参数时都要加入正则化项
对于正规方程法:只需要在求解参数的时候加上正则化项
2)对于Logistic回归
同样的,对于梯度下降:(注意虽然式子相同,但是假设函数与线性回归是不一样的)