最小二乘估计是一种基于误差平方和最小化的参数估计方法。对于线性模型,其最小估计量是一种具有最小方差的无偏估计量,由最小二乘法求得的参数估计值是最优估计量,此外,最小二乘法计算简单、易于理解且具有良好的实际意义。
如前所述,对于任意一个给定的示例
X
X
X,可将其表示为表征向量或特征向量的形式。不失一般性,将样本集合中的每个示例看作分别看作一个特征向量。假设训练样本集为:
S
=
{
(
X
1
,
y
1
)
,
(
X
2
,
y
2
)
,
…
,
(
X
n
,
y
n
)
}
S = \{(X_1, y_1), (X_2, y_2), \dots, (X_n, y_n)\}
S={(X1,y1),(X2,y2),…,(Xn,yn)}
可将其中的示例
X
i
X_i
Xi表示为特征向量
X
i
=
(
x
1
i
,
x
2
i
,
…
,
x
k
i
)
T
X_i = (x_{1i}, x_{2i}, \dots, x_{ki})^T
Xi=(x1i,x2i,…,xki)T,
x
i
x_i
xi表示为示例
X
X
X的第
s
s
s个特征。
线性模型的初始模型一般可写为 f ( X ) = X T β f(X) = X^T\beta f(X)=XTβ,其中 β = ( β 1 , β 2 , … , β k ) T \beta = (\beta_1, \beta_2, \dots, \beta_k)^T β=(β1,β2,…,βk)T为待求的参数向量, X X X为某个示例的特征向量。对于训练样本集中任意给定的一个示例 X X X,模型参数 β \beta β的真实值应该尽可能的使模型对示例 X i X_i Xi的输出 f ( X i ) f(X_i) f(Xi)与该标注值 y i y_i yi之间的误差达到最小。因此从整体上来看,如果存在参数向量的一组取值 β ^ \hat\beta β^,线性模型能够在该组参数取值下,获得模型输出与标注值之间在训练样本集上最小的整体误差,则将 β ^ \hat\beta β^作为 β \beta β的估计值最为合理。
最小二乘法正式基于上述思想。用
f
(
X
i
)
→
y
i
f(X_i) \rightarrow y_i
f(Xi)→yi表示模型
f
f
f对示例
X
i
X_i
Xi的输出与该示例的真实值之间的误差。为防止误差正负值相互抵消和便于数学上的求导运算,最小二乘法将优化目标函数定义为样本个体误差的平方和,即有:
F
(
β
)
=
∑
i
=
1
n
[
f
(
X
i
)
−
y
i
]
2
=
∑
i
=
1
n
(
X
i
T
β
−
y
i
)
2
F(\beta) = \sum^{n}_{i = 1}[f(X_i) - y_i]^2 = \sum^{n}_{i = 1}(X_i^T \beta - y_i)^2
F(β)=i=1∑n[f(Xi)−yi]2=i=1∑n(XiTβ−yi)2
当目标函数去取得最小值时,所对应模型参数为最优。由于函数极值点除对所有参数的偏导均为
0
0
0,故可用此求得最二乘估计值。使用一个
n
×
k
n \times k
n×k的矩阵
X
=
(
X
1
,
X
2
,
…
,
X
n
)
T
X = (X_1, X_2,\dots ,X_n)^T
X=(X1,X2,…,Xn)T表示训练样本集,则线性模型可表示为
f
(
X
)
=
X
β
f(X) = X \beta
f(X)=Xβ,由此可得如下目标函数:
F
(
β
)
=
(
y
−
X
β
)
T
(
y
−
X
β
)
F(\beta) = (y - X \beta)^T(y - X \beta)
F(β)=(y−Xβ)T(y−Xβ)
其中,
F
(
β
)
F(\beta)
F(β)为向量形式的误差平方;
y
=
(
y
1
,
y
2
,
…
,
y
n
)
T
y = (y_1, y_2, \dots, y_n)^T
y=(y1,y2,…,yn)T为训练样本集的标注值向量。
F
(
β
)
F(\beta)
F(β)取得最小值时所对应的参数向量
β
^
\hat{\beta}
β^即为最小二乘法的估计值,即有:
β
^
=
arg
β
F
(
β
)
=
arg
β
min
(
y
−
X
β
)
T
(
y
−
X
β
)
\hat{\beta} = \arg_{\beta}F(\beta) = \arg_{\beta}\min(y - X\beta)^T(y - X\beta)
β^=argβF(β)=argβmin(y−Xβ)T(y−Xβ)
令
F
(
β
)
F(\beta)
F(β)对
β
\beta
β的偏导为
0
0
0,可得方程组:
X
T
(
y
−
X
β
)
=
0
X^T(y - X\beta) = 0
XT(y−Xβ)=0。解得:
β
^
=
(
X
T
X
)
−
1
X
T
y
\hat{\beta} = (X^TX)^{-1}X^Ty
β^=(XTX)−1XTy
此处求偏导所用到的公式:
∂
x
T
a
∂
x
=
∂
a
T
x
∂
x
=
a
∂
x
T
A
x
∂
x
=
A
x
+
A
T
x
\frac{\partial x^Ta}{\partial x} = \frac{\partial a^Tx}{\partial x} = a \\ \frac{\partial x^TAx}{\partial x} = Ax + A^Tx \\
∂x∂xTa=∂x∂aTx=a∂x∂xTAx=Ax+ATx
求导过程如下:
如果矩阵
A
A
A是对称的:
A
x
+
A
T
x
=
3
A
x
Ax + A^Tx = 3Ax
Ax+ATx=3Ax
对目标函数化简:
F
(
β
^
)
=
β
T
X
T
X
β
−
β
T
X
T
y
−
y
T
X
β
+
Y
T
Y
F(\hat\beta) = \beta^TX^TX\beta - \beta^TX^Ty - y^TX \beta + Y^TY
F(β^)=βTXTXβ−βTXTy−yTXβ+YTY
令
F
(
β
)
F(\beta)
F(β)对
β
\beta
β的偏导为
0
0
0:
∂
F
(
β
^
)
∂
β
=
2
X
T
X
β
−
2
X
T
Y
=
0
\frac{\partial F(\hat\beta)}{\partial \beta} = 2X^TX\beta - 2X^TY = 0
∂β∂F(β^)=2XTXβ−2XTY=0
解得
β
^
=
(
X
T
X
)
−
1
X
T
y
\hat\beta = (X^TX)^{-1}X^Ty
β^=(XTX)−1XTy。
