进行更新:随着理解的加深,我发现之前写的有些问题,重新写一下吧
矩阵求导要分成两类,第一类是用在向量函数f(x)里,比如要在x0处展开,所以需要计算该点处的雅可比这些;第二类是为了计算统一,我们规定的分子布局或分母布局这样。
一、向量函数求导形如这样的函数,如果考虑在x0处的展开就变成了
其中y可能是一个值(scale),也可能是一个向量,分情况讨论下:
(1)值对向量求导
:这时也叫梯度,求导的结果的维度当然要和分母的向量保持一致,(类似分母布局)
(2)列向量对列向量求导
:这时也叫雅可比,先将y按列展开,再将x按行展开,所以得到的结果维度为mxn,(类似分子布局),
(3)还有hessian就不说了
二、矩阵之间的求导
这是需要考虑分子布局或分母布局,为了保持计算一致,我们需要选择一个规矩来计算,否则就乱了,不过我常见的还是分母布局;这时参考cook book就好,简单点就是说
这类的
三、小结
在算出来jacobian之后,后面的矩阵计算还是得按照分母布局来推,比如下面:
当然其实其实雅可比也是可以写成分母布局的,这样就得对应行向量了,因为雅可比后面跟着的是自变量x_nx1,所以还是要看自己的习惯,用哪个布局就选好配套的公式,不要一会这样一会那样,说到底都是为了计算方便,不管中间过程写成什么维度,可以算出正确结果就好了啊,只不过我是想按照这样的规律,以防自己算错
Reference:
https://blog.csdn.net/daaikuaichuan/article/details/80620518--------详细讲了我上面提到的几个例子,建议结合着看☆
https://blog.csdn.net/lipengcn/article/details/52815429 ---------------有很多公式的,虽然有的也不一定对
https://blog.csdn.net/nomadlx53/article/details/50849941-------------讲分母布局和分子布局的
http://www.pianshen.com/article/5516168061/ --------------------------分子分母布局的对比
https://www.jianshu.com/p/4128e5b31fb4---------------------------------分母布局讲的比较细