前端之家收集整理的这篇文章主要介绍了
【HowTo ML】正则化,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
过拟合(Overfitting)与欠拟合(Underfitting)
欠拟合
一个模型不能很好的拟合数据,或者说有很强的偏向,或者说有很大的偏差(High bias)
此时我们不能很好的预测新样本数据
@H_
502_8@过拟合
特点:
J(θ)≈0
一个模型过于拟合训练数据,或者说有很高的方差(High varionce).
这种情况可能也会造成函数过大,变量过多的情况
小结
我们需要更为准确的预测,一组数据不可能代表所有的可能性.
所以我们需要泛化(generalize)模型来预测新的样本数据.
- 减少特征
- 正则化(Regularization)
- 保留所有特征但是减少
θJ
的数量级或者大小.
- 其中每一个都为预测
y
@H_301_131@y贡献一点点
对于正则化来,说我们通过改变代价函数来约束参数的大小,从而改变该特征对模型影响的大小来使模型更为简单.举个栗子:
在这个栗子中,由于costFunction,
θ3
和
θ4
将会约等于0,也就是贡献非常小.
我们将这种代价函数一般化:
J(θ)=12m[∑i=1@H_641_301@m(hθ(x(i))−y(i))+λ∑j@H_2_403@=1nθ2j]
首先这个代价
函数有两个目标:
1. 匹配训练集
2. 保持参数尽可能小
其中
λ∑@H_861_502@nj=1θ2j
叫做正则化参数(regularization parameter)也就是我们常说的模型的偏见,用于第二个目标
λ
用于平衡两个目标之间的平衡.
如果
λ
过大会欠拟合,过小会过拟合.
注意:通常不会正则化
theta0
,虽然影响不大.
梯度下降
那么通过上面代价函数的修改,梯度下降则变为:
repeatuntilconvergence{θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))x(i)0θj:=θj(1−αλm)−α1m∑i=1m(hθ(x(@H_403_1117@i))−y(i))x(i)j(j=1,2,...,n)}
一般的
(1−αλm)@H_348_1301@<1
,一般小于1一点点.
正则方程
我们在线性回归中介绍了正则方程.
在这里我们也可以用来计算正则方程参数.
下面是线性回归中无偏向的正则方程:
X(designmatrix)=⎡⎣⎢⎢⎢@H_479_1403@@H_898_1404@(x(1))T⋮(x(n))@H_621_1502@T⎤⎦⎥⎥⎥
θ=(XTX)−1XTy
那么加上偏好
θ=(XTX+λ⎡⎣⎢⎢⎢⎢⎢⎢⎢@H_404_1778@000⋮0010⋮0001⋮@H_404_1930@0⋯⋯⋯⋱0001⎤⎦⎥⎥⎥⎥⎥⎥⎥)−1XTy
其中矩阵大小为
(n+1)∗(n+1)
可逆矩阵
可以证明:只要
λ>0
那么存在上述矩阵.