正则化
引入正则化的目的是为了解决过拟合问题。
左边的图中蓝色的线是目标函数,随机产生五个带噪声的点。我们理想的拟合曲线为红色的线,虽然有些许误差,但是整体拟合情况和目标函数接近。但是,事先不知道需要用二次曲线来拟合这些点。如果使用了更高次方的假设函数,可能就会出现右图中的情况。虽然在训练集上能很好的拟合这五个点,但是他与目标函数相差很大。在未来的预测过程中,犯错误的可能性也会很大。这就是过拟合。
我们称
H
C
H_C
HC为C次多项式。如
H
10
H_{10}
H10为所有10次多项式的集合。有如下关系:
高次多项式一定包含了低次多项式,看一个很简单的说名:十次多项式的集合中,只要让次数高于3的系数全部为0,该十次多项式就退化为一个二次多项式。
还是看最开始的列子。如果我们用十次多项式去拟合由二次多项式产生的五个点,如果让大于三次的项权重都为0,那就不会发生过拟合问题。
但是,新的问题又来了,面对一个未知的数据集。我怎么知道最初需要用几次多项式来拟合最好,很显然不可能做到未卜先知。那可以换一种思路来想这个问题。为什么会出现过拟合呢?因为多项式的次数太高了,也就是高次多项式的权重可能会很大。那么是不是可以通过限制权重的增加来解决过拟合问题呢?显然应该是可以的。
限制多项式的所有权重之和的平方,不能超过某个值
C
C
C。引入一个新的表示方式
H
(
c
)
H(c)
H(c)用来表示约束条件:
w
T
w
<
C
w^Tw<C
wTw<C。
正则化权重下降
前面推导的公式可以进行转化为下面的形式:
将
E
i
n
E_{in}
Ein写成矩阵的形式,就像解线性回归问题那样。
w
T
w
<
c
w^Tw<c
wTw<c说明w在以
以根号c为半径的圆上面。接下来的问题就是如何求解这个最优化问题
上图中,蓝色的圆代表有限制的
E
i
n
(
w
)
E_{in}(w)
Ein(w),红色的圆代表限制条件
w
T
w
=
c
w^Tw=c
wTw=c
在没有限制条件的情况下,权重向量
w
w
w最终会取得最小值
w
l
i
n
w_{lin}
wlin,也就是谷底的位置。加上限制条件之后,权重向量被限制在红色的圆上。w到原点的距离不能超过圆的半径;这种情况下
w
w
w不能取得最小值,最优解位于红色的圆上,并且只能沿着切线方向变化(绿色的),红色的线和绿色的线垂直,是红色圆的法向量,也就是
w
w
w的方向。
w
w
w不能沿着该方向变化。只要
−
Δ
E
i
n
(
w
)
-\Delta{E_{in}(w)}
−ΔEin(w)不和绿色的线垂直,则
−
Δ
E
i
n
(
w
)
-\Delta{E_{in}(w)}
−ΔEin(w)一定有绿色线上的分量,即
w
w
w还会继续变化。当
−
Δ
E
i
n
(
w
)
-\Delta{E_{in}(w)}
−ΔEin(w)与绿色的垂直与红色的线平行时,此时的
w
w
w为最优解。由此得到最优解满足的条件:
公式中
λ
\lambda
λ为拉格朗日乘子,是用来求解有条件约束最优化问题的常用方法,
2
N
\frac{2}{N}
N2为常数。称这个公式为平行公式,此时的目标函数变为求解满足上式
w
r
e
g
w_{reg}
wreg,线性回归的误差形式为:
由该式计算梯度,并代入上文中的公式可得:
最后得到的计算公式中。
Z
T
Z
Z^TZ
ZTZ半正定,只要保证
λ
>
0
\lambda>0
λ>0,则
Z
T
Z
+
λ
I
Z^TZ+{\lambda}I
ZTZ+λI一定为正定矩阵,必然可逆。
对于更一般的条件,
w
r
e
g
w_{reg}
wreg不是线性的,带入平行公式求解比较困难,可以换个角度进行考虑:
通过该变换,将有约束的最小化
E
i
n
(
w
)
E_{in}(w)
Ein(w),转化为无约束最小化
E
a
u
g
(
w
)
E_{aug}(w)
Eaug(w)aug为增广误差,第二项是限制条件,也称为权重衰减项。
如果使用正则化,只要设置朗格朗日乘子大于0即可;如果不使用将
λ
\lambda
λ置为0即可。
从图中可以看出,对于过拟合的情况,通过引入不同取值的拉格朗日乘子,模型逐渐欠拟合。可以把拉格朗日乘子 λ看做惩罚项,λ 越大,权重向量
w
w
w就越小,对应于约束范围
C
C
C值就越小,即对假设模型中的高次项惩罚力度大,高阶项被削弱,模型不能表达高维空间的特征,从而导致欠拟合。在实际应用过程中,λ 取多少合适,还要根据自己的业务需求进行调整。
正则化和VC理论
以上三式中的参数说明:
- w T w : w^Tw: wTw:单个假设函数的复杂度记为: Ω ( w ) \Omega(w) Ω(w)
-
Ω
(
H
(
C
)
)
:
\Omega(H(C)):
Ω(H(C)):假设空间复杂度
根据 VC-Dimention理论,整个假设空间的 d v c = d + 1 d_{vc}=d+1 dvc=d+1,这是因为,在求解最小化的过程中,所有假设函数的{ w w w}都被考虑在内。也就是说 d v c ( H ) d_{vc}(H) dvc(H)比较大代表了整个假设空间,但是由于朗格朗日乘子的限制,限定了权重向量只能取一小部分,有许多项被丢弃了,实际考虑的只有 H ( C ) H(C) H(C)。因此有效的VC-dimension d E F F ( H , A ) d_{EFF}(H,A) dEFF(H,A)比较小。: