标量、向量、矩阵求导(两种布局方式)

问题引入

首先以一个网上很多博文引用的例子来开篇,例子见下图
标量、向量、矩阵求导(两种布局方式)_第1张图片

问题初试

在了解向量和向量求导的时候,我看过以下一些公式:
标量、向量、矩阵求导(两种布局方式)_第2张图片
标量、向量、矩阵求导(两种布局方式)_第3张图片
首先Ax是个m维的列向量,它对x求偏导是个列向量对列向量求偏导的格式,所以可以套用上述公式(10),那么得到的是:
∂ A x ∂ x = ( ∂ ( a 11 x 1 + a 12 x 2 + ⋯   + a 1 n x n ) ∂ x ∂ ( a 21 x 1 + a 22 x 2 + ⋯   + a 2 n x n ) ∂ x ⋯   ∂ ( a m 1 x 1 + a m 2 x 2 + ⋯   + a m n x n ) ∂ x ) m × 1 \frac{\partial Ax}{\partial x}= \left( \begin{matrix} \frac{\partial (a_{11}x_{1}+a_{12}x_2+ \cdots\ +a_{1n}x_n)}{\partial x}\\ \frac{\partial (a_{21}x_{1}+a_{22}x_2+ \cdots\ +a_{2n}x_n)}{\partial x}\\ \cdots\ \\ \frac{\partial (a_{m1}x_{1}+a_{m2}x_2+ \cdots\ +a_{mn}x_n)}{\partial x}\\ \end{matrix} \right)_{m\times1} xAx=x(a11x1+a12x2+ +a1nxn)x(a21x1+a22x2+ +a2nxn) x(am1x1+am2x2+ +amnxn)m×1

那么就转换成了标量对向量的求偏导的形式了,可以套用上面的公式(5),于是化简成接下来的样子:
∂ A x ∂ x = ( ∂ ( a 11 x 1 + a 12 x 2 + ⋯   + a 1 n x n ) ∂ x 1 ⋯ ∂ ( a 11 x 1 + a 12 x 2 + ⋯   + a 1 n x n ) ∂ x n ⋯ ⋯ ⋯ ∂ ( a m 1 x 1 + a m 2 x 2 + ⋯   + a m n x n ) ∂ x 1 ⋯ ∂ ( a m 1 x 1 + a m 2 x 2 + ⋯   + a m n x n ) ∂ x n ) ( m ∗ n ) \frac{\partial Ax}{\partial x}= \left( \begin{matrix} \frac{\partial (a_{11}x_{1}+a_{12}x_2+ \cdots\ +a_{1n}x_n)}{\partial x_1} &\cdots &\frac{\partial (a_{11}x_{1}+a_{12}x_2+ \cdots\ +a_{1n}x_n)}{\partial x_n}\\ \cdots&\cdots&\cdots\\ \frac{\partial (a_{m1}x_{1}+a_{m2}x_2+ \cdots\ +a_{mn}x_n)}{\partial x_1} &\cdots &\frac{\partial (a_{m1}x_{1}+a_{m2}x_2+ \cdots\ +a_{mn}x_n)}{\partial x_n} \end{matrix} \right)_{(m*n)} xAx=x1(a11x1+a12x2+ +a1nxn)x1(am1x1+am2x2+ +amnxn)xn(a11x1+a12x2+ +a1nxn)xn(am1x1+am2x2+ +amnxn)(mn)
这样最后得到的化简结果是一个m*n维的列向量和网上得到的答案AT不一致,那么我这个答案有没有错呢?讲道理按照公式来推应该也没有问题,然后看到了这篇文章:知乎链接。所以我按照公式推其实也没错,只是表现的形式不一样。(应该是把?)
那么怎么去得到AT这个答案呢?于是我就上网找资料以及向同学请教,找到了一个可能的答案:是因为布局方式的问题

布局方式

布局方式分分子布局和分母布局。
分子布局: 分子为 y 或者分母为 xT (即,分子为列向量或者分母为行向量)
分母布局: 分子为 yT 或者分母为 x (即,分子为行向量或者分母为列向量)

按照不同的布局方式,有几种情形,比如在分子布局方式下计算:标量/向量,向量/标量,向量/向量,标量/矩阵,矩阵/标量。

分子布局下

标量/向量(分母是向量,且是分子布局,则把分母的向量按照行向量铺开):
在这里插入图片描述
向量/标量:(分子是向量,且是分子布局,则把分子按照列向量铺开)
标量、向量、矩阵求导(两种布局方式)_第4张图片
向量/向量:(分子分母都是向量,且是分子布局,则分子向量按照列向量铺开,分母向量按照行向量铺开):
标量、向量、矩阵求导(两种布局方式)_第5张图片
标量/矩阵(分子布局下,X矩阵是转置后铺开的):
标量、向量、矩阵求导(两种布局方式)_第6张图片

分母布局下

标量/向量(分母是向量,且是分母布局,则把分母的向量按照列向量铺开):
标量、向量、矩阵求导(两种布局方式)_第7张图片
向量/标量:(分子是向量,且是分母布局,则把分子按照行向量铺开):
在这里插入图片描述
向量/向量:(分子分母都是向量,且是分母布局,则分子向量按照行向量铺开,分母向量按照列向量铺开):
标量、向量、矩阵求导(两种布局方式)_第8张图片
标量/矩阵(分母布局下,X矩阵无需转置,就是原矩阵):
标量、向量、矩阵求导(两种布局方式)_第9张图片

问题解决

那么回到我们刚开始引入的例子来:
标量、向量、矩阵求导(两种布局方式)_第10张图片
这里它这个答案得到AT应该是因为它采用的是分母布局。
那么下面我分别按照分母布局和分子布局来计算一遍它的答案。

分子布局下将分子看成列向量展开,分母看成行向量展开:

标量、向量、矩阵求导(两种布局方式)_第11张图片

分母布局下将分子看成行向量展开,分母看成列向量展开:

标量、向量、矩阵求导(两种布局方式)_第12张图片

以上博文信息是自己的一点点学习总结,实属抛砖引玉,有不对的地方麻烦各位不吝赐教。

参考博文:
https://blog.csdn.net/uncle_gy/article/details/78879131
https://blog.csdn.net/nomadlx53/article/details/50849941
https://blog.csdn.net/shouhuxianjian/article/details/46669365

你可能感兴趣的:(学习中遇到的一些问题)