矩阵导数于tr

矩阵的导数与迹

矩阵的导数

​ 对于一个将m×nm×n的矩阵映射为实数的函数f:Rm×nRf:Rm×n↦R,我们定义ff对矩阵AA的导数为

Af(A)=fA11fAm1fA1nfAmn▽Af(A)=[∂f∂A11…∂f∂A1n⋮⋱⋮∂f∂Am1…∂f∂Amn]

f(A)f(A)就是我们下面要介绍的迹。

方阵的迹

​ 对于一个nn阶方阵AA的迹被定义为方阵AA的主对角线的元素之和,通常对方阵的求迹操作写成trAtrA,于是我们有

trA=i=1nAiitrA=∑i=1nAii

一些有用的性质

  1. trABC=trBCA=trCABtrABC=trBCA=trCAB

这是对三个方阵的积求迹,循环移位后的结果还是一样的,不仅2个方阵或者3个方阵的积求迹满足此性质,对其他更多个数的方阵的积求迹也满足此性质。

  1. trA=trATtrA=trAT

这个就比较明显了,方阵转置后主对角线上的元素不会变

  1. tr(A+B)=trA+trBtr(A+B)=trA+trB

  2. tr αA=α trAtr αA=α trA

  3. AtrAB=BT▽AtrAB=BT

这个看起来有点麻烦,下面验证一下,设方阵AA

A=[acbd]A=[abcd]

设方阵 BB
B=[egfh]B=[efgh]

那么有
AB=[ae+bgce+dgaf+bhcf+dh]AB=[ae+bgaf+bhce+dgcf+dh]

所以有
trAB=ae+bg+cf+dhtrAB=ae+bg+cf+dh

然后有
AtrAB=[efgh]=BT▽AtrAB=[egfh]=BT

  1. ATf(A)=(Af(A))T▽ATf(A)=(▽Af(A))T

  2. trABATC=CAB+CTABT▽trABATC=CAB+CTABT

  3. A|A|=|A|(A1)T▽A|A|=|A|(A−1)T

一个在后面用到的等式

ATtrABATC=BTATCT+BATC▽ATtrABATC=BTATCT+BATC

推导过程如下:

ATf(A)=(Af(A))T▽ATf(A)=(▽Af(A))T自然有

ATtrABATC=(AtrABATC)T=(CAB+CTABT)T▽ATtrABATC=(▽AtrABATC)T=(CAB+CTABT)T

所以有
(CAB+CTABT)T=BT(CA)T+(ABT)TC=BTATCT+BATC(CAB+CTABT)T=BT(CA)T+(ABT)TC=BTATCT+BATC

θJ(θ)▽θJ(θ)的一点理解

​ Andrew ng在cs229-notes1中给出了一些公式,貌似还是有些东西并没有很明显的提出来,像我这种渣渣就有点晕。首先是给出的J(θ)J(θ)的矩阵表示如下

J(θ)=12i=1m(hθ(x(i))y(i))2=12(Xθy⃗ )T(Xθy⃗ )J(θ)=12∑i=1m(hθ(x(i))−y(i))2=12(Xθ−y→)T(Xθ−y→)

这个公式的推导过程还是比较简单的,下面的推导比较蛋疼,有些隐含的信息貌似Andrew ng没有明显指出来,对我这种渣渣就比较尴尬了。
θJ(θ)=θ12(Xθy⃗ )T(Xθy⃗ )▽θJ(θ)=▽θ12(Xθ−y→)T(Xθ−y→)

强行展开
θJ(θ)=12θ(θTXTXθθTXTy⃗ y⃗ TXθ+y⃗ Ty⃗ )▽θJ(θ)=12▽θ(θTXTXθ−θTXTy→−y→TXθ+y→Ty→)

很明显,后面的 y⃗ Ty⃗ y→Ty→是一个与 θθ无关的常量,所以对 θθ求偏导数为0,可以省略掉。假设 αα是一个实数,那么我们有 tr α=αtr α=αθθn×1n×1的, XXm×nm×n的,所以 θTXTXθθTXTXθ的维数变换是 (1×n)×(n×m)×(m×n)×(n×1)(1×n)×(n×m)×(m×n)×(n×1),所以结果是一个 1×11×1的方阵;同理其他的加数也是 1×11×1的方阵,所以有
θJ(θ)=12θtr(θTXTXθθTXTy⃗ y⃗ TXθ)▽θJ(θ)=12▽θtr(θTXTXθ−θTXTy→−y→TXθ)

由于 trA=trATtrA=trATtr(A+B)=trA+trBtr(A+B)=trA+trB,所以 θTXTy⃗ =y⃗ XθθTXTy→=y→Xθ,然后就有
θJ(θ)=12θ(tr θTXTXθ2tr y⃗ Xθ)▽θJ(θ)=12▽θ(tr θTXTXθ−2tr y→Xθ)

tr y⃗ Xθtr y→Xθ,有 tr y⃗ Xθ=tr θy⃗ Xtr y→Xθ=tr θy→X,又有 θtr AB=BT▽θtr AB=BT,所以有 θtr θy⃗ X=(y⃗ X)T=XTy⃗ ▽θtr θy→X=(y→X)T=XTy→;又因为
XTAXX=(A+AT)X∂XTAX∂X=(A+AT)X

所以有 θtr θTXTXθ=(XTX+(XTX)T)θ=2XTXθ▽θtr θTXTXθ=(XTX+(XTX)T)θ=2XTXθ,这样子就好办了
θJ(θ)=XTXθXTy⃗ ∴▽θJ(θ)=XTXθ−XTy→

θJ(θ)=0▽θJ(θ)=0可以求出
θ=(XTX)1XTy⃗ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值