【HowTo ML】正则化

过拟合(Overfitting)与欠拟合(Underfitting)

【HowTo ML】正则化_第1张图片

欠拟合

一个模型不能很好的拟合数据,或者说有很强的偏向,或者说有很大的偏差(High bias)
此时我们不能很好的预测新样本数据

过拟合

特点: J(θ)0
一个模型过于拟合训练数据,或者说有很高的方差(High varionce).
这种情况可能也会造成函数过大,变量过多的情况

小结

我们需要更为准确的预测,一组数据不可能代表所有的可能性.
所以我们需要泛化(generalize)模型来预测新的样本数据.

解决

  1. 减少特征
    • 人工删除
    • 模型选择算法
  2. 正则化(Regularization)
    • 保留所有特征但是减少 θJ 的数量级或者大小.
    • 其中每一个都为预测 y 贡献一点点

代价函数

对于正则化来,说我们通过改变代价函数来约束参数的大小,从而改变该特征对模型影响的大小来使模型更为简单.举个栗子:
【HowTo ML】正则化_第2张图片
在这个栗子中,由于costFunction, θ3 θ4 将会约等于0,也就是贡献非常小.
我们将这种代价函数一般化:

J(θ)=12m[i=1m(hθ(x(i))y(i))+λj=1nθ2j]

首先这个代价函数有两个目标:
1. 匹配训练集
2. 保持参数尽可能小

其中 λnj=1θ2j 叫做正则化参数(regularization parameter)也就是我们常说的模型的偏见,用于第二个目标
λ 用于平衡两个目标之间的平衡.
如果 λ 过大会欠拟合,过小会过拟合.
注意:通常不会正则化 theta0 ,虽然影响不大.

梯度下降

那么通过上面代价函数的修改,梯度下降则变为:

repeatuntilconvergence{θ0:=θ0α1mi=1m(hθ(x(i))y(i))x(i)0θj:=θj(1αλm)α1mi=1m(hθ(x(i))y(i))x(i)j(j=1,2,...,n)}

一般的 (1αλm)<1 ,一般小于1一点点.

正则方程

我们在线性回归中介绍了正则方程.
在这里我们也可以用来计算正则方程参数.
下面是线性回归中无偏向的正则方程:

X(design matrix)=(x(1))T(x(n))T

θ=(XTX)1XTy

那么加上偏好

θ=(XTX+λ0000010000100001)1XTy

其中矩阵大小为 (n+1)(n+1)

可逆矩阵

可以证明:只要 λ>0 那么存在上述矩阵.

你可能感兴趣的:(【HowTo ML】正则化)