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