1、背景
最近,开始学习机器学习之旅。我的学习方式是:跟着斯坦福公开课Andrew Ng
的讲义和视屏开始学习。
下面,简单介绍一下线性回归下面的普通方程之矩阵求导。
对应英文章节:Linear Regression-->The normal equations-->Matrix derivatives
2、矩阵求导公式
∇AtrAB=BT ∇ A t r A B = B T (1) ( 1 )
∇ATf(A)=(∇Af(A))T ∇ A T f ( A ) = ( ∇ A f ( A ) ) T (2) ( 2 )
∇AtrABATC=CAB+CTABT ∇ A t r A B A T C = C A B + C T A B T (3) ( 3 )
∇A|A|=|A|(A−1)T ∇ A | A | = | A | ( A − 1 ) T (4) ( 4 )
3、公式推导
3.1 公式(1)的推导
知识须知:
知
识
须
知
:
1、tr为矩阵的迹,即对角线元素之和。tr既然是对角线元素之和,那么矩阵为正方形矩阵。
1
、
t
r
为
矩
阵
的
迹
,
即
对
角
线
元
素
之
和
。
t
r
既
然
是
对
角
线
元
素
之
和
,
那
么
矩
阵
为
正
方
形
矩
阵
。
2、∇符号为求梯度,实际上就是求导。∇A就是对A矩阵求导。
2
、
∇
符
号
为
求
梯
度
,
实
际
上
就
是
求
导
。
∇
A
就
是
对
A
矩
阵
求
导
。
设1A=(a11a21a12a22)
设
1
A
=
(
a
11
a
12
a
21
a
22
)
,B=(b11b21b12b22)
,
B
=
(
b
11
b
12
b
21
b
22
)
根据矩阵的相乘,那么有:
根
据
矩
阵
的
相
乘
,
那
么
有
:
设1F=trAB 设 1 F = t r A B
而1trAB=a11b11+a12b21+a21b12+a22b22 而 1 t r A B = a 11 b 11 + a 12 b 21 + a 21 b 12 + a 22 b 22
则有1∇AtrAB=(∂F∂a11∂F∂a21∂F∂a12∂F∂a22)=(b11b12b21b22)=BT 则 有 1 ∇ A t r A B = ( ∂ F ∂ a 11 ∂ F ∂ a 12 ∂ F ∂ a 21 ∂ F ∂ a 22 ) = ( b 11 b 21 b 12 b 22 ) = B T
得证 得 证
3.2 公式(2)的推导
设1A=(a11a21a12a22) 设 1 A = ( a 11 a 12 a 21 a 22 )
设1f(A)=2a11+3a12+4a21+5a22 设 1 f ( A ) = 2 a 11 + 3 a 12 + 4 a 21 + 5 a 22
则1∇Af(A)=(2435) 则 1 ∇ A f ( A ) = ( 2 3 4 5 )
转置后为1(∇Af(A))T=(2345) 转 置 后 为 1 ( ∇ A f ( A ) ) T = ( 2 4 3 5 )
而1∇ATf(A)=(2345)=(∇Af(A))T1得证 而 1 ∇ A T f ( A ) = ( 2 4 3 5 ) = ( ∇ A f ( A ) ) T 1 得 证
3.3 公式(3)的推导
知识须知:
知
识
须
知
:
1、tr(A)=tr(AT)
1
、
t
r
(
A
)
=
t
r
(
A
T
)
2、∇Atr(AB)=BT
2
、
∇
A
t
r
(
A
B
)
=
B
T
3、(AB)T=BTAT
3
、
(
A
B
)
T
=
B
T
A
T
令1X=A 令 1 X = A
∇Atr(ABATC)=∇Xtr(XBATC)+∇Xtr(ABXTC)
∇
A
t
r
(
A
B
A
T
C
)
=
∇
X
t
r
(
X
B
A
T
C
)
+
∇
X
t
r
(
A
B
X
T
C
)
10000000000=(BATC)T+∇Xtr(CABXT)
10000000000
=
(
B
A
T
C
)
T
+
∇
X
t
r
(
C
A
B
X
T
)
10000000000=BTACT+∇Xtr(X(CAB)T)
10000000000
=
B
T
A
C
T
+
∇
X
t
r
(
X
(
C
A
B
)
T
)
10000000000=BTACT+((CAB)T)T
10000000000
=
B
T
A
C
T
+
(
(
C
A
B
)
T
)
T
10000000000=BTACT+∇Xtr(X(CAB)T)
10000000000
=
B
T
A
C
T
+
∇
X
t
r
(
X
(
C
A
B
)
T
)
10000000000=CTABT+CAB1得证
10000000000
=
C
T
A
B
T
+
C
A
B
1
得
证
3.4 公式(4)的推导
知识须知:
知
识
须
知
:
1、AA−1=E=11(单位矩阵)
1
、
A
A
−
1
=
E
=
1
1
(
单
位
矩
阵
)
2、tra=a1(a为是实数)
2
、
t
r
a
=
a
1
(
a
为
是
实
数
)
3、traA=atrA
3
、
t
r
a
A
=
a
t
r
A
4、∇AtrAB=BT
4
、
∇
A
t
r
A
B
=
B
T
5、|A|为行列式,既然是行列式就能求出一个实数,则|A|为一个实数
5
、
|
A
|
为
行
列
式
,
既
然
是
行
列
式
就
能
求
出
一
个
实
数
,
则
|
A
|
为
一
个
实
数
∇A|A|=|A|∇Atr1
∇
A
|
A
|
=
|
A
|
∇
A
t
r
1
=|A|∇AtrE
=
|
A
|
∇
A
t
r
E
=|A|∇AtrAA−1
=
|
A
|
∇
A
t
r
A
A
−
1
=|A|(A−1)T
=
|
A
|
(
A
−
1
)
T
4、相关资料
视屏网站:斯坦福公开课视频-机器学习
讲义网站:斯坦福公开课讲义-机器学习