上一小节中,我们使用批量梯度下降算法,通过不断迭代以求得最佳参数θ
θ
的值。本小节将介绍另一种方法——正规方程(The Normal Euqations)来计算出最佳参数θ
θ
的值。
在介绍正规方程法之前,我们先看看一些基本概念。
Matrix Derivatives
对于一个m∗n
m
∗
n
的矩阵到实数的函数映射f:Rm∗n↦R
f
:
R
m
∗
n
↦
R
,其关于A
A
的导数为:
∇Af(A)=⎡⎣⎢⎢⎢⎢∂f∂A11⋮∂f∂Am1…⋱…∂f∂A1n⋮∂f∂Amn⎤⎦⎥⎥⎥⎥
其中A
A
为m∗n的矩阵。
便于理解,我们不妨假设矩阵A
A
为:
A=[A11A21A12A22]
函数映射f:R2∗2↦R
f
:
R
2
∗
2
↦
R
为:
f(A)=32A11+5A212+A21A22
f
(
A
)
=
3
2
A
11
+
5
A
12
2
+
A
21
A
22
根据上述公式,我们可得:
∇Af(A)=[32A2210A12A21]
∇
A
f
(
A
)
=
[
3
2
10
A
12
A
22
A
21
]
对于n∗n
n
∗
n
矩阵A,我们将矩阵A对角线上元素的和定义为矩阵A的迹:
trA=∑i=1nAii
t
r
A
=
∑
i
=
1
n
A
i
i
其中若矩阵A为1∗1
1
∗
1
,即为一实数,则其迹为本身,trA=A
t
r
A
=
A
。
一些常用性质如下:
trAB=trBAtrABC=trCAB=trBCAtrA=trATtr(A+B)=tr(A)+tr(B)traA=atrA
t
r
A
B
=
t
r
B
A
t
r
A
B
C
=
t
r
C
A
B
=
t
r
B
C
A
t
r
A
=
t
r
A
T
t
r
(
A
+
B
)
=
t
r
(
A
)
+
t
r
(
B
)
t
r
a
A
=
a
t
r
A
结合矩阵导数的概念有如下性质:
∇AtrAB=BT∇ATf(A)=(∇Af(A))T∇AtrABATC=CAB+CTABT∇A|A|=|A|(A−1)T(1)(2)(3)(4)
(1)
∇
A
t
r
A
B
=
B
T
(2)
∇
A
T
f
(
A
)
=
(
∇
A
f
(
A
)
)
T
(3)
∇
A
t
r
A
B
A
T
C
=
C
A
B
+
C
T
A
B
T
(4)
∇
A
|
A
|
=
|
A
|
(
A
−
1
)
T
其中等式(1)要求AB
A
B
为方阵;等式(3)要求ABATC
A
B
A
T
C
为方阵;等式(4)要求矩阵A为非奇异矩阵,即可逆;|A|
|
A
|
表示矩阵A的行列式。
在给定训练集中,我们可构建一个维度为m∗n
m
∗
n
的矩阵X
X
,其中m为样本个数,n
n
为每个样本的特征变量个数。
X=⎡⎣⎢⎢⎢⎢⎢−(x(1))T−−(x(2))T−⋮−(x(m))T−⎤⎦⎥⎥⎥⎥⎥
同样,向量Y
Y
为:
Y=⎡⎣⎢⎢⎢⎢⎢(y(1))T(y(2))T⋮(y(m))T⎤⎦⎥⎥⎥⎥⎥
根据hθ(x(i))=(x(i))Tθ
h
θ
(
x
(
i
)
)
=
(
x
(
i
)
)
T
θ
,我们可得:
Xθ−Y=⎡⎣⎢⎢⎢⎢⎢(x(1))Tθ(x(2))Tθ⋮(x(m))Tθ⎤⎦⎥⎥⎥⎥⎥−⎡⎣⎢⎢⎢⎢⎢(y(1))T(y(2))T⋮(y(m))T⎤⎦⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢hθ(x(1))−y(1)hθ(x(2))−y(2)⋮hθ(x(m))−y(m)⎤⎦⎥⎥⎥⎥⎥
X
θ
−
Y
=
[
(
x
(
1
)
)
T
θ
(
x
(
2
)
)
T
θ
⋮
(
x
(
m
)
)
T
θ
]
−
[
(
y
(
1
)
)
T
(
y
(
2
)
)
T
⋮
(
y
(
m
)
)
T
]
=
[
h
θ
(
x
(
1
)
)
−
y
(
1
)
h
θ
(
x
(
2
)
)
−
y
(
2
)
⋮
h
θ
(
x
(
m
)
)
−
y
(
m
)
]
又因为对于向量z
z
,有zTz=∑iz2i。故我们可得:
J(θ)=12(Xθ−Y)T(Xθ−Y)=12∑i=1m(hθ(x(i))−y(i))2
J
(
θ
)
=
1
2
(
X
θ
−
Y
)
T
(
X
θ
−
Y
)
=
1
2
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
所以,我们对代价函数J(θ)
J
(
θ
)
求偏导,可得:
∇θJ(θ)=12∇θ(θTXT−YT)(Xθ−Y)=12∇θ(θTXTXθ−θTXTY−YTXθ+YTY)=12∇θtr(θTXTXθ−θTXTY−YTXθ+YTY)=12∇θ(trθTXTXθ−2trYTXθ)=12(XTXθ+XTXθ−2XTY)=XTXθ−XTY(1)(2)(3)(4)(5)(6)
(1)
∇
θ
J
(
θ
)
=
1
2
∇
θ
(
θ
T
X
T
−
Y
T
)
(
X
θ
−
Y
)
(2)
=
1
2
∇
θ
(
θ
T
X
T
X
θ
−
θ
T
X
T
Y
−
Y
T
X
θ
+
Y
T
Y
)
(3)
=
1
2
∇
θ
t
r
(
θ
T
X
T
X
θ
−
θ
T
X
T
Y
−
Y
T
X
θ
+
Y
T
Y
)
(4)
=
1
2
∇
θ
(
t
r
θ
T
X
T
X
θ
−
2
t
r
Y
T
X
θ
)
(5)
=
1
2
(
X
T
X
θ
+
X
T
X
θ
−
2
X
T
Y
)
(6)
=
X
T
X
θ
−
X
T
Y
其中等式(1)类似于完全平方展开得到等式(2);等式(2)应用trA=A
t
r
A
=
A
得到等式(3);等式(3)应用YTY
Y
T
Y
为实数,且实数的转置为其本身,从而得到等式(4);等式(4)应用trAB=trBA
t
r
A
B
=
t
r
B
A
,∇AAB=BT
∇
A
A
B
=
B
T
和∇AtrABATC=CAB+CTABT
∇
A
t
r
A
B
A
T
C
=
C
A
B
+
C
T
A
B
T
得到等式(5)。