简单线性回归 解析解 最小二乘法

本文详细介绍了简单线性回归,即一元线性回归的损失函数及其优化过程。通过梯度求解,得出最优解公式w∗=(xTx)−1xTypmb{w^*}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  这里所说的简单线性是指一元线性回归,即特征个数为1,样本个数为n个。符号表示中 y^i\hat y_iy^i 表示的是对第 i 个样本的预测值。所以损失函数为:

    L(w,b)=∑i=1n12(yi−y^i)2=∑i=1n12((wTxi+b)−yi)2=12(xw−y)T(xw−y)\large L(\pmb w, b) = \sum\limits_{i=1}^n \frac 12 (y_i - \hat y_i)^2 = \sum\limits_{i=1}^n \frac 12((\pmb w^T \pmb x_i + b) - y_i)^2 = \frac 12 (\pmb x\pmb w - \pmb y)^T(\pmb x \pmb w - \pmb y)L(ww,b)=i=1n21(yiy^i)2=i=1n21((wwTxxi+b)yi)2=21(xxwwyy)T(xxwwyy)

  在训练模型时,我们希望寻找一组参数 (w∗,b∗)(\pmb w^*, b^*)(ww,b), 这组参数能最小化在所有训练样本上的总损失。如下式:

    w∗,b∗=argminw,bL(w,b)\pmb w^*, b^* = argmin_{\pmb w, b} L(\pmb w, b)ww,b=argminww,bL(ww,b)

  由于此函数L(w,b)L(\pmb w, b)L(ww,b)是凸函数,所以极值点是最小值点。利用上述公式开始推导:

化简

  L(w,b)=12(xw−y)T(xw−y)\large L(\pmb w, b) = \large\frac 12 (\pmb x \pmb w - \pmb y)^T(\pmb x \pmb w - \pmb y)L(ww,b)=21(xxwwyy)T(xxwwyy)
    =12((xw)T−yT)(xw−y)=\large \frac 12((\pmb x \pmb w)^T - \pmb y^T)(\pmb x \pmb w - \pmb y)=21((xxww)TyyT)(xxwwyy)
    =12(wTxT−yT)(xw−y)= \large \frac 12 (\pmb w^T \pmb x^T - \pmb y^T)(\pmb x \pmb w - \pmb y)=21(wwTxxTyyT)(xxwwyy)
    =12(wTxTxw−wTxTy−yTxw+yTy)=\large \frac 12 (\pmb w^T \pmb x^T \pmb x\pmb w - \pmb w^T \pmb x^T \pmb y -\pmb y^T \pmb x \pmb w + \pmb y^T\pmb y)=21(wwTxxTxxwwwwTxxTyyyyTxxww+yyTyy)
注:

∂wTAw∂w=2Aw\large \frac {\partial \pmb w^T\pmb A \pmb w} {\partial\pmb w} = \pmb {2Aw}wwwwTAAww=2Aw2Aw

∂wTA∂w=A\large \frac {\partial \pmb{w^TA}} {\partial \pmb w} = \pmb AwwwTAwTA=AA

∂Aw∂w=AT\large \frac {\partial \pmb {Aw}} {\partial \pmb w} = \pmb A^TwwAwAw=AAT

w\pmb www进行求导:

∂L∂w=[12(wTxTxw−wTxTy−yTxw+yTy)]\large \frac {\partial L} {\partial \pmb w} = [\frac {\large 1} {\large 2} (\pmb w^T \pmb x^T \pmb x\pmb w - \pmb w^T \pmb x^T \pmb y -\pmb y^T \pmb x \pmb w + \pmb y^T\pmb y)]wwL=[21(wwTxxTxxwwwwTxxTyyyyTxxww+yyTyy)]

=12[(wTxTxw)′−(wTxTy)′−(yTxw)′+(yTy)′]\large = \frac {\large 1} {\large 2}[(\pmb w^T \pmb x^T \pmb x\pmb w)' - (\pmb w^T \pmb x^T \pmb y)' - (\pmb y^T \pmb x \pmb w)' + (\pmb y^T\pmb y)']=21[(wwTxxTxxww)(wwTxxTyy)(yyTxxww)+(yyTyy)]

=12[2xTxw−xTy−(yTx)T]\large = \frac {\large 1} {\large 2} [2\pmb x^T \pmb x \pmb w - \pmb x^T\pmb y - (\pmb y^T \pmb x)^T]=21[2xxTxxwwxxTyy(yyTxx)T]

=12[2xTxw−2xTy]\large = \frac {\large 1} {\large 2} [2\pmb x^T \pmb x \pmb w - 2\pmb x^T \pmb y]=21[2xxTxxww2xxTyy]

=xTxw−xTy\large = \pmb {x^Txw} - \pmb {x^Ty}=xTxwxTxwxTyxTy

假设我们找到了最优解,即梯度为0。将损失关于w\pmb www的导数设为0,得到解析解:

w∗=(xTx)−1xTy\large \pmb {w^*} = (\pmb x^T \pmb x)^{-1}\pmb x^T\pmb yww=(xxTxx)1xxTyy

或者当样本 iii 的预测值为y^i\large \hat y_iy^i,其相应的真实标签为yi\large y_iyi时, 平方误差可以定义为以下公式:

    li(w,b)=12(y^i−yi)2\large l_i(\pmb w, b) = \frac 12 (\hat y_i - y_i)^2li(ww,b)=21(y^iyi)2

由于平方误差函数中的二次方项, 估计值 y^i\large \hat y_iy^i 和观测值 yi\large y_iyi 之间较大的差异将导致更大的损失。 为了度量模型在整个数据集上的质量,我们需计算在训练集个样本上的损失均值(也等价于求和)

    L(w,b)=1n∑i=1nli(w,b)=1n∑i=1n12(wTxi+b−yi)2\large L(\pmb w, b) = \frac 1n \sum\limits_{i=1}^nl_i(\pmb w, b) = \frac 1n \sum\limits_{i=1}^n \frac12(\pmb w^T\pmb x_i + b - y_i)^2L(ww,b)=n1i=1nli(ww,b)=n1i=1n21(wwTxxi+byi)2

为了简化问题,可以忽略偏置(我们可以通过向添加所有值为1的一列来做到这一点)。也就是

X←[x,1]\pmb {X \leftarrow [x, 1]}X[x,1]X[x,1]

w←[wb]\pmb {w \leftarrow \begin{bmatrix} w \\ b \end{bmatrix}}w[wb]w[wb]

至此我们的预测问题(推导出使用平方误差的线性回归优化问题的解析解)是最小化

    l(X,y,w)=12n∣∣y−Xw∣∣2\large l(\pmb {X, y, w}) = \frac {\large 1} {\large 2n} || \pmb {y - Xw}||^2l(X,y,wX,y,w)=2n1∣∣yXwyXw2

注:

∂∣∣x2∣∣∂x=2xT\frac {\large \partial ||x^2||} {\large \partial x} = \large {2x^T}x∣∣x2∣∣=2xT

∂Ax∂x=A\frac {\large \partial Ax} {\large \partial x} = \large AxAx=A

计算损失函数对w\pmb www的梯度

∂∂wl(X,y,w)=1n(y−Xw)TX\frac {\large \partial} {\large \partial \pmb w} \large \pmb {l(X, y, w)} = \frac {\large 1} {\large n}(\pmb {y - Xw})^TXwwl(X,y,w)l(X,y,w)=n1(yXwyXw)TX

由于此函数l(X,y,w)\large l(\pmb {X, y, w})l(X,y,wX,y,w)是凸函数,所以极值点是最小值点。也就是在损失平面上只有一个临界点,这个临界点对应于整个区域的损失极小点。

将损失函数关于w\pmb www的导数设为0,求解矩阵方程来找到解析解

∂∂wl(X,y,w)=1n(y−Xw)TX=0\frac {\large \partial} {\large \partial \pmb w} \large \pmb {l(X, y, w)} = \frac {\large 1} {\large n}(\pmb {y - Xw})^TX = 0wwl(X,y,w)l(X,y,w)=n1(yXwyXw)TX=0

得到最优解

w∗=(XTX)−1XTy\large \pmb {w^*} = \pmb{(X^TX)^{-1}X^Ty}ww=(XTX)1XTy(XTX)1XTy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值