??这里所说的简单线性是指一元线性回归,即特征个数为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∑n?21?(yi??y^?i?)2=i=1∑n?21?((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,b?L(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
对
w
\pmb w
ww进行求导:
?
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
假设我们找到了最优解,即梯度为0。将损失关于
w
\pmb w
ww的导数设为0,得到解析解:
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)=n1?i=1∑n?li?(ww,b)=n1?i=1∑n?21?(wwTxxi?+b?yi?)2
为了简化问题,可以忽略偏置(我们可以通过向添加所有值为1的一列来做到这一点)。也就是
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
\pmb w
ww的梯度
?
?
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
\pmb w
ww的导数设为0,求解矩阵方程来找到解析解
?
?
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
|