跳至主要內容

正则化

blacklad大约 2 分钟AIAI

正则化

正则化是解决过拟合的方法之一,对于某些不重要的特征,通过减小参数ww,但是实际可能并不知道哪些参数是不重要的。所以一般缩小所有的特征参数。

1 代价函数

在原代价函数中添加正则项(惩罚项),控制参数 ww 的大小:

J(w,b)=12mi=1m(fw,b(x(i))y(i))2+λ2mj=1nwj2 J \left( \vec{w}, b \right) = \frac{1}{2m}\sum\limits_{i=1}^m \left( f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)} \right)^{2} + \frac\lambda{2m}\sum_{j=1}^nw_j^2

2 λ的选择

  • λ=0时,没有正则化,模型可能会过拟合
  • λ增大,ww 会逐渐变小,拟合的曲线也会变平滑
  • λ过大,所有ww 会变得非常小,接近于0,代价函数变成 J(w,b)=bJ \left( \vec{w}, b \right) = b,会欠拟合

3 正则项中的m

分母中的 mm 是为了消除样本个数对正则化的影响。

  • 正则化项与损失函数的匹配: 损失函数(如均方误差、交叉熵等)通常是对样本误差的平均值。换句话说,损失函数中的误差项本质上是对 m 个样本的总误差进行平均。因此,为了让正则化项与损失函数的规模保持一致,我们也需要将正则化项除以 m。

  • 避免正则化项过大: 当数据集非常大时,正则化项的权重相对会变得过大。这会导致正则化项对损失函数的贡献过于显著,从而过度惩罚模型的复杂度,导致模型的拟合能力下降。

4 线性回归正则方法

梯度下降过程变为:

wj=wjα[1mi=1m[(fw,b(x(i))y(i))xj(i)]+λmwj] w_{j}=w_{j}-\alpha\left\lbrack\frac1m\sum_{i=1}^{m}\left\lbrack(f_{\vec{w},b}(\vec{x}^{(i)})-y^{(i)})x_{j}^{(i)}\right\rbrack+\frac\lambda mw_{j}\right\rbrack

b=bα1mi=1m(fw,b(x(i))y(i)) b=b-\alpha\frac1m\sum_{i=1}^m\bigl(f_{\vec{w},b}\bigl(\vec{x}^{(i)}\bigr)-y^{(i)}\bigr)

5 过程分析

展开合并项后可得:

wj=wj(1αλm)α1mi=1m(fw,b(x(i))y(i))yj(i) w_{j}=w_{j}\left(1-\alpha\frac{\lambda}{m}\right)-\alpha\frac{1}{m}\sum_{i=1}^{m}\left(f_{w,b}(\vec{x}^{(i)})-y^{(i)}\right)y_{j}^{(i)}

相当于每次梯度下降时,将 ww 的值先乘以一个略小于1的数来减小 ww

上次编辑于:
贡献者: blacklad