欠拟合(高偏差):没有很好的拟合训练集数据;
过度拟合(高方差):可以很好的拟合训练集数据,但是函数太过庞大,变量太多,且缺少足够多的数据约束该模型,无法泛化到新的数据样本。
解决过度拟合的方法:
1.减少特征变量的数量
- 人为选择保留的特征变量
- 利用模型选择算法
2.正则化
- 保留所有的特征变量,但要减小数量级或参数θjθj的数值
- 当拥有很多特征变量,且每一个都对预测yy起一点作用时,利用正则化很好
正则化的思路:
当等参数取较小值时,将得到更简单的假设函数,不易发生过拟合的问题。
线性回归的正则化代价函数:
J(θ)=12m[∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθ2j]J(θ)=12m[∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθj2]
λ∑nj=1θ2jλ∑j=1nθj2为正则化项(注:不包含θ0θ0),λλ为正则化参数
λλ的作用是平衡两个目标:
目标1:使假设函数更好地拟合训练集数据;
目标2:保持参数值比较小。
由于目标是最小化J(θ)J(θ),对于λ∑nj=1θ2jλ∑j=1nθj2,当λλ特别大的时候,θjθj就会很小。
正则化线性回归
梯度下降:
Repeat {
θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x(i)0θj:=θj−α[1m∑i=1m(hθ(x(i))−y(i))x(i)j+λmθj]θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x0(i)θj:=θj−α[1m∑i=1m(hθ(x(i))−y(i))xj(i)+λmθj]
} 对θjθj的梯度下降公式进行整理变形:
θj:=(1−αλm)θj−α1m∑i=1m(hθ(x(i))−y(i))x(i)jθj:=(1−αλm)θj−α1m∑i=1m(hθ(x(i))−y(i))xj(i)
(注:1−αλm<11−αλm<1)
正规方程:
线性回归的正规方程:
θ=(XTX)−1XTyθ=(XTX)−1XTy
正则化线性回归的正规方程:
θ=(XTX+λL)−1XTyθ=(XTX+λL)−1XTy
其中,LL为一个矩阵,形式为⎡⎣⎢⎢⎢⎢⎢⎢⎢011⋱1⎤⎦⎥⎥⎥⎥⎥⎥⎥[011⋱1]
正则化逻辑回归
代价函数:
J(θ)=−[1m∑i=1my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]+λ2m∑j=1nθ2jJ(θ)=−[1m∑i=1my(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]+λ2m∑j=1nθj2
梯度下降:
Repeat {
θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x(i)0θj:=θj−α[1m∑i=1m(hθ(x(i))−y(i))x(i)j+λmθj]θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x0(i)θj:=θj−α[1m∑i=1m(hθ(x(i))−y(i))xj(i)+λmθj]
}