是什么证明了矩阵函数导数的这种计算是合理的?


10

在吴安德(Andrew Ng)的机器学习课程中,他使用以下公式:

Atr(ABATC)=CAB+CTABT

他做了一个快速证明,如下所示:

Atr(ABATC)=Atr(f(A)ATC)=tr(f()ATC)+tr(f(A)TC)=(ATC)Tf()+(Ttr(f(A)TC)T=CTABT+(Ttr(T)Cf(A))T=CTABT+((Cf(A))T)T=CTABT+CAB

没有任何评论,证明似乎非常密集,我很难理解它。从第二平等到第三平等到底发生了什么?


他必须对AB的尺寸进行特殊假设C,否则该公式通常毫无意义。对于任意非负整数i j m 在左侧A必须是i×j矩阵,B a j×j矩阵和C an i×m矩阵。但是,除非i = m,否则将无法定义右边的乘积。i,j,mi=m
whuber

@whuber我明白了。考虑到这些假设,我仍然不了解他介绍如何从第二行过渡到第三行的。
MoneyBall

在第二和第三线之间他让。在第二行和第三行之间,他使用了乘积规则。后来他使用链规则摆脱了f f(A)=ABf()
Brian Borchers

Answers:


14

对该符号进行了微妙但严重的滥用,使许多步骤变得混乱。让我们回到矩阵乘法,转置,迹线和导数的定义来解决这个问题。对于那些希望省略说明的人,只需跳至最后一节“将所有内容放在一起”,即可看到严格的演示有多简短。


表示法和概念

尺寸图

对于表达有道理当× Ñ矩阵,必须是(正方形)Ñ × Ñ矩阵和Ç必须是× p矩阵,从那里的产品是一种× p矩阵。为了得到迹线(对角线元素的总和,Tr X = i X i i i),则p = m,使CABACAm×nBn×nCm×pm×pTr(X)=iXiip=mC 方阵。

衍生品

符号“ ”似乎是指所述衍生物的表达相对于。通常,微分是对函数f R NR M进行的运算。在一个点处的导数X [R Ñ是线性变换d ˚F X - [R ñř中号。选择这些向量空间的基数后,这种变换可以表示为M × N矩阵。 这里情况不同!AAf:RNRMxRNDf(x):RNRMM×N

矩阵向量

取而代之是,将A视为R m n的元素:将其系数展开(通常逐行或逐列)到长度为N = m n的向量中。函数˚F = Tr的' Ç 具有实数值,从那里中号= 1。因此,D f x 必须为1 × m n矩阵:它是一个行向量,表示ARmnN=mnf(A)=Tr(ABAC)M=1Df(x)1×mn。但是,问题中的计算使用了一种表示线性形式的方法:它们的系数回滚到m×n矩阵中。Rmnm×n

轨迹为线性形式

为常数m × n矩阵。然后,根据迹线和矩阵乘法的定义,ωm×n

Tr(Aω)=i=1m(Aω)ii=i=1m(j=1nAij(ω)ji)=i,jωijAij

这表示的系数的最通用的线性组合:ω是与A形状相同的矩阵,并且在第i行和第j列的系数是线性组合中的A i j的系数。因为ω ĴĴ = Ĵ ω Ĵ,所起的作用ω可切换时,给予相当于表达AωAijAijωijAij=AijωijωA

(1)i,jωijAij=Tr(Aω)=Tr(ωA).

通过识别一个常数矩阵与任一功能Tr的ω 'Tr的ω '我们可以表示上的空间线性形式× Ñ矩阵作为× Ñ矩阵。 (不要将它们与从R nR m的函数的导数混淆!)ωATr(Aω)ATr(ωA)m×nm×nRnRm


计算导数

定义

从定义中可以最轻松,最可靠地计算出统计中遇到的许多矩阵函数的导数:您实际上并不需要诉诸复杂的矩阵微分规则。这个定义说,当且仅当存在线性变换L使得x 可微分,使得fxL

f(x+h)f(x)=Lh+o(|h|)

为任意小的位移。小-OH表示法是指在近似差所产生的误差˚F X + ħ - ˚F X 大号ħ是任意比的尺寸小ħ为足够小ħ。特别是,我们可能总是忽略与|成正比的误差h | 2hRNf(x+h)f(x)Lhhh|h|2

计算

让我们将定义应用于相关函数。用两个的乘积来乘,扩展和忽略该术语,h

(2)f(A+h)f(A)=Tr((A+h)B(A+h)C)Tr(ABAC)=Tr(hBAC)+Tr(ABhC)+o(|h|).

为了确定导数,我们必须将其转化为形式1 。在右边的第一项是已经在该形式中,与ω = ' Ç。右边的其它术语具有以下形式Tr的X ħ ' Ç X = 。让我们这样写:L=Df(A)(1)ω=BACTr(XhC)X=AB

(3)Tr(XhC)=i=1mj=1nk=1mXijhkjCki=i,j,khkj(CkiXij)=Tr((CX)h).

X=AB(2)

f(A+h)f(A)=Tr(hBAC)+Tr(CABh)+o(|h|).

fA

Df(A)=(BAC)+CAB=CAB+CAB,
ω(1)

放在一起

那么,这里是一个完整的解决方案。

Am×nBn×nCm×mf(A)=Tr(ABAC)hm×n(3)

f(A+h)f(A)=Tr(hBAC)+Tr(ABhC)+o(|h|)=Tr(h(CAB)+(CAB)h)+o(|h|),
f
CAB+CAB.

因为这仅花费了大约一半的工作,并且仅涉及矩阵和迹线(乘法和转置)的最基本操作,所以必须将其视为结果的更简单且可以说更直观的演示。如果您真的想了解原始演示中的各个步骤,则可以将它们与此处显示的计算进行比较,这很有用。


1
tr(ABC)=tr(CAB)

1
(1)Mat(m,n)m×nf:Mat(m,n)RAωDf(A)X:→Tr(Xω)

2
@Amoeba没错-它充分证明了此答案第一行中的断言。这就是为什么我写了“从这个意义上说”,并且在摘要的后面使用了“由…… 决定”而不是“等于”。我不会否认这一解释具有挑战性。我会考虑如何进行澄清,感谢您提出的所有意见和建议。
whuber

1
@ user10324我在本网站上发布的大部分内容都是我自己的表述-我很少咨询资源(并且在这样做时会对其进行记录)。这些职位是从阅读许多书籍和论文中摘录的。一些最好的书并不是那些在数学上完全严格的书,但是它们很好地解释和说明了基本思想。浮现在脑海中的几个人(按复杂程度排序)是Freedman,Pisani和&Purves,Statistics(任何版本);杰克·基弗(Jack Kiefer),《统计推断简介》;和史蒂夫·史里夫(Steven Shreve),《金融随机算术II》
whuber

1
f(x+h)f(x)=Lh+o(|h|)hxxRm×nhRm×n
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.