2021人工智能领域新星创作者,带你从入门到精通,该博客每天更新,逐渐完善机器学习各个知识体系的文章,帮助大家更高效学习。
概述
之前为了找到拟合直线,我们使用了最小二乘估计得到了:
L ( w ) = ∑ i = 1 m ( w T x i − y i ) 2 = W T X T X W − 2 W T X T Y + Y T Y L(w)=\sum_{i=1}^m(w^Tx_i-y_i)^2\\=W^TX^TXW-2W^TX^TY+Y^TYL(w)=i=1∑m(wTxi−yi)2=WTXTXW−2WTXTY+YTY
然后我们获得的最优解为:
w ∗ = ( X T X ) − 1 X T Y w^*=(X^TX)^{-1}X^TYw∗=(XTX)−1XTY
这个式子我们可以观察一下,式子开头为 ( X T X ) − 1 (X^TX)^{-1}(XTX)−1 ,存在逆矩阵形式,也就是说要满足上面的最优解,前提必须满足 X T X X^TXXTX 可逆,那么就要求它的行列式不为0,但是由上式我们尽可以判断其为半正定矩阵,有可能存在行列式为0的情况。
解释一下,矩阵半正定说明矩阵的特征值都是大于等于0的,而行列式的值等于所有特征值的乘积,所以由于是半正定,所以存在行列式为0的情况,此时上述的最优解就会无意义。
证明一下 X T X X^TXXTX 为什么是半正定的:
要证明半正定矩阵,需证明对于任意列向量A满足 A T X T X A ≥ 0 A^TX^TXA\geq0ATXTXA≥0
A T X T X A = ( A X ) T A X = ∣ ∣ A X ∣ ∣ 2 ≥ 0 A^TX^TXA=(AX)^TAX=||AX||^2\geq0ATXTXA=(AX)TAX=∣∣AX∣∣2≥0
正则化框架
一般来说我们加入正则项都是为了解决过拟合的方式,这种方法措施很常见,所以有个固定的框架:
a r g m i n L ( w ) + λ P ( w ) argminL(w)+\lambda P(w)argminL(w)+λP(w)
其中的 L ( w ) L(w)L(w) 为我们的损失函数,后面的 λ \lambdaλ 为惩罚系数,即为正则化的程度,而 P ( w ) P(w)P(w) 就为我们的正则项,一般来说正则项可以理解为模型的复杂程度,就是使用一个表达式来表述我们模型的复杂程度,不过我们不需要考虑使用什么表示式衡量模型复杂程度,前人已经帮我们构建好,一般常用的就是L1正则化和L2正则化。
使用了L1正则项的线性回归常被称为Lasso回归 P ( w ) = ∣ ∣ w ∣ ∣ 1 P(w)=||w||_1P(w)=∣∣w∣∣1
使用了L2正则项的常被称为岭回归(Ridge)P ( w ) = ∣ ∣ w ∣ ∣ 2 2 = w T w P(w)=||w||_2^2=w^TwP(w)=∣∣w∣∣22=wTw
本篇侧重推导公式,这里就不解释为什么加入正则项可以防止过拟合了。
那么我们加入L2正则项后的函数就变成了:
J ( w ) = L ( w ) + λ w T w = W T X T X W − 2 W T X T Y + Y T Y + λ W T W J(w)=L(w)+\lambda w^Tw\\=W^TX^TXW-2W^TX^TY+Y^TY+\lambda W^TWJ(w)=L(w)+λwTw=WTXTXW−2WTXTY+YTY+λWTW
所以我们的目标就变成了:
a r g m i n J ( w ) = a r g m i n W T X T X W − 2 W T X T Y + Y T Y + λ W T W argminJ(w)\\=argminW^TX^TXW-2W^TX^TY+Y^TY+\lambda W^TWargminJ(w)=argminWTXTXW−2WTXTY+YTY+λWTW
对上式进行求导,可得:
W ∗ = ( X T X + λ I ) − 1 X T Y W^*=(X^TX+\lambda I)^{-1}X^TYW∗=(XTX+λI)−1XTY
将我们没有加入正则项后的 W ∗ W^*W∗ 进行对比:
w ∗ = ( X T X ) − 1 X T Y w^*=(X^TX)^{-1}X^TYw∗=(XTX)−1XTY
加入之后仍存在逆矩阵,但是此时发现内部的矩阵变为了 X T X + λ I X^TX+\lambda IXTX+λI ,它是一个半正定的矩阵加上一个单位阵,显然是可逆的,这里解释下为什么?
上面我们讲过 X T X X^TXXTX 是半正定的,所以其特征值都是大于等于0的,但是此时加上了一个单位阵,由矩阵多项式可知,此时矩阵的特征值等于原来的特征值分别加上 λ \lambdaλ ,如果 λ = 0 \lambda=0λ=0 ,和原来是一样的,如果 λ > 0 \lambda>0λ>0 ,那么此时矩阵的特征值就全部都是大于0的,所以它的行列式不为0,即存在逆矩阵,那么上面的解有意义。