假定数据工程师希望模型实例的“样子”很简单:基于“多元一次式”(即仿射函数), 在这个限定下,我们看看算法工程提供了什么算法。
注:【西瓜书式(3.1)(3.2)】是仿射函数,当
b
=
0
b=0
b=0时为线性函数。 线性模型对应的数学表达式是仿射函数,而不是字面上的线性函数,后续知识(式(6))可知,仿射函数很容易转化为线性函数。 故不管是仿射的还是线性的,统称为线性模型,几乎没有人说仿射模型。
“最小二乘法”用于推导线性回归,也常作为均方误差的几何解释。
线性回归
1.当属性的个数
d
=
1
d=1
d=1时,【西瓜书式(3.1)】变为
l
:
f
(
x
)
=
w
x
+
b
\begin{align} l: f(x)=wx+b \tag{1} \end{align}
l:f(x)=wx+b(1)
将数据集
{
x
i
}
i
=
1
m
\{x_i\}_{i=1}^m
{xi}i=1m代入式(1)则得到【西瓜书式(3.3)】。
注:【西瓜书式(3.1)】中的
x
i
x_i
xi表示示例
x
\boldsymbol{x}
x的第
i
i
i个属性,而【西瓜书式(3.3)】中的
x
i
x_i
xi表示数据集中第
i
i
i个样本,这时,(一维)向量
x
\boldsymbol{x}
x变为标量
x
x
x。
将【西瓜书式(3.3)】的第一式视为方程组: m m m个方程,但只有两个未知数 ( w , b ) (w,b) (w,b),通常是无解,我们可以使用最小二乘法求一个“尽可能满足各方程”(即指不能达成等号的情况下,尽可能地接近等号。)的解。
“最小二乘法”的基本思路:找一条直线,使各样本点到该直线的欧氏距离之和最小。
简化:找一条直线,使各样本点到该直线的“纵标”欧氏距离 ∣ y i ^ − y i ∣ |\hat{y_i}-y_i| ∣yi^−yi∣之和最小。 如图1所示。
再方便化:找一条直线,使各样本点到该直线的“纵标”欧氏距离平方
[
y
i
^
−
y
i
]
2
[\hat{y_i}-y_i]^2
[yi^−yi]2之和最小(处理“平方和”比处理“绝对值和”方便)。
由“最小二乘法”可以得到我们需要最小化的目标函数
E
(
w
,
b
)
=
∑
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
\begin{align} E_{(w,b)}=\sum_{i=1}^m(y_i-wx_i-b)^2 \tag{2} \end{align}
E(w,b)=i=1∑m(yi−wxi−b)2(2)
目标为:求
(
w
∗
,
b
∗
)
(w^*,b^*)
(w∗,b∗)使
E
(
w
∗
,
b
∗
)
=
min
E
(
w
,
b
)
E_{(w^*,b^*)}=\min E_{(w,b)}
E(w∗,b∗)=minE(w,b),这句话用数学语言,即为
(
w
∗
,
b
∗
)
=
arg
min
(
w
,
b
)
E
(
w
,
b
)
\begin{align} (w^*,b^*)=\mathop{\arg\min}\limits_{\substack{(w,b)}}E_{(w,b)} \tag{3} \end{align}
(w∗,b∗)=(w,b)argminE(w,b)(3)
注:引入数学符号arg(argument论据,数学中指自变量),这里是指:已知函数,求满足条件(如,函数值最小)的自变量的值。
由均方误差定义【西瓜书式(2.2)】也可以得到式(2),故“最小二乘法”常作为均方误差的几何解释。
将式(2)和式(3)两式合在一起写,即为【西瓜书式(3.4)】。
对目标函数(2)使用拉格朗日求极值的方法,得到式(3)的解【西瓜书式(3.7)(3.8)】
2.当属性的个数
d
≠
1
d \neq 1
d=1时,【西瓜书式(3.1)】变为
y
i
^
=
f
(
x
i
)
=
w
T
x
i
+
b
=
[
x
i
T
w
]
T
+
b
=
x
i
T
w
+
1
⋅
b
(标量的转置不变)
=
(
x
i
T
1
)
(
w
b
)
\begin{align} \hat{y_i} & =f(\boldsymbol{x}_i)\notag \\ & ={\boldsymbol{w}}^\mathrm{T}{\boldsymbol{x}_i}+b\notag \\ & =[{\boldsymbol{x}_i}^\mathrm{T}{\boldsymbol{w}}]^\mathrm{T}+b\notag \\ & ={\boldsymbol{x}_i}^\mathrm{T}{\boldsymbol{w}}+1\cdot b\qquad\text{(标量的转置不变)}\notag \\ & =\left(\begin{array}{cc} {\boldsymbol{x}_i}^\mathrm{T} & 1 \\ \end{array}\right) \left(\begin{array}{c} \boldsymbol{w} \\ b \\ \end{array}\right) \tag{4} \end{align}
yi^=f(xi)=wTxi+b=[xiTw]T+b=xiTw+1⋅b(标量的转置不变)=(xiT1)(wb)(4)
对数据集 D D D中的所有样本都使用式(4),即有
{
y
1
^
=
(
x
1
T
1
)
(
w
b
)
y
2
^
=
(
x
2
T
1
)
(
w
b
)
⋯
⋯
y
m
^
=
(
x
m
T
1
)
(
w
b
)
\begin{align*} \begin{cases} \hat{y_1}=\left(\begin{array}{cc} \boldsymbol{x}_1^\mathrm{T} & 1 \\ \end{array}\right) \left(\begin{array}{c} \boldsymbol{w} \\ b \\ \end{array}\right) \\ \hat{y_2}=\left(\begin{array}{cc} \boldsymbol{x}_2^\mathrm{T} & 1 \\ \end{array}\right) \left(\begin{array}{c} \boldsymbol{w} \\ b \\ \end{array}\right) \\ \cdots \qquad \cdots \\ \hat{y_m}=\left(\begin{array}{cc} \boldsymbol{x}_m^\mathrm{T} & 1 \\ \end{array}\right) \left(\begin{array}{c} \boldsymbol{w} \\ b \\ \end{array}\right) \\ \end{cases} \end{align*}
⎩
⎨
⎧y1^=(x1T1)(wb)y2^=(x2T1)(wb)⋯⋯ym^=(xmT1)(wb)
上式综合到一个式子中,则有
( y ^ 1 y ^ 2 ⋮ y ^ m ) = ( x 1 T 1 x 2 T 1 ⋮ x m T 1 ) ( w b ) \begin{align} \left( \begin{array}{c} \hat{y}_1 \\ \hat{y}_2 \\ \vdots \\ \hat{y}_m \\ \end{array} \right)= \left( \begin{array}{cc} \boldsymbol{x}_1^\mathrm{T} & 1 \\ \boldsymbol{x}_2^\mathrm{T} & 1 \\ \vdots \\ \boldsymbol{x}_m^\mathrm{T} & 1 \\ \end{array} \right) \left( \begin{array}{c} \boldsymbol{w} \\ b \\ \end{array} \right) \tag{5} \end{align} y^1y^2⋮y^m = x1Tx2T⋮xmT111 (wb)(5)
对式(5)引入缩写(向量与矩阵的表达),即
y
^
=
X
w
^
\begin{align} \hat{\boldsymbol{y}}=\mathbf{X}\hat{\boldsymbol{w}} \tag{6} \end{align}
y^=Xw^(6)
注:式(5)与式(6)即为线性函数,即通过这种变换就将仿射函数转化成了线性函数。
由此,总(均方)误差可以表示成点
y
=
(
y
1
,
y
2
,
⋯
,
y
m
)
\boldsymbol{y}=(y_1,y_2,\cdots,y_m)
y=(y1,y2,⋯,ym)与点
y
^
=
(
y
^
1
,
y
^
2
,
⋯
,
y
^
m
)
\hat{\boldsymbol{y}}=(\hat{y}_1,\hat{y}_2,\cdots,\hat{y}_m)
y^=(y^1,y^2,⋯,y^m)之间的欧氏距离(平方),即
(
y
−
y
^
)
T
(
y
−
y
^
)
\begin{align} (\boldsymbol{y}-\hat{\boldsymbol{y}})^\mathrm{T}(\boldsymbol{y}-\hat{\boldsymbol{y}}) \tag{7} \end{align}
(y−y^)T(y−y^)(7)
即
(
y
−
X
w
^
)
T
(
y
−
X
w
^
)
\begin{align} (\boldsymbol{y}-\mathbf{X}\hat{\boldsymbol{w}})^\mathrm{T}(\boldsymbol{y}-\mathbf{X}\hat{\boldsymbol{w}}) \tag{8} \end{align}
(y−Xw^)T(y−Xw^)(8)
式(7)或式(8)记为
E
w
^
E_{\hat{\boldsymbol{w}}}
Ew^
∂
E
w
^
∂
w
^
=
∂
(
y
−
X
w
^
)
T
(
y
−
X
w
^
)
∂
w
^
=
2
x
T
(
X
w
^
−
y
)
(此处应用了【西瓜书附录式(A.32)】)
\begin{align} \frac{\partial E_{\hat{\boldsymbol{w}}}}{\partial \hat{\boldsymbol{w}}} & =\frac{\partial (\boldsymbol{y}-\mathbf{X}\hat{\boldsymbol{w}})^\mathrm{T}(\boldsymbol{y}-\mathbf{X}\hat{\boldsymbol{w}})}{\partial \hat{\boldsymbol{w}}}\notag \\ & =2 {\boldsymbol{x}}^{\mathrm{T}}(\mathbf{X}\hat{\boldsymbol{w}}-\boldsymbol{y})\tag{9} \\ & \qquad \text{(此处应用了【西瓜书附录式(A.32)】)}\notag \end{align}
∂w^∂Ew^=∂w^∂(y−Xw^)T(y−Xw^)=2xT(Xw^−y)(此处应用了【西瓜书附录式(A.32)】)(9)
即【西瓜书式(3.10)】,后续推理显然,由此得到线性回归,进而广义线性模型。
本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权
上一篇:2.9 在机器学习开发实践中如何改善学习器的性能?
下一篇:3.2 对数几率回归(俗称:逻辑回归,但它既不“逻辑”也不是“回归”)