这里所说的简单线性是指一元线性回归,即特征个数为1,样本个数为n个。符号表示中 y ^ i \hat y_i y^i 表示的是对第 i 个样本的预测值。所以损失函数为:
L ( w , b ) = ∑ i = 1 n 1 2 ( y i − y ^ i ) 2 = ∑ i = 1 n 1 2 ( ( w T x i + b ) − y i ) 2 = 1 2 ( x w − y ) T ( x w − 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 ∗ = a r g m i n w , b L ( 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 ) = 1 2 ( x w − y ) T ( x w − 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)
= 1 2 ( ( x w ) T − y T ) ( x w − y ) =\large \frac 12((\pmb x \pmb w)^T - \pmb y^T)(\pmb x \pmb w - \pmb y) =21((xxww)T−yyT)(xxww−yy)
= 1 2 ( w T x T − y T ) ( x w − y ) = \large \frac 12 (\pmb w^T \pmb x^T - \pmb y^T)(\pmb x \pmb w - \pmb y) =21(wwTxxT−yyT)(xxww−yy)
= 1 2 ( w T x T x w − w T x T y − y T x w + y T y ) =\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)
注:
∂ w T A w ∂ w = 2 A w \large \frac {\partial \pmb w^T\pmb A \pmb w} {\partial\pmb w} = \pmb {2Aw} ∂ww∂wwTAAww=2Aw2Aw
∂ w T A ∂ w = A \large \frac {\partial \pmb{w^TA}} {\partial \pmb w} = \pmb A ∂ww∂wTAwTA=AA
∂ A w ∂ w = A T \large \frac {\partial \pmb {Aw}} {\partial \pmb w} = \pmb A^T ∂ww∂AwAw=AAT
∂ L ∂ w = [ 1 2 ( w T x T x w − w T x T y − y T x w + y T y ) ] \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)]
= 1 2 [ ( w T x T x w ) ′ − ( w T x T y ) ′ − ( y T x w ) ′ + ( y T y ) ′ ] \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)′]
= 1 2 [ 2 x T x w − x T y − ( y T x ) 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]
= 1 2 [ 2 x T x w − 2 x T y ] \large = \frac {\large 1} {\large 2} [2\pmb x^T \pmb x \pmb w - 2\pmb x^T \pmb y] =21[2xxTxxww−2xxTyy]
= x T x w − x T y \large = \pmb {x^Txw} - \pmb {x^Ty} =xTxwxTxw−xTyxTy
w ∗ = ( x T x ) − 1 x T y \large \pmb {w^*} = (\pmb x^T \pmb x)^{-1}\pmb x^T\pmb y w∗w∗=(xxTxx)−1xxTyy
或者当样本 i i i 的预测值为 y ^ i \large \hat y_i y^i,其相应的真实标签为 y i \large y_i yi时, 平方误差可以定义为以下公式:
l i ( w , b ) = 1 2 ( y ^ i − y i ) 2 \large l_i(\pmb w, b) = \frac 12 (\hat y_i - y_i)^2 li(ww,b)=21(y^i−yi)2
由于平方误差函数中的二次方项, 估计值 y ^ i \large \hat y_i y^i 和观测值 y i \large y_i yi 之间较大的差异将导致更大的损失。 为了度量模型在整个数据集上的质量,我们需计算在训练集个样本上的损失均值(也等价于求和)
L ( w , b ) = 1 n ∑ i = 1 n l i ( w , b ) = 1 n ∑ i = 1 n 1 2 ( w T x i + b − y i ) 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)^2 L(ww,b)=n1i=1∑nli(ww,b)=n1i=1∑n21(wwTxxi+b−yi)2
X ← [ x , 1 ] \pmb {X \leftarrow [x, 1]} X←[x,1]X←[x,1]
w ← [ w b ] \pmb {w \leftarrow \begin{bmatrix} w \\ b \end{bmatrix}} w←[wb]w←[wb]
l ( X , y , w ) = 1 2 n ∣ ∣ y − X w ∣ ∣ 2 \large l(\pmb {X, y, w}) = \frac {\large 1} {\large 2n} || \pmb {y - Xw}||^2 l(X,y,wX,y,w)=2n1∣∣y−Xwy−Xw∣∣2
注:
∂ ∣ ∣ x 2 ∣ ∣ ∂ x = 2 x T \frac {\large \partial ||x^2||} {\large \partial x} = \large {2x^T} ∂x∂∣∣x2∣∣=2xT
∂ A x ∂ x = A \frac {\large \partial Ax} {\large \partial x} = \large A ∂x∂Ax=A
∂ ∂ w l ( X , y , w ) = 1 n ( y − X w ) T X \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 l ( X , y , w ) = 1 n ( y − X w ) T X = 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 ∗ = ( X T X ) − 1 X T y \large \pmb {w^*} = \pmb{(X^TX)^{-1}X^Ty} w∗w∗=(XTX)−1XTy(XTX)−1XTy