线性回归
一、概述
假设有以下数据:
D={(x1,y1),(x2,y2),⋯,(xN,yN)}xi∈Rp,yi∈R,i=1,2,⋯,NX=(x1,x1,⋯,xN)T=⎝⎛x1Tx2T⋮xNT⎠⎞=⎝⎛x11x21⋮xN1x12x22⋮xN2⋯⋯⋱⋯x1px2p⋮xNp⎠⎞N×pY=⎝⎛y1y2⋮yN⎠⎞N×1
这些数据符合下图关系 (以一维数据为例),这里的函数 f(w) 忽略了偏置 b :

二、最小二乘估计
L(w)=i=1∑N∥∥wTxi−yi∥∥22=i=1∑N(wTxi−yi)2=wTXT−YTwT(x1x2⋯xN)−(y1y2⋯yN)(wTx1wTx2⋯wTxN)−(y1y2⋯yN)(wTx1−y1wTx2−y2⋯wTxN−yN)⎝⎛wTx1−y1wTx2−y2⋮wTxN−yN⎠⎞=(wTXT−YT)(Xw−Y)=wTXTXw−wTXTY−YTXw+YTY=wTXTXw−2wTXTY+YTY
接下来通过对 w 求导就可以解得参数 w :
w^=argminL(w)∂w∂L(w)=2XTXw−2XTY=0 得出 w=X+,伪逆 (XTX)−1XTY
以上未考虑偏执 b ,如果考虑的话则可以为 w 添加一个维度,同时也为 x 添加一个维度并使得添加的维度的值为 1 ,然后使用同样的求解方法即可。
其中有几个注意点:
- 从wTx1−y1...到Xw−Y,是矩阵的转置造成的
- wTXTY与YTXw能合并是因为他们均为一维。
- 科普几个矩阵转置求导的知识
- 矩阵转置
(A+B)T=AT+BT(AB)T=BTAT
2.矩阵求导
∂x∂Ax=AT∂xT∂Ax=A∂x∂xTA=A∂x∂xTAx=(AT+A)x
三、线性回归的几何解释
- 每个样本点的误差的总和
使用最小二乘法可以看做损失函数是每个样本的误差的总和,每个样本的误差即是 yi 与 wTxi 的差,如下图所示:

- Y 在 X 的列空间上的投影
一组向量的生成子空间 (span) 是原始向量线性组合后所能抵达的点的集合。确定方程 Ax=b 是否有解,相当于确定向量 b 是否在 A 列向量的生成子空间中。这个特殊的生成子空间被称为 A 的列空间 (column space) 或者 A 的值域 (range)。
我们的目的是为了求解 w 使得 Xw=Y ,显然这个方程一般是无解的,即 Y 一般不在 X 的列空间中,因为样本点一般是散落在某条直线周围,所有的样本点准确地落在同一条直线上的情况少之又少。
对于 Xw=f(w) ,为了使 f(w) 与 Y 最接近,则 f(w) 就应该是 Y 在 X 的列空间中的投影,如下图所示,以 p=2 为例:

Y−Xw 就应该与每一个 ⎝⎛x1ix2i⋮xNi⎠⎞ 都垂直,即 XT(Y−Xw)=0p×1 ,则可以直接解得 w=(XTX)−1XTY
四、最小二乘法与极大似然估计
可以认为实际值与估计值之间的差是一个高斯噪声,即 y 和 f(w) 满足关系 y=f(w)+ε=+ε ,其中 ε 是高斯噪声,满足 ε∼N(0,σ2) ,wTx可以看做常数,因此 y∣x;w∼N(wTx,σ2) ,即 P(y∣x;w)=2πσ1exp{−2σ2(y−wTx)2}
可以使用极大似然估计法来进行求解:
L(w)=logP(Y∣X;w)=logi=1∏NP(yi∣xi;w)=i=1∑NlogP(yi∣xi;w)=i=1∑N(log2π1+logexp{−2σ2(yi−wTxi)2})=i=1∑N(log2π1−2σ2(yi−wTxi)2)w^=argmaxL(w)=wargmaxi=1∑N(log2π1−2σ2(yi−wTxi)2)=wargmaxi=1∑N−2σ2(yi−wTxi)2=wargmini=1∑N(yi−wTxi)2=wargmini=1∑N∥∥wTxi−yi∥∥22 (最小二乘法)
可以看到最小二乘法与噪声为高斯噪声时的极大似然估计法是等价的。
五、线性回归的正则化
- 高维小样本的问题
w^=(XTX)−1XTY
当样本数N远大于维度p时XTX可逆,而当出现高维小样本的情况即维度p大于样本数N时,XTX就不可逆,这种时候就容易出现过拟合的情况。
- 处理过拟合的方法
面对上述过拟合的现象有一些解决方案,主要有 ⎩⎨⎧ 增加数据量 特征选择/特征提取 正则化
特征选择指的是根据某种规则去掉一些特征来实现降维;特征提取的方法例如主成分分析 (PCA),也是实现降维;正则化的方法指给损失函数添加惩罚项来避免过拟合。
- 正则化的方法
通过最小化 J(w)= loss L(w)+penaltyλP(w) 来实现正则化,主要有L1正则化和L2正则化(也叫岭回归、权重衰减)。
{ L1正则化 ( Lasso ):P(w)=∥w∥1 L2正则化 ( Ridge ):P(w)=∥w∥22
下面为L2正则化的求解过程:
J(w)=L(w)+λP(w)=(wTXT−YT)(Xw−Y)+λwTw=wTXTXw−2wTXTY+YTY+λwTw=wT(XTX+λI)w−2wTXTY+YTYw^=wargminJ(w)∂w∂J(w)=2(XTX+λI)w−2XTY=0w^=(XTX+λI)−1XTY
半正定矩阵 XTX 加上对角矩阵 λI 一定是可逆的,可以解决 XTX可能不可逆带来的问题。
六、最小二乘法与最大后验估计
- 已知
仍然认为实际值与估计值之间的差是一个高斯噪声,即 y 和 f(w) 满足关系:
y=f(w)+ε=wTx+ε其中ε是高斯噪声,满足ε∼N(0,σ2)因此y∣x;w∼N(wTx,σ2),即P(y∣x;w)=2πσ1exp{−2σ2(y−wTx)2}
另外假设参数 w 服从先验分布:
w∼N(0,σ02), 即 P(w)=2πσ01exp{−2σ02∥w∥22}后验概率为P(w∣Y)=P(Y)P(Y∣w)P(w)(这里的Y指Y∣X,为书写简单而省略。)
- 最大后验估计法求解参数 w
w^=wargmaxP(w∣Y)=wargmaxP(Y)P(Y∣w)P(w)=wargmaxP(Y∣w)P(w)=wargmaxlogP(Y∣w)P(w)=wargmaxlogi=1∏NP(yi∣w)P(w)=wargmaxi=1∑NlogP(yi∣w)P(w)=wargmaxi=1∑Nlog(2πσ12πσ01exp{−2σ2(y−wTx)2−2σ02∥w∥22})=wargmaxi=1∑N(log2πσ12πσ01+logexp{−2σ2(y−wTx)2−2σ02∥w∥22})=wargmaxi=1∑N(−2σ2(y−wTx)2−2σ02∥w∥22)=wargmini=1∑N(2σ2(y−wTx)2+2σ02∥w∥22)=wargmini=1∑N(LSE(y−wTx)2+λσ02σ2∥w∥22)
可以看到正则化的最小二乘法与噪声为高斯噪声且先验也是高斯分布时的最大后验估计法是等价的。
七、总结
LSE⇔MLE (noise为Gaussian Distribution) RegularizedLSE⇔MAP(noise、prior为GaussianDistribution)
线性回归模型是最简单的模型,但是麻雀虽小,五脏俱全,在这里,我们利用最小二乘误差得到了闭式解。同时也发现,在噪声为高斯分布的时候,MLE 的解等价于最小二乘误差,而增加了正则项后,最小二乘误差加上 L2 正则项等价于高斯噪声先验下的 MAP解,加上 L1 正则项后,等价于 Laplace 噪声先验。
传统的机器学习方法或多或少都有线性回归模型的影子:
- 线性模型往往不能很好地拟合数据,因此有三种方案克服这一劣势:
- 对特征的维数进行变换,例如多项式回归模型就是在线性特征的基础上加入高次项。
- 在线性方程后面加入一个非线性变换,即引入一个非线性的激活函数,典型的有线性分类模型如感知机。
- 对于一致的线性系数,我们进行多次变换,这样同一个特征不仅仅被单个系数影响,例如多层感知机(深度前馈网络)。
- 线性回归在整个样本空间都是线性的,我们修改这个限制,在不同区域引入不同的线性或非线性,例如线性样条回归和决策树模型。
- 线性回归中使用了所有的样本,但是对数据预先进行加工学习的效果可能更好(所谓的维数灾难,高维度数据更难学习),例如 PCA 算法和流形学习。