线性回归适用于数值型数据,目的是对数据进行预测。线性回归的一般模型可以表示为:



y=θ0+∑i=1mθixi



x=(1,x1,…,xn)T,θ=(θ0,θ1,…,θn)T,则上式可以重写为



y=θTx=xTθ

在线性回归中,损失函数是平方损失 L(y,f(x))=(y−f(x))2
假设给定数据集 T={(x1,y1),(x2,y2),…,(xm,ym)},
假设xi=(1,x1i,…,xni)T,y=(y1,y2,…,ym)T,X=(xT1,…,xTm)T, 则线性回归的矩阵形式为


y=Xθ


经验风险为



R=∑i=1m(yi−xTiθ)2=(y−Xθ)T(y−Xθ)



θ 求导数



∂R∂θ=−2XT(y−Xθ)=0


得到

θ^=(XTX)−1XTy

值得注意的是,上述公式中包含

(XTX)−1,因此这个方程只有个逆矩阵存在时才有用。该方法称为 普通最小二乘法(ordinary least squares)。

线性回归的一个问题是有可能出现欠拟合现象,因为它求的是具有最小均方差的无偏估计量。如果模型欠拟合,则不能取得很好的效果。所以有些方法允许在估计中引入一些偏差,从而降低均方误差。其中一个方差就是局部加权线性回归(Locally weighted Linear regression)。

在该算法中,我们给带预测点附近的每个点赋予一定的权重,然后以加权的平方误差为目标函数,求解参数向量。
在普通最小二乘法中,目标函数为


R=∑i=1m(yi−xTiθ)2


而在LWLR中,目标函数为



R=∑i=1mwi(yi−xTiθ)2


其中,

wi 是指样本 xi相对于待预测变量 x的权重。

LWLR使用 “核”来对附近的点赋予更高的权重,最常用的是高斯核,高斯核对应的权重如下:

W(i,i)=exp(|xi−x|−2k2)


这样就构建了一个只含对角元素的权重矩阵

W.

假设V是一个对角矩阵,且 V∗V=W, 即 Vii=Wii−−−√,且有 VT=V,那么LWLR的损失函数可以用矩阵表示为



R=(V(y−Xθ))T(V(y−Xθ)),



θ求导得到



∂R∂θ=−2XTVTV(y−Xθ)=0


得到



θ^=(XTWX)−1XTWy

上面讨论到,如果XTX的逆矩阵不存在,则普通最小二乘法就会失效。比如,属性比样本多,则逆矩阵不存在。解决的办法是引入正则化项。下面,我们分别讨论岭回归(Ridge Regression)和lasso回归(lasso Regression)。

岭回归是在目标函数中加入了L2正则化项,改进后的目标函数为


R=∑i=1m(yi−xTiθ)2+λ∑j=1nθ2j


或者可以写为:



min∑i=1m(yi−xTiθ)2s.t.∑j=1nθ2j≤t


目标函数的矩阵形式可以写为:



R=(y−Xθ)T(y−Xθ)+λθTθ


求导后得到:



∂R∂θ=−2XT(y−Xθ)+2λθ=0


结果为



θ^=(XTX+λI)−1XTy


其中,

I为单位矩阵。

岭回归相当于在矩阵XTX上加上一个 λI从而使得矩阵非奇异,进而能对其求逆.

如果在目标函数中加入L1正则化项,则得到了Lasso (Least Absolute Shrinkage and Selection Operator)回归。lasso回归的目标函数可以写为:


R=∑i=1m(yi−θTxi)2+λ∑j=1n|θj|

或者可以写为:


min∑i=1m(yi−xTiθ)2s.t.∑j=1n|θj|≤t

因为L1正则化不可导,所以我们不在继续讨论。具如果有兴趣

参考文档:
《机器学习实战》
《The Elements of Statistical Learning 》
《斯坦福机器学习讲义(全)Stanford_Machine_Leaning》