3 线性回归:最小二乘法与正则化

假设数据集为: 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 = ( x 1 , x 2 , ⋯   , x N ) T = ( x 1 T x 2 T ⋮ x p T ) = ( x 11 x 21 … x 1 p x 21 x 22 … x 2 p ⋮ ⋮ ⋮ ⋮ x p 1 x p 2 … x p p ) N ∗ p , Y = ( y 1 , y 2 , ⋯   , y N ) T = ( y 1 y 2 ⋮ y p ) N ∗ 1 X=(x_1,x_2,\cdots,x_N)^T=\left(\begin{array}{c}x_{1}^T \\ x_{2}^T\\ \vdots \\ x_{p}^T\end{array}\right)=\left(\begin{array}{c}x_{11} x_{21} \dots x_{1p}\\ x_{21} x_{22} \dots x_{2p}\\ \vdots \quad \vdots \quad \vdots \quad \vdots \\ x_{p1} x_{p2} \dots x_{pp} \end{array}\right)_{N*p},\\ Y=(y_1,y_2,\cdots,y_N)^T= \left(\begin{array}{c}y_{1} \\ y_{2}\\ \vdots \\ y_{p}\end{array}\right)_{N*1} X=(x1,x2,,xN)T=x1Tx2TxpT=x11x21x1px21x22x2pxp1xp2xppNp,Y=(y1,y2,,yN)T=y1y2ypN1 线性回归假设: f ( w ) = w T x f(w)=w^Tx f(w)=wTx

1 最小二乘法及其几何意义

对这个问题,采用二范数定义的平方误差来定义损失函数: 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 1 , ⋯   , w T x N ) − ( y 1 , ⋯   , 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) &=\left(w^{T} x_{1}-y_{1}, \cdots, w^{T} x_{N}-y_{N}\right) \cdot\left(w^{T} x_{1}-y_{1}, \cdots, w^{T} x_{N}-y_{N}\right)^{T} \\ &=(\left(w^{T} x_{1}, \cdots, w^{T} x_{N})-(y_{1}, \cdots,y_{N}\right)) \cdot\left(w^{T} x_{1}-y_{1}, \cdots, w^{T} x_{N}-y_{N}\right)^{T} \\ &=\left(w^{T} X^{T}-Y^{T}\right) \cdot(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 \end{aligned} L(w)=(wTx1y1,,wTxNyN)(wTx1y1,,wTxNyN)T=((wTx1,,wTxN)(y1,,yN))(wTx1y1,,wTxNyN)T=(wTXTYT)(XwY)=wTXTXwYTXwwTXTY+YTY=wTXTXw2wTXTY+YTY最小化这个值的 w ^ = argmin ⁡ 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}=\underset{w}{\operatorname{argmin}} L(w) & \longrightarrow \frac{\partial}{\partial w} L(w)=0 \\ & \longrightarrow 2 X^{T} X \hat{w}-2 X^{T} Y=0 \\ & \longrightarrow \hat{w}=\left(X^{T} X\right)^{-1} X^{T} Y=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
在几何上,最小二乘法相当于模型(这里就是直线)和试验值的距离的平方求和(从N个样本的角度来看),假设我们的试验样本张成一个 p p p 维空间(满秩的情况): X = S p a n ( x 1 , ⋯   , x N ) X=Span(x_1,\cdots,x_N) X=Span(x1,,xN),而模型可以写成 f ( w ) = X β f(w)=X\beta f(w)=Xβ,也就是 x 1 , ⋯   , x N x_1,\cdots,x_N x1,,xN 的某种组合,而最小二乘法就是说希望 Y Y Y 和这个模型距离越小越好。当距离为0时,所有的点都会在直线上面,对应在p维空间,就是向量Y在此平面上;但是,实际情况是点不可能均在直线上,对应的是,向量Y不会在此平面上,因此, Y − X β Y-X\beta YXβ就是平面的法向量,于是它们的差应该与这个张成的空间垂直: X T ⋅ ( Y − X β ) = 0 ⟶ β = ( X T X ) − 1 X T Y X^T\cdot(Y-X\beta)=0\longrightarrow\beta=(X^TX)^{-1}X^TY XT(YXβ)=0β=(XTX)1XTY

2 概率角度:噪声为高斯分布的 MLE

最小二乘法(LSF)<==>MLE(噪声是高斯分布)
对于一维的情况,记 y = w T x + ϵ , ϵ ∼ N ( 0 , σ 2 ) y=w^Tx+\epsilon,\epsilon\sim\mathcal{N}(0,\sigma^2) y=wTx+ϵ,ϵN(0,σ2),那么
y ∼ N ( w T x , σ 2 ) y\sim\mathcal{N}(w^Tx,\sigma^2) yN(wTx,σ2) L ( w ) = log ⁡ p ( Y ∣ X , w ) = log ⁡ ∏ i = 1 N p ( y i ∣ x i , w ) = ∑ i = 1 N log ⁡ ( 1 2 π σ e − ( y i − w T x i ) 2 2 σ 2 ) \begin{aligned} L(w)=\log p(Y | X, w) &=\log \prod_{i=1}^{N} p\left(y_{i} | x_{i}, w\right) \\ &=\sum_{i=1}^{N} \log \left(\frac{1}{\sqrt{2 \pi \sigma}} e^{-\frac{\left(y_{i}-w^{T} x_{i}\right)^{2}}{2 \sigma^{2}}}\right) \end{aligned} L(w)=logp(YX,w)=logi=1Np(yixi,w)=i=1Nlog(2πσ 1e2σ2(yiwTxi)2)
argmax ⁡ w L ( w ) = argmin ⁡ w ∑ i = 1 N ( y i − w T x i ) 2 \underset{w}{\operatorname{argmax}} L(w)=\underset{w}{\operatorname{argmin}} \sum_{i=1^{N}}\left(y_{i}-w^{T} x_{i}\right)^{2} wargmaxL(w)=wargmini=1N(yiwTxi)2这个表达式和最小二乘估计得到的结果一样,所以最小二乘法隐藏噪声是高斯分布。

3 正则化

损失函数: 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
得到解析解: w ^ = ( X T X ) − 1 X T Y \hat{w}=\left(X^{T} X\right)^{-1} X^{T} Y w^=(XTX)1XTY
X N ∗ p X_{N*p} XNp N N N个样本, p p p个特征,正常情况下,需要 N > > p N>>p N>>p
在实际应用时,如果样本容量不远远大于样本的特征维度,在数据角度看就是, X T X X^{T} X XTX会不可逆,不可以直接得到解析解;在结果上看,很可能造成过拟合,对这种情况,我们有下面三个解决方式:

  • 加数据
  • 特征选择或降低特征维度如 PCA 算法。
  • 正则化

正则化一般是在损失函数(如上面介绍的最小二乘损失)上加入正则化项(表示模型的复杂度对模型的惩罚),下面我们介绍一般情况下的两种正则化框架。 L 1 : argmin ⁡ w L ( w ) + λ ∥ w ∥ 1 , λ > 0 L 2 : argmin ⁡ w L ( w ) + λ ∥ w ∥ 2 2 , λ > 0 \begin{array}{l} L 1: \underset{w}{\operatorname{argmin}} L(w)+\lambda\|w\|_{1}, \lambda>0 \\ L 2: \underset{w}{\operatorname{argmin}} L(w)+\lambda\|w\|_{2}^{2}, \lambda>0 \end{array} L1:wargminL(w)+λw1,λ>0L2:wargminL(w)+λw22,λ>0下面对最小二乘误差分别分析这两者的区别。

3.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的切点,因此更容易相切在坐标轴上。

3.2 L2 Ridge(岭回归)或权值衰减(频率角度来看)

J ( w ) = L ( w ) + λ ∥ w ∥ 2 2 = ∑ i = 1 N ∣ ∣ w T x i − y i ∣ ∣ 2 2 + λ w T w = ( w T X T − Y T ) ( X w − Y ) + λ w T w = w T X T X w − 2 w T X T Y + Y T Y + λ w T w = w T ( X T X + λ I ) w − 2 w T X T Y + Y T Y \begin{aligned} J(w)=L(w)+\lambda\|w\|_{2}^{2} &=\sum\limits_{i=1}^N||w^Tx_i-y_i||^2_2+\lambda w^{T} w\\ &=(w^{T} X^{T}-Y^{T})(Xw-Y)+\lambda w^{T} w \\ &=w^{T} X^{T}Xw-2w^TX^TY+Y^TY+\lambda w^{T} w \\ &=w^{T}( X^{T}X+\lambda I)w-2w^TX^TY+Y^TY \end{aligned} J(w)=L(w)+λw22=i=1NwTxiyi22+λwTw=(wTXTYT)(XwY)+λwTw=wTXTXw2wTXTY+YTY+λwTw=wT(XTX+λI)w2wTXTY+YTY

w ^ = argmin ⁡ 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}=\underset{w}{\operatorname{argmin}} L(w)+\lambda w^{T} w & \longrightarrow \frac{\partial}{\partial w} L(w)+2 \lambda w=0 \\ & \longrightarrow 2 X^{T} X \hat{w}-2 X^{T} Y+2 \lambda \hat{w}=0 \\ & \longrightarrow \hat{w}=\left(X^{T} X+\lambda \mathbb{I}\right)^{-1} X^{T} Y \end{aligned} w^=wargminL(w)+λwTwwL(w)+2λw=02XTXw^2XTY+2λw^=0w^=(XTX+λI)1XTY
X T X X^TX XTX最少是一个半正定矩阵(定理:若A是n阶实对称矩阵,则A是半正定的 X T X X^TX XTX是p*p的实矩阵,同时也是可逆的, ( X T X ) T = X T ( X T ) T = X T X (X^TX)^T=X^T(X^T)^T=X^TX (XTX)T=XT(XT)T=XTX,所以是对称阵,因此 X T X X^TX XTX一定是半正定的,但不一定正定,因此 X T X X^TX XTX的逆可能不存在。注意:半正定矩阵与正定矩阵相加一定正定,所以 X T X + λ I 一 定 可 逆 X^{T} X+\lambda \mathbb{I}一定可逆 XTX+λI
可以看到,这个正则化参数和前面的 MAP 结果不谋而合。利用2范数进行正则化不仅可以是模型选择 w w w 较小的参数,同时也避免 X T X X^TX XTX不可逆的问题。

4 贝叶斯角度:权重先验也为高斯分布的 MAP

y = w T x + ϵ , ϵ ∼ N ( 0 , σ 2 ) y=w^Tx+\epsilon,\epsilon\sim\mathcal{N}(0,\sigma^2) y=wTx+ϵ,ϵN(0,σ2),则 y ∣ x ; w ∼ N ( w T x , σ 2 ) y|x;w\sim\mathcal{N}(w^Tx,\sigma^2) yx;wN(wTx,σ2)
贝叶斯角度,取先验分布 w ∼ N ( 0 , σ 0 2 ) w\sim\mathcal{N}(0,\sigma_{0}^2) wN(0,σ02)。于是: w ^ = arg ⁡ max ⁡ w p ( w ∣ Y ) = arg ⁡ max ⁡ w p ( Y ∣ w ) p ( w ) = arg ⁡ max ⁡ w log ⁡ p ( Y ∣ w ) p ( w ) = arg ⁡ max ⁡ w ( log ⁡ p ( Y ∣ w ) + log ⁡ p ( w ) ) = arg ⁡ min ⁡ w [ ( y − w T x ) 2 + σ 2 σ 0 2 w T w ] \begin{aligned} \hat{w}=\arg \max _{w} p(w | Y) &=\arg \max _{w} p(Y | w) p(w) \\ &=\arg \max _{w} \log p(Y | w) p(w) \\ &=\arg \max _{w} (\log p(Y | w)+\log p(w)) \\ &=\arg \min _{w}\left[\left(y-w^{T} x\right)^{2}+\frac{\sigma^{2}}{\sigma_{0}^{2}} w^{T} w\right] \end{aligned} w^=argwmaxp(wY)=argwmaxp(Yw)p(w)=argwmaxlogp(Yw)p(w)=argwmax(logp(Yw)+logp(w))=argwmin[(ywTx)2+σ02σ2wTw] 这里省略了 X X X p ( Y ) p(Y) p(Y) w w w 没有关系,同时也利用了上面高斯分布的 MLE的结果。

我们将会看到,超参数 σ 0 \sigma_0 σ0的存在和下面会介绍的 Ridge 正则项可以对应,同样的如果将先验分布取为 Laplace 分布,那么就会得到和 L1 正则类似的结果。

5 小结

线性回归模型是最简单的模型,但是麻雀虽小,五脏俱全,在这里,我们利用最小二乘误差得到了闭式解。同时也发现,在噪声为高斯分布的时候,MLE 的解等价于最小二乘误差,而增加了正则项后,最小二乘误差加上 L2 正则项等价于高斯噪声先验下的 MAP解,加上 L1 正则项后,等价于 Laplace 噪声先验

传统的机器学习方法或多或少都有线性回归模型的影子:

  1. 线性模型往往不能很好地拟合数据,因此有三种方案克服这一劣势:
    • 对特征的维数进行变换,例如多项式回归模型就是在线性特征的基础上加入高次项。
    • 在线性方程后面加入一个非线性变换,即引入一个非线性的激活函数,典型的有线性分类模型如感知机。
    • 对于一致的线性系数,我们进行多次变换,这样同一个特征不仅仅被单个系数影响,例如多层感知机(深度前馈网络)。
  2. 线性回归在整个样本空间都是线性的,我们修改这个限制,在不同区域引入不同的线性或非线性,例如线性样条回归和决策树模型。
  3. 线性回归中使用了所有的样本,但是对数据预先进行加工学习的效果可能更好(所谓的维数灾难,高维度数据更难学习),例如 PCA 算法和流形学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值