1、目的
1.1 过拟合的定义
过拟合:指的是模型对训练集数据过度匹配,而对于新数据不能正确预测的情况。
1.2 正则化
正则化是用来解决模型过拟合问题的一种思路。
基本思路是在保留所有特征的基础上,减小参数的大小(参数指的是
θ)。这样每个特征对于预测结果的权重都会减少。
原因是过拟合是由于多项式对曲线影响过大造成的(多项式指的就是
x3,x4这种,通过减小
θ就能降低这些多项式对结果的影响。
与之相对应的另一种优化思路是:把不能帮助我们正确预测结果的特征去掉,剩下的特征都是对预测结果起到关键作用的特征。可以手工去除,也可以通过模型帮我们去除。该方式不是本文的重点。
2、原理
回忆一下线性回归的代价函数:
J(θ)=2m1i=1∑m(hθ(xi)−yi)2
正则化的目标是保证
J(θ)最小的情况下
θ最小,为了使
θ变小,我们把代价函数变成如下的形式:
J(θ)=minθ2m1[i=1∑m(hθ(xi)−yi)2+10000θ12+10000θ22+10000θ32+......]
简写为:
J(θ)=minθ2m1[i=1∑m(hθ(xi)−yi)2+λj=1∑nθj2]
可以看到,如果想
J(θ)最小的情况下θ最小,则
λ就要变大;
当
λ非常大的情况下,θ就只能是0了,则模型就成了一条直线了。
3、应用到线性回归
3.1 梯度下降
线性回归的梯度下降公式为:
repeat{
θ0=θ0−αm1∑i=1m(hθ(x(i))−y(i))
θj=θj−αm1∑i=1m(hθ(x(i))−y(i))∗xj(i)
}
根据第2章的介绍,特征正则化后梯度下降的公式变成了:
repeat{
θ0=θ0−αm1∑i=1m(hθ(x(i))−y(i))
θj=θj−[αm1∑i=1m(hθ(x(i))−y(i))∗xj(i)+mλθj]
}
等价于:
repeat{
θ0=θ0−αm1∑i=1m(hθ(x(i))−y(i))
θj=(1−mλ)θj−αm1∑i=1m(hθ(x(i))−y(i))∗xj(i)
}
由于
mλ是个正数,则
1−mλ<1,所以调整后的
θj比之前要小。这样就能得到比之前小的参数
θ.
3.2 正规方程
正规方程的表达式为:
θ=(XT∗X)−1∗XT∗y
正则化后变成了:
θ=(XT∗X+⎣⎢⎢⎢⎢⎡0000001000001000001000001⎦⎥⎥⎥⎥⎤)−1∗XT∗y
注意,新增的加数是一个矩阵,这个矩阵的维度与X有关联,上述表达式只是为了表示方便才写成固定的矩阵;
这个矩阵与单位矩阵只差[1,1]这个坐标,其它的都是一样的。
4、应用到逻辑回归
应用到逻辑回归的方式与线性回归完全一致,这里就不细说了。