解析解#
最小二乘法求极值#
对于p维数据,多元线性回归使用p元线性函数y=a1x1+a2x2+⋯+apxp+a0拟合真实数据分布。此时预测数据^y与真实数据y的均方误差MES=1n∑ni=1(∑pj=1ajxij+a0−yi)2。
如果把预测数据^y写成矩阵形式^Y=XA,其中
X=⎛⎜
⎜
⎜
⎜
⎜⎝1x11x12⋯x1p1x21x22⋯x2p⋮⋮⋮⋱⋮1xn1xn2⋯xnp⎞⎟
⎟
⎟
⎟
⎟⎠A=(a0a1⋯ap)T
那么,均方误差MSE=1n∥∥^Y−Y∥∥2 ,其中^Y=XA,Y=(y1y2⋯yn)T。
此时,我们的目标函数是^A=argminAMES,其中1n对结果不产生影响,为了方便后面计算我们重新定义argminAMES中的MES=∥∥^Y−Y∥∥2。
对MES化简可得
MES=(^Y−Y)T(^Y−Y)=ATXTXA−2ATXTY+YTY
我们通过对A求偏导,令偏导数等于0。
∂MES∂A=2XTXA−2XTY=0⇒XTXA=XTY
最终解得
^A=(XTX)−1XTY
极大似然估计法#
数据集:X=⎛⎜
⎜
⎜
⎜
⎜⎝1x11x12⋯x1p1x21x22⋯x2p⋮⋮⋮⋱⋮1xn1xn2⋯xnp⎞⎟
⎟
⎟
⎟
⎟⎠参数向量:A=(a0a1⋯ap)T标签:Y=(y1y2⋯yn)T
我们令X的第i行构成的列向量为xi
我们做如下假设:
预测数据^y与真实数据y的误差ϵ∼N(0,σ2)。因为y=ATx+ϵ,所以y∼N(ATx,σ2)。
密度函数f(y)=1√2πσe(y−ATx)22σ2,根据极大似然估计法估计参数A的值。
似然函数L(A)=∏ni=11√2πσe(yi−ATxi)22σ2
取对数后得到
lnL(A)=∑ni=1ln1√2πσ+∑ni=0lne(yi−ATxi)22σ2⇒argmaxAlnL(A)=argminA∑ni=0(yi−ATxi)2
我们不难推导出∑ni=0(yi−ATxi)2=∥XA−Y∥2,推导过程如下:
∑ni=0(yi−ATxi)2=∑ni=0(ATxi−yi)2
上式根据求和符号逐项拆开可得
(ATx1−y1,ATx2−y2,...,ATxn−yn)(ATx1−y1,ATx2−y2,...,ATxn−yn)T
左边一项可以写成ATXT−YT=(XA−Y)T,左边一项是左边项的转置,故右边项为(XA−Y)
所以∑ni=0(yi−ATxi)2=(XA−Y)T(XA−Y)=∥XA−Y∥2
综上所述argmaxAlnL(A)=argminA∥XA−Y∥2,求解过程过程和最小二乘法求极值法一致
几何角度#
对于预测向量^y=a0+a1x1+a2x2+⋯+apxp,可以看成p+1个列向量1,x1,x2,...,xp的线性组合,系数构成稀疏向量A。实际的标签向量Y为p+1个列向量张成的空间外的一个向量。
我们的目标是在p+1个列向量张成的空间中寻求出^Y,使得Y和^Y的距离最小。显然当Y−^Y与p+1个列向量张成的空间垂直时Y和^Y的距离最小。
此时(1,x1,x2,...,xp)T(Y−^Y)=XT(Y−^Y)=0
即XT(Y−XA)=0⇒XTY−XTXA=0⇒A=(XTX)−1XTY

梯度下降优化求解#
线性回归系数解析解A=(XTX)−1XTY,可以看到对于解析解必须满足数据矩阵X是列满秩的,否则不能求出XTX的逆矩阵。
有时我们并不需要求出解析解,此时我们就可以使用梯度下降的方法优化损失函数,求解系数向量A。
我们有损失函数L=1n∥∥^Y−Y∥∥2,使用梯度下降法,不断更新A的值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步