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


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

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


他必须对A,B和的尺寸进行特殊假设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,使CABA′CAm×nBn×nCm×pm×pTr⁡(X)=∑iXiip=mC 方阵。

衍生品

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

矩阵向量

取而代之是,将A视为R m n的元素:将其系数展开(通常逐行或逐列)到长度为N = m n的向量中。函数˚F (甲)= Tr的(甲乙甲' Ç )具有实数值,从那里中号= 1。因此,D f (x )必须为1 × m n矩阵:它是一个行向量,表示ARmnN=mnf(A)=Tr⁡(ABA′C)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 n到R m的函数的导数混淆!)ωA→Tr⁡(Aω′)A→Tr⁡(ωA′)m×nm×nRnRm


计算导数

定义

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

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

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

计算

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

(2)f(A+h)−f(A)=Tr⁡((A+h)B(A+h)′C)−Tr⁡(ABA′C)=Tr⁡(hBA′C)+Tr⁡(ABh′C)+o(|h|).

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

(3)Tr⁡(Xh′C)=∑i=1m∑j=1n∑k=1mXijhkjCki=∑i,j,khkj(CkiXij)=Tr⁡((CX)h′).

X=AB(2)

f(A+h)−f(A)=Tr⁡(hBA′C)+Tr⁡(CABh′)+o(|h|).

fA

Df(A)=(BA′C)′+CAB=C′AB′+CAB,
ω(1)

放在一起

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

Am×nBn×nCm×mf(A)=Tr⁡(ABA′C)hm×n(3)

f(A+h)−f(A)=Tr⁡(hBA′C)+Tr⁡(ABh′C)+o(|h|)=Tr⁡(h(C′AB′)′+(CAB)h′)+o(|h|),
f
C′AB′+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|)hxx∈Rm×nh∈Rm×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.