1、拟合程度
- 对于线性回归:
- 对于逻辑回归:
左图欠拟合,高偏差。中图正合适。右图过拟合,高方差。
1.1、过拟合
1.1.1、原因
- 由上面的右图可知,特征太多(线性回归中四个特征:
x、
x2、
x3、
x4;逻辑回归中特征更多,不赘述),虽然能够贴合训练集中的样本,但是无法“泛化”(也即无法将模型应用到新的样本中)。
- 样本数量不够
1.1.2、理论解决方法
- 减少特征数量:手动选取特征或者采用模型选择算法(之后的博文会提到)。
- 减小模型参数
θ,如:正则化
1.1.3、实际解决方法之一:正则化
- 主要思想:减小模型参数
θ
- 具体操作:在代价函数中添加惩罚项
如果假设函数如下所示:
hθ(x)=θ0+θ1x+θ2x2+⋯+θ4x4
则代价函数可添加惩罚项
1000θ32和
1000θ42:
J(θ
)=2m1[i=1∑m(hθ(x(i)−y(i)))2+1000θ32+1000θ42]
这样,在求目标函数(使代价函数最小)时,会要求
θ3和
θ4的值变小,因为这两个值对代价函数的值有一定影响,一定程度上弱化了与这两个模型参数对应的特征(
x2和
x3)在假设函数中的作用。
1.1.3.1、正则化线性回归
- 惩罚项为:
λ∑j=1nθj2,其中,
λ为正规化参数,如果设置过大,则各模型参数过于接近零(除了
θ0),相当于假设函数
hθ(x)=θ0。
PS: 注意惩罚项的累加符号是从
j=1开始的,也就是说从
θ1开始,对
θ0没有影响,因为
θ0并没有对应的特征
x。
- 代价函数如下:
J(θ
)=2m1[i=1∑m(hθ(x(i)−y(i)))2+λj=1∑nθj2]
- 梯度下降中的偏导数如下:
θ0:=θ0−αm1i=1∑m(hθ(x(i)−y(i)))(x0(i))θj:=θj−α[m1i=1∑m(hθ(x(i)−y(i)))(xj(i))+mλθj](forj=1至n)
PS:
x0(i)=1;j为0至n
上面第二条公式可以化为:
θj:=θj(1−mλ)−mαi=1∑m(hθ(x(i)−y(i)))(xj(i))(forj=1至n)
由
1−mλ<1可知,相比原来的代价函数减小了
θj的值。
1−mλ<1的原理为:因为
λ不可能是负数,
如果是负数,则
λ∑j=1nθj2这个项也是负数,在求解目标函数时可以取无穷大的模型参数,使代价函数无穷小,进而不存在真正的最小值,不合理。
1.1.3.2、正则化正规方程法
- 原式子:
θ=(XTX)−1XTy
- 正则化后的式子:
θ=(XTX⎣⎢⎢⎢⎢⎡00⋮0010……0100⋮01⎦⎥⎥⎥⎥⎤)−1XTy
PS:该式可以解决
XTX不可逆的问题,新添加的矩阵大小为(n+1)*(n+1)
1.1.3.3、正则化逻辑回归
- 惩罚项:与线性回归相同
- 代价函数如下:
J(θ)=−m1i=1∑m[y(i)log(hθ(x(i))+(1−y(i))log(1−hθ(x(i)))]+2mλj=1∑nθj2
-梯度下降的偏导数与线性回归中的一样。