线性回归推导
视频参考:白板推导
一. 回顾
对于一元线性回归模型, 假设从总体中获取了n组观察值(X1,Y1),(X2,Y2), …,(Xn,Yn)。对于平面中的这n个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。 选择最佳拟合曲线的标准可以确定为:使总的拟合误差(即总残差)达到最小。有以下三个标准可以选择:
- 用“残差和最小”确定直线位置是一个途径。但很快发现计算“残差和”存在相互抵消的问题。
- 用“残差绝对值和最小”确定直线位置也是一个途径。但绝对值的计算比较麻烦。
- 最小二乘法的原则是以“残差平方和最小”确定直线位置。用最小二乘法除了计算比较方便外,得到的估计量还具有优良特性。这种方法对异常值非常敏感。
最常用的是普通最小二乘法( Ordinary Least Square,OLS):所选择的回归模型应该使所有观察值的残差平方和达到最小。(Q为残差平方和)- 即采用平方损失函数.
二.最小二乘法推导
2.1.前置条件:
对于N个数据集
D=(x1,y1),((x2,y2)⋅⋅⋅⋅⋅⋅(xN,yN)
其中xi ∈ℝp,yi∈ℝ,i =1,2,3,……N
在机器学习中常把向量定义为列向量,所以我们令feature值为X,label值为Y,即:
X=(x1,x2……xN)T=⎣⎢⎢⎢⎡x11x21⋮xP1x12x22⋮xP2⋯⋯⋱⋯x1Nx2N⋮xPN⎦⎥⎥⎥⎤
Y=⎣⎢⎢⎢⎡y1y2⋮yN⎦⎥⎥⎥⎤
2.1.最小二乘法就损失函数极小值:
构建线性模型:
y=wTx
则对于损失函数
L(w)=i=1∑n∣∣wTxi−yi∣∣2
因为结果是一个实数,所以可以将式子直接改写为:
L(w)=i=1∑n(wTxi−yi)2
则:
L(w)=i=1∑n(wTxi−yi)2=(wTx1−y1wTx2−y2⋯wTxN−yN)⎝⎜⎜⎜⎛wTx1−y1wTx2−y2⋮wTxN−yN⎠⎟⎟⎟⎞=(wTx1−y1wTx2−y2⋯wTxN−yN)(wTx1−y1wTx2−y2⋯wTxN−yN)T
括号中的式子可以看做是两个向量相减:
(wTx1−y1wTx2−y2⋯wTxN−yN)=(wTx1wTx2⋯wTxN)−(y1y2⋯yN)=wT(x1x2⋯xN)−(y1y2⋯yN)
因为
X=(x1x2⋯xN)TY=(y1y2⋯yN)T
所以损失函数可以写成:
L(w)=(wTXT−YT)(wTXT−YT)T=(wTXT−YT)(Xw−Y)=wTXTXw−YTXw−wTXTY+YTY
因为损失函数是一个实数,所以式中的每一个函数皆为实数,所以
∣YTXw∣=∣(YTXw)T∣=∣wTXTY∣
所以最终损失函数:
L(w)=wTXTXw−2wTXTY+YTY
令损失函数最小求得的w就是我们的目标,即损失函数对w求导为0:
dL(w)/dw=2XTXw−2YTX=0
求得
w=(XTX)−1XTY
这就是最小二乘法的解法,就是求得损失函数的极值点。
3.岭回归推导
引入岭回归是因为最小二乘法中是假定XTX是一定可逆的。但是当数据量过少或者特征存在多重共线性时,XTX可能不可逆。所以引入岭回归处理。岭回归的本质是正则化,是为了防止模型过拟合而加上一个惩罚系数。
正则化框架:
argmin[L(w)+λP(w)]
其中P(w)就是惩罚项。
正则化分为L1回归和L2回归。
- Li回归中:P(w) = ||w||1
- L2回归中:P(w) = ||w||22= wTw
则:
J(w)=i=1∑n(wTxi−yi)2+λwTw=(wTXT−YT)(Xw−Y)+λwTw=wTXTXw−YTXw−wTXTY+YTY+λwTw
即:(矩阵求导与最小二乘法相同)
J(w)=wT(XTX+λI)w−2wTXTY+YTY
则
w=argmin(J(w))
J(w)对w求导:
dJ(w)/dw=2(XTX+λI)w−2YTX=0
解得:
w=w=(XTX+λI)−1XTY
4.注
- 矩阵的转置
(AB)T=BTAT
- 矩阵求导
