这里所说的简单线性是指一元线性回归,即特征个数为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=1∑n21(yi−y^i)2=i=1∑n21((wwTxxi+b)−yi)2=21(xxww−yy)T(xxww−yy)
在训练模型时,我们希望寻找一组参数 (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(xxww−yy)T(xxww−yy)
=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)T−yyT)(xxww−yy)
=12(wTxT−yT)(xw−y)= \large \frac 12 (\pmb w^T \pmb x^T - \pmb y^T)(\pmb x \pmb w - \pmb y)=21(wwTxxT−yyT)(xxww−yy)
=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(wwTxxTxxww−wwTxxTyy−yyTxxww+yyTyy)
注:
∂wTAw∂w=2Aw\large \frac {\partial \pmb w^T\pmb A \pmb w} {\partial\pmb w} = \pmb {2Aw}∂ww∂wwTAAww=2Aw2Aw
∂wTA∂w=A\large \frac {\partial \pmb{w^TA}} {\partial \pmb w} = \pmb A∂ww∂wTAwTA=AA
∂Aw∂w=AT\large \frac {\partial \pmb {Aw}} {\partial \pmb w} = \pmb A^T∂ww∂AwAw=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)]∂ww∂L=[21(wwTxxTxxww−wwTxxTyy−yyTxxww+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[2xxTxxww−xxTyy−(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[2xxTxxww−2xxTyy]
=xTxw−xTy\large = \pmb {x^Txw} - \pmb {x^Ty}=xTxwxTxw−xTyxTy
假设我们找到了最优解,即梯度为0。将损失关于w\pmb www的导数设为0,得到解析解:
w∗=(xTx)−1xTy\large \pmb {w^*} = (\pmb x^T \pmb x)^{-1}\pmb x^T\pmb yw∗w∗=(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^i−yi)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=1∑nli(ww,b)=n1i=1∑n21(wwTxxi+b−yi)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∣∣y−Xwy−Xw∣∣2
注:
∂∣∣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 A∂x∂Ax=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})^TX∂ww∂l(X,y,w)l(X,y,w)=n1(y−Xwy−Xw)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 = 0∂ww∂l(X,y,w)l(X,y,w)=n1(y−Xwy−Xw)TX=0
得到最优解
w∗=(XTX)−1XTy\large \pmb {w^*} = \pmb{(X^TX)^{-1}X^Ty}w∗w∗=(XTX)−1XTy(XTX)−1XTy