线性回归|机器学习推导系列(三)

一、概述

假设有以下数据:

D={(x1,y1),(x2,y2),,(xN,yN)}xiRp,yiR,i=1,2,,NX=(x1,x1,,xN)T=(x1Tx2TxNT)=(x11x12x1px21x22x2pxN1xN2xNp)N×pY=(y1y2yN)N×1D=\left \{(x_{1},y_{1}),(x_{2},y_{2}),\cdots ,(x_{N},y_{N})\right \}\\ x_{i}\in \mathbb{R}^{p},y_{i}\in \mathbb{R},i=1,2,\cdots ,N\\ X=(x_{1},x_{1},\cdots ,x_{N})^{T}=\begin{pmatrix} x_{1}^{T}\\ x_{2}^{T}\\ \vdots \\ x_{N}^{T} \end{pmatrix}=\begin{pmatrix} x_{11} & x_{12} & \cdots &x_{1p} \\ x_{21} & x_{22}& \cdots &x_{2p} \\ \vdots & \vdots & \ddots &\vdots \\ x_{N1}& x_{N2} & \cdots & x_{Np} \end{pmatrix}_{N \times p}\\ Y=\begin{pmatrix} y_{1}\\ y_{2}\\ \vdots \\ y_{N} \end{pmatrix}_{N \times 1}

这些数据符合下图关系(以一维数据为例),这里的函数f(w)f(w)忽略了偏置bb

线性回归|机器学习推导系列(三)

二、最小二乘估计

L(w)=i=1NwTxiyi22=i=1N(wTxiyi)2=(wTx1y1wTx2y2wTxNyN)(wTx1wTx2wTxN)(y1y2yN)wT(x1x2xN)(y1y2yN)wTXTYT(wTx1y1wTx2y2wTxNyN)=(wTXTYT)(XwY)=wTXTXwwTXTYYTXw+YTY=wTXTXw2wTXTY+YTYL(w)=\sum_{i=1}^{N}\left \| w^{T}x_{i}-y_{i}\right \|_{2}^{2}\\ =\sum_{i=1}^{N}(w^{T}x_{i}-y_{i})^{2}\\ =\underset{\underset{\underset{w^{T}X^{T}-Y^{T}}{\underbrace{w^{T}\begin{pmatrix} x_{1} & x_{2} & \cdots & x_{N} \end{pmatrix}-\begin{pmatrix} y_{1} & y_{2} & \cdots & y_{N} \end{pmatrix}}}}{\underbrace{\begin{pmatrix} w^{T}x_{1} & w^{T}x_{2} & \cdots & w^{T}x_{N} \end{pmatrix}-\begin{pmatrix} y_{1} & y_{2} & \cdots & y_{N} \end{pmatrix}}}}{\underbrace{\begin{pmatrix} w^{T}x_{1}-y_{1} & w^{T}x_{2}-y_{2} & \cdots & w^{T}x_{N}-y_{N} \end{pmatrix}}}\begin{pmatrix} w^{T}x_{1}-y_{1}\\ w^{T}x_{2}-y_{2}\\ \vdots \\ w^{T}x_{N}-y_{N} \end{pmatrix}\\ =(w^{T}X^{T}-Y^{T})(Xw-Y)\\ =w^{T}X^{T}Xw-w^{T}X^{T}Y-Y^{T}Xw+Y^{T}Y\\ =w^{T}X^{T}Xw-2w^{T}X^{T}Y+Y^{T}Y

接下来通过对ww求导就可以解得参数w:

w^=argminL(w)L(w)w=2XTXw2XTY=0w=(XTX)1XTX+Y\hat{w}=argminL(w)\\ \frac{\partial L(w)}{\partial w}=2X^{T}Xw-2X^{T}Y=0\\ 得出w=\underset{X^{+},伪逆}{\underbrace{(X^{T}X)^{-1}X^{T}}}Y

以上未考虑偏执bb,如果考虑的话则可以为ww添加一个维度,同时也为xx添加一个维度并使得添加的维度的值为11,然后使用同样的求解方法即可。.

三、线性回归的几何解释

  1. 每个样本点的误差的总和

使用最小二乘法可以看做损失函数是每个样本的误差的总和,每个样本的误差即是yiy_{i}wTxiw^{T}x_{i}的差,如下图所示:

线性回归|机器学习推导系列(三)

  1. YYXX的列空间上的投影

一组向量的生成子空间(span)是原始向量线性组合后所能抵达的点的集合。确定方程Ax=bAx=b是否有解,相当于确定向量bb是否在AA列向量的生成子空间中。这个特殊的生成子空间被称为AA的列空间(column space)或者AA的值域(range)。

我们的目的是为了求解ww使得Xw=YXw=Y,显然这个方程一般是无解的,即YY一般不在XX的列空间中,因为样本点一般是散落在某条直线周围,所有的样本点准确地落在同一条直线上的情况少之又少。

对于Xw=f(w)Xw=f(w),为了使f(w)f(w)YY最接近,则f(w)f(w)就应该是YYXX的列空间中的投影,如下图所示,以p=2p=2为例:

线性回归|机器学习推导系列(三)

YXwY-Xw就应该与每一个(x1ix2ixNi)\begin{pmatrix} x_{1i}\\ x_{2i}\\ \vdots \\ x_{Ni} \end{pmatrix}都垂直,即XT(YXw)=0p×1X^{T}(Y-Xw)=0_{p\times1},则可以直接解得w=(XTX)1XTYw=(X^{T}X)^{-1}X^{T}Y

四、最小二乘法与极大似然估计

可以认为实际值与估计值之间的差是一个高斯噪声,即yyf(w)f(w)满足关系$y=f(w)+\varepsilon =w^{T}x+\varepsilon ,其中\varepsilon是高斯噪声,满足\varepsilon\sim N(0,\sigma ^{2}),因此y|x;w\sim N(w^{T}x,\sigma ^{2}),即P(y|x;w)=\frac{1}{\sqrt{2\pi }\sigma }exp\left {-\frac{(y-w{T}x){2}}{2\sigma ^{2}}\right }$可以使用极大似然估计法来进行求解:

L(w)=logP(YX;w)=logi=1NP(yixi;w)=i=1NlogP(yixi;w)=i=1N(log12π+logexp{(yiwTxi)22σ2})=i=1N(log12π(yiwTxi)22σ2)w^=argmaxwL(w)=argmaxwi=1N(log12π(yiwTxi)22σ2)=argmaxwi=1N(yiwTxi)22σ2=argminwi=1N(yiwTxi)2=argminwi=1NwTxiyi22()L(w)=logP(Y|X;w)\\ =log\prod_{i=1}^{N}P(y_{i}|x_{i};w)\\ =\sum_{i=1}^{N}logP(y_{i}|x_{i};w)\\ =\sum_{i=1}^{N}(log\frac{1}{\sqrt{2\pi }}+log\, exp\left \{-\frac{(y_{i}-w^{T}x_{i})^{2}}{2\sigma ^{2}}\right \})\\ =\sum_{i=1}^{N}(log\frac{1}{\sqrt{2\pi }}-\frac{(y_{i}-w^{T}x_{i})^{2}}{2\sigma ^{2}})\\ \hat{w}=\underset{w}{argmax}L(w)\\ =\underset{w}{argmax}\sum_{i=1}^{N}(log\frac{1}{\sqrt{2\pi }}-\frac{(y_{i}-w^{T}x_{i})^{2}}{2\sigma ^{2}})\\=\underset{w}{argmax}\sum_{i=1}^{N}-\frac{(y_{i}-w^{T}x_{i})^{2}}{2\sigma ^{2}}\\ =\underset{w}{argmin}\sum_{i=1}^{N}(y_{i}-w^{T}x_{i})^{2}\\ =\underset{w}{argmin}\sum_{i=1}^{N}\left \| w^{T}x_{i}-y_{i}\right \|_{2}^{2}\\ (最小二乘法)

可以看到最小二乘法与噪声为高斯噪声时的极大似然估计法是等价的。

五、线性回归的正则化

  1. 高维小样本的问题

w^=(XTX)1XTY\hat{w}=(X^{T}X)^{-1}X^{T}Y

当样本数NN远大于维度ppXTXX^{T}X可逆,而当出现高维小样本的情况即维度pp大于样本数NN时,XTXX^{T}X就不可逆,这种时候就容易出现过拟合的情况。

  1. 处理过拟合的方法

面对上述过拟合的现象有一些解决方案,主要有{/\left\{\begin{matrix} 增加数据量\\ 特征选择/特征提取\\ 正则化 \end{matrix}\right.

特征选择指的是根据某种规则去掉一些特征来实现降维;特征提取的方法例如主成分分析(PCA),也是实现降维;正则化的方法指给损失函数添加惩罚项来避免过拟合。

  1. 正则化的方法

通过最小化J(w)=L(w)loss+λP(w)penaltyJ(w)=\underset{loss}{\underline{L(w)}}+\lambda \underset{penalty}{\underline{P(w)}}来实现正则化,主要有L1正则化和L2正则化(也叫岭回归、权重衰减)。

{L1(Lasso)P(w)=w1L2(Ridge)P(w)=w22\left\{\begin{matrix} L1正则化(Lasso):P(w)=\left \| w\right \|_{1}\\ L2正则化(Ridge):P(w)=\left \| w\right \|_{2}^{2} \end{matrix}\right.

下面为L2正则化的求解过程:

J(w)=L(w)+λP(w)=(wTXTYT)(XwY)+λwTw=wTXTXw2wTXTY+YTY+λwTw=wT(XTX+λI)w2wTXTY+YTYw^=argminwJ(w)J(w)w=2(XTX+λI)w2XTY=0w^=(XTX+λI)1XTYJ(w)=L(w)+\lambda P(w)\\ =(w^{T}X^{T}-Y^{T})(Xw-Y)+\lambda w^{T}w\\ =w^{T}X^{T}Xw-2w^{T}X^{T}Y+Y^{T}Y+\lambda w^{T}w\\ =w^{T}(X^{T}X+\lambda I)w-2w^{T}X^{T}Y+Y^{T}Y\\ \hat{w}=\underset{w}{argmin}J(w)\\ \frac{\partial J(w)}{\partial w}=2(X^{T}X+\lambda I)w-2X^{T}Y=0\\ \hat{w}=(X^{T}X+\lambda I)^{-1}X^{T}Y

半正定矩阵XTXX^{T}X加上对角矩阵λI\lambda I一定是可逆的,可以解决XTXX^{T}X可能不可逆带来的问题。

六、最小二乘法与最大后验估计

  1. 已知

仍然认为实际值与估计值之间的差是一个高斯噪声,即yyf(w)f(w)满足关系:

y=f(w)+ε=wTx+εεεN(0,σ2)yx;wN(wTx,σ2)P(yx;w)=12πσexp{(ywTx)22σ2}y=f(w)+\varepsilon =w^{T}x+\varepsilon \\ 其中\varepsilon是高斯噪声,满足\varepsilon\sim N(0,\sigma ^{2})\\ 因此y|x;w\sim N(w^{T}x,\sigma ^{2}),即P(y|x;w)=\frac{1}{\sqrt{2\pi }\sigma }exp\left \{-\frac{(y-w^{T}x)^{2}}{2\sigma ^{2}}\right \}

另外假设参数ww的服从先验分布:

wN(0,σ02)P(w)=12πσ0exp{w222σ02}P(wY)=P(Yw)P(w)P(Y)(YYX)w\sim N(0,\sigma _{0}^{2}),即P(w)=\frac{1}{\sqrt{2\pi }\sigma_{0}}exp\left \{-\frac{\left \| w\right \|_{2}^{2}}{2\sigma _{0}^{2}}\right \}\\ 后验概率为P(w|Y)=\frac{P(Y|w)P(w)}{P(Y)}(这里的Y指Y|X,为书写简单而省略。)

  1. 最大后验估计法求解参数ww

w^=argmaxwP(wY)=argmaxwP(Yw)P(w)P(Y)=argmaxwP(Yw)P(w)=argmaxwlogP(Yw)P(w)=argmaxwlogi=1NP(yiw)P(w)=argmaxwi=1NlogP(yiw)P(w)=argmaxwi=1Nlog(12πσ12πσ0exp{(ywTx)22σ2w222σ02})=argmaxwi=1N(log12πσ12πσ0+logexp{(ywTx)22σ2w222σ02})=argmaxwi=1N((ywTx)22σ2w222σ02)=argminwi=1N((ywTx)22σ2+w222σ02)=argminwi=1N((ywTx)2LSE+σ2σ02λw22)\hat{w}=\underset{w}{argmax}P(w|Y)\\ =\underset{w}{argmax}\frac{P(Y|w)P(w)}{P(Y)}\\ =\underset{w}{argmax}P(Y|w)P(w)\\ =\underset{w}{argmax}\, logP(Y|w)P(w)\\ =\underset{w}{argmax}\, log\prod_{i=1}^{N}P(y_{i}|w)P(w)\\ =\underset{w}{argmax}\sum_{i=1}^{N}logP(y_{i}|w)P(w)\\ =\underset{w}{argmax}\sum_{i=1}^{N}log(\frac{1}{\sqrt{2\pi }\sigma}\frac{1}{\sqrt{2\pi }\sigma_{0}}exp\left \{-\frac{(y-w^{T}x)^{2}}{2\sigma ^{2}}-\frac{\left \| w\right \|_{2}^{2}}{2\sigma _{0}^{2}}\right \})\\ =\underset{w}{argmax}\sum_{i=1}^{N}(log\frac{1}{\sqrt{2\pi }\sigma}\frac{1}{\sqrt{2\pi }\sigma_{0}}+log\, exp\left \{-\frac{(y-w^{T}x)^{2}}{2\sigma ^{2}}-\frac{\left \| w\right \|_{2}^{2}}{2\sigma _{0}^{2}}\right \})\\ =\underset{w}{argmax}\sum_{i=1}^{N}(-\frac{(y-w^{T}x)^{2}}{2\sigma ^{2}}-\frac{\left \| w\right \|_{2}^{2}}{2\sigma _{0}^{2}})\\ =\underset{w}{argmin}\sum_{i=1}^{N}(\frac{(y-w^{T}x)^{2}}{2\sigma ^{2}}+\frac{\left \| w\right \|_{2}^{2}}{2\sigma _{0}^{2}})\\ =\underset{w}{argmin}\sum_{i=1}^{N}(\underset{LSE}{\underbrace{(y-w^{T}x)^{2}}}+\underset{\lambda }{\underbrace{\frac{\sigma ^{2}}{\sigma _{0}^{2}}}}\left \| w\right \|_{2}^{2})

可以看到正则化的最小二乘法与噪声为高斯噪声且先验也是高斯分布时的最大后验估计法是等价的。

  1. 总结

LSEMLE(noiseGaussianDistribution)RegularizedLSEMAP(noisepriorGaussianDistribution)LSE\Leftrightarrow MLE(noise为Gaussian Distribution)\\ Regularized \: LSE\Leftrightarrow MAP(noise、prior为Gaussian Distribution)