矩阵求导中的分母布局与分子布局

最近在处理一些优化问题时,我才注意到,在不同的书籍、资料中函数 f ( x ) : R n → R m f(x):\R^n \rightarrow\R^m f(x):RnRm 的导数 ∂ f ∂ x \frac {\partial{f}} {\partial{x}} xf形式并不一样。如下图,二者在雅各比矩阵的定义上显然不一样(很明显矩阵维度不同)。这一下子就把我弄糊涂了,之前还没从没注意到这个问题。

figure.1

还好有万能的wikipedia,在这里我找到了答案:
figure.2

figure.2

这两种表达不同的原因是其采用的表达形式不同,一种称为Numerator layout(分子布局),一种称为Denominator layout(分母布局)。
如果要方便地区分二者,这里我们记为 Numerator layout ∂ y ∂ x T \frac {\partial{y}} {\partial{x^T}} xTyDenominator layout ∂ y T ∂ x \frac {\partial{y^T}} {\partial{x}} xyT。为了方便记忆,我们可以记为未转置的向量在那个位置,就是什么布局。
那么两种形式的区别和联系是什么呢?这里我们来看一个最简单的例子(注意!对于标量,转置和不转置没有区别。粗体为列向量):
在这里插入图片描述
∂ y ∂ x T = [ ∂ y 1 ∂ x T ⋮ ∂ y m ∂ x T ] ∂ y T ∂ x = [ ∂ y 1 T ∂ x … ∂ y m T ∂ x ] \frac {\partial{\mathbf{y}}} {\partial{\mathbf{x}^T}}=\begin{bmatrix} \frac {\partial{y_1}} {\partial{\mathbf{x}^T}} \\ \vdots\\ \frac {\partial{y_m}} {\partial{\mathbf{x}^T}} \end{bmatrix} \quad \frac {\partial{\mathbf{y}^T}} {\partial{\mathbf{x}}}=\begin{bmatrix} \frac {\partial{y_1^T}} {\partial{\mathbf{x}}} & \dots &\frac {\partial{y_m^T}} {\partial{\mathbf{x}}} \end{bmatrix} xTy= xTy1xTym xyT=[xy1TxymT]

通过这个例子,这两种表达的规律大家应该就很清晰了,并且也应该会觉得这两种写法导致结果的不同是很自然的。接下来,我们继续探究,我们先来回忆一下对标量函数导数的一个定义 d y = f ˙ ( x ) d x dy=\dot{f}(x)dx dy=f˙(x)dx(这里不写为除法形式,是因为对于向量来说除法并不存在)。在进行高维推广时,我们自然而然的想要得到相同的形式。可是我们会发现,实际情况会略微变复杂一些。我们还是看一个简单的例子:
A ∈ R m × n , y ∈ R m , x ∈ R n y = f ( x ) = A x according to figure.2  → ∂ y ∂ x T = A , ∂ y T ∂ x = A T d y = A d x = ∂ y ∂ x T d x , d y = ( d x T A T ) T = ( ∂ y T ∂ x ) T d x A \in \R^{m\times n}, y\in \R^m, x\in\R^n \\ y=f(x)=Ax \\ \text{according to figure.2 } \rightarrow \frac {\partial{y}} {\partial{x^T}}=A,\frac {\partial{y^T}} {\partial{x}}=A^T \\ dy=Adx=\frac {\partial{y}} {\partial{x^T}} dx, \quad dy=(dx^TA^T)^T=(\frac {\partial{y^T}} {\partial{x}})^Tdx ARm×n,yRm,xRny=f(x)=Axaccording to figure.2 xTy=A,xyT=ATdy=Adx=xTydx,dy=(dxTAT)T=(xyT)Tdx
所以我们可以直观地看到,分子布局的结果,我们可以直接使用;而对于分母布局的结果,我们需要转置后再使用。

如想更进一步理解,请看如下好文:
矩阵求导术(上)
矩阵求导术(下)
矩阵求导(分母布局与分子布局),以及常用的矩阵求导公式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值