线性回归

解析解#

最小二乘法求极值#

对于p维数据,多元线性回归使用p元线性函数y=a1x1+a2x2++apxp+a0拟合真实数据分布。此时预测数据y^与真实数据y的均方误差MES=1ni=1n(j=1pajxij+a0yi)2
如果把预测数据y^写成矩阵形式Y^=XA,其中
X=(1x11x12x1p1x21x22x2p1xn1xn2xnp)A=(a0a1ap)T
那么,均方误差MSE=1nY^Y2 ,其中Y^=XAY=(y1y2yn)T
此时,我们的目标函数是A^=argminAMES,其中1n对结果不产生影响,为了方便后面计算我们重新定义argminAMES中的MES=Y^Y2
MES化简可得
MES=(Y^Y)T(Y^Y)=ATXTXA2ATXTY+YTY
我们通过对A求偏导,令偏导数等于0。
MESA=2XTXA2XTY=0XTXA=XTY
最终解得
A^=(XTX)1XTY

极大似然估计法#

数据集:X=(1x11x12x1p1x21x22x2p1xn1xn2xnp)参数向量:A=(a0a1ap)T标签:Y=(y1y2yn)T
我们令X的第i行构成的列向量为xi
我们做如下假设:
预测数据y^与真实数据y的误差ϵN(0,σ2)。因为y=ATx+ϵ,所以yN(ATx,σ2)
密度函数f(y)=12πσe(yATx)22σ2,根据极大似然估计法估计参数A的值。
似然函数L(A)=i=1n12πσe(yiATxi)22σ2
取对数后得到
lnL(A)=i=1nln12πσ+i=0nlne(yiATxi)22σ2argmaxAlnL(A)=argminAi=0n(yiATxi)2
我们不难推导出i=0n(yiATxi)2=XAY2,推导过程如下:
i=0n(yiATxi)2=i=0n(ATxiyi)2
上式根据求和符号逐项拆开可得
(ATx1y1,ATx2y2,...,ATxnyn)(ATx1y1,ATx2y2,...,ATxnyn)T
左边一项可以写成ATXTYT=(XAY)T,左边一项是左边项的转置,故右边项为(XAY)
所以i=0n(yiATxi)2=(XAY)T(XAY)=XAY2
综上所述argmaxAlnL(A)=argminAXAY2,求解过程过程和最小二乘法求极值法一致

几何角度#

对于预测向量y^=a0+a1x1+a2x2++apxp,可以看成p+1个列向量1,x1,x2,...,xp的线性组合,系数构成稀疏向量A。实际的标签向量Yp+1个列向量张成的空间外的一个向量。
我们的目标是在p+1个列向量张成的空间中寻求出Y^,使得YY^的距离最小。显然当YY^p+1个列向量张成的空间垂直时YY^的距离最小。
此时(1,x1,x2,...,xp)T(YY^)=XT(YY^)=0
XT(YXA)=0XTYXTXA=0A=(XTX)1XTY

梯度下降优化求解#

线性回归系数解析解A=(XTX)1XTY,可以看到对于解析解必须满足数据矩阵X是列满秩的,否则不能求出XTX的逆矩阵。
有时我们并不需要求出解析解,此时我们就可以使用梯度下降的方法优化损失函数,求解系数向量A。
我们有损失函数L=1nY^Y2,使用梯度下降法,不断更新A的值。

posted @   crazypigf  阅读(39)  评论(0编辑  收藏  举报
 
点击右上角即可分享
微信分享提示
主题色彩