矩阵求导这个东西好像游离在数分高代(几乎本水的全部知识)之外。我东拼西凑看了好几个文章(打算一会分享),研究的差不多。资料大多数都乱,我简单整理并加上了一些自己的理解。
说在开头:
矩阵求导就是多元函数求导,只不过把自变量写成了矩阵的形式。然后f对A求导就是把原来xn的位置换成f对xn的偏导。
具体method:
1. 变量多次出现的求导法则
就是可以算成对每一次出现求导,分别相加,就是高中学的用来求什么xexp(x)导数的方法。这里推广到了矩阵。
2. 值函数对向量求导:
3.关于矩阵的迹:
通常有个技巧就是把矩阵相乘得来的常数当成是迹,利用性质简化运算。
1.轮换不变性:
tr(ABC)=tr(CAB)=tr(BCA) 一定要是轮换,比如tr(BAC)什么的就不行。可以推广到n个变量。
证明可以从二元的暴力拆解,之后将AB,C视为两个单元进行交换就可以证明出tr(ABC)=tr(CAB)了。
2.基本性质:
这个如果说A是a11-ann X为x11-xnn的话。发现矩阵乘积的迹恰好是aij*xij全部求和。这样对他取梯度,对xij的偏导就是aij,按照矩阵求导的定义做成n*n的矩阵恰好就为A。他甚至可以看成矩阵求导的定义。
3. 核心公式:
手写的证明如下