机器学习系列:线性回归

1. 基本的线性回归

假设数据集为: D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) \mathcal{D}={(x_1, y_1),(x_2, y_2),\cdots,(x_N, y_N)} D=(x1,y1),(x2,y2),,(xN,yN)要注意,这里的 x i x_i xi表示的是 ( x i 1 , x i 2 , ⋯   , x i m ) (x_{i1},x_{i2},\cdots,x_{im}) (xi1,xi2,,xim)是一个向量
后面我们记: X = ( x 1 , x 2 , ⋯   , x N ) T , Y = ( y 1 , y 2 , ⋯   , y N ) T X=(x_1,x_2,\cdots,x_N)^T,Y=(y_1,y_2,\cdots,y_N)^T X=(x1,x2,,xN)T,Y=(y1,y2,,yN)T 线性回归假设: f ( w ) = w T x f(w)=w^Tx f(w)=wTx
对这个问题,采用二范数定义的平方误差来定义损失函数: L ( w ) = ∑ i = 1 N ∣ ∣ w T x i − y i ∣ ∣ 2 2 L(w)=\sum\limits_{i=1}^N||w^Tx_i-y_i||^2_2 L(w)=i=1NwTxiyi22 展开得到:
L ( w ) = ( w T x 1 y 1 , ⋯   , w T x N − y N ) ⋅ ( w T x 1 − y 1 , ⋯   , w T x N − y N ) T = ( w T X T − Y T ) ⋅ ( X w − Y ) = w T X T X w − Y T X w − w T X T Y + Y T Y = w T X T X w − 2 w T X T Y + Y T Y \begin{aligned} L(w)&=(w^Tx_1y_1,\cdots,w^Tx_N-y_N)\cdot (w^Tx_1-y_1,\cdots,w^Tx_N-y_N)^T \\ &=(w^TX^T-Y^T)\cdot (Xw-Y)\\&=w^TX^TXw-Y^TXw-w^TX^TY+Y^TY\\ &=w^TX^TXw-2w^TX^TY+Y^TY \end{aligned} L(w)=(wTx1y1,,wTxNyN)(wTx1y1,,wTxNyN)T=(wTXTYT)(XwY)=wTXTXwYTXwwTXTY+YTY=wTXTXw2wTXTY+YTY 最小化这个值的 w ^ \hat{w} w^
w ^ = a r g m i n w L ( w ) ⟶ ∂ ∂ w L ( w ) = 0 ⟶ 2 X T X w ^ − 2 X T Y = 0 ⟶ w ^ = ( X T X ) − 1 X T Y = X + Y \begin{aligned} \hat{w}=\mathop{argmin}\limits_wL(w) &\longrightarrow\frac{\partial}{\partial w}L(w)=0\\ &\longrightarrow2X^TX\hat{w}-2X^TY=0\\ &\longrightarrow \hat{w}=(X^TX)^{-1}X^TY=X^+Y \end{aligned} w^=wargminL(w)wL(w)=02XTXw^2XTY=0w^=(XTX)1XTY=X+Y
这个式子中 ( X T X ) − 1 X T (X^TX)^{-1}X^T (XTX)1XT 又被称为伪逆。对于行满秩或者列满秩的 X X X,可以直接求解,但是对于非满秩的样本集合,需要使用奇异值分解(SVD)的方法,对 X X X 求奇异值分解,得到 X = U Σ V T X=U\Sigma V^T X=UΣVT 于是: X + = V Σ − 1 U T X^+=V\Sigma^{-1}U^T X+=VΣ1UT

2.加入正则化

在实际应用时,如果样本容量不远远大于样本的特征维度,很可能造成过拟合,对这种情况,我们有下面三个解决方式:

  1. 加数据
  2. 特征选择(降低特征维度)如 PCA 算法。
  3. 正则化
    这里只看正则化,正则化一般是在损失函数(如上面介绍的最小二乘损失)上加入正则化项(表示模型的复杂度对模型的惩罚),下面我们介绍一般情况下的两种正则化框架。
    L 1 : a r g m i n w L ( w ) + λ ∣ ∣ w ∣ ∣ 1 , λ > 0 L 2 : a r g m i n w L ( w ) + λ ∣ ∣ w ∣ ∣ 2 2 , λ > 0 \begin{aligned} L1&:\mathop{argmin}\limits_wL(w)+\lambda||w||_1,\lambda\gt0\\ L2&:\mathop{argmin}\limits_wL(w)+\lambda||w||^2_2,\lambda \gt 0 \end{aligned} L1L2:wargminL(w)+λw1,λ>0:wargminL(w)+λw22,λ>0 下面对最小二乘误差分别分析这两者的区别。

2.1 L1 Lasso

L1正则化可以引起稀疏解。

从最小化损失的角度看,由于 L1 项求导在0附近的左右导数都不是0,因此更容易取到0解。

从另一个方面看,L1 正则化相当于: a r g m i n w L ( w )   s . t . ∣ ∣ w ∣ ∣ 1 < C \mathop{argmin}\limits_wL(w)\ s.t. ||w||_1\lt C wargminL(w) s.t.w1<C 我们已经看到平方误差损失函数在 w w w 空间是一个椭球,因此上式求解就是椭球和 ∣ ∣ w ∣ ∣ 1 = C ||w||_1=C w1=C的切点,因此更容易相切在坐标轴上。

2.2 L2 Ridge

w ^ = a r g m i n w L ( w ) + λ w T w ⟶ ∂ ∂ w L ( w ) + 2 λ w = 0 ⟶ 2 X T X w ^ − 2 X T Y + 2 λ w ^ = 0 ⟶ w ^ = ( X T X + λ I ) − 1 X T Y \begin{aligned} \hat{w}=\mathop{argmin}\limits_wL(w)+\lambda w^Tw&\longrightarrow\frac{\partial}{\partial w}L(w)+2\lambda w=0\\ &\longrightarrow2X^TX\hat{w}-2X^TY+2\lambda \hat w=0\\ &\longrightarrow \hat{w}=(X^TX+\lambda \mathbb{I})^{-1}X^TY \end{aligned} w^=wargminL(w)+λwTwwL(w)+2λw=02XTXw^2XTY+2λw^=0w^=(XTX+λI)1XTY

可以看到,这个正则化参数和前面的 MAP 结果不谋而合。利用2范数进行正则化不仅可以是模型选择 w w w 较小的参数,同时也避免 X T X X^TX XTX不可逆的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值