前言
提示:本文简要介绍矩阵求导方面的知识
标量函数的求导读者应该非常熟悉了。假设f ( x ) f(x)f(x)对x xx求导,那么将得到d f d x \frac{df}{dx}dxdf这样一个导数,显然它仍然是一个标量。然后下面分别介绍当x xx为向量或者f ff为向量函数的情况。
提示:以下是本篇文章正文内容,可供参考
一、标量函数对向量求导
先考虑x xx为向量的情况。假设x ∈ R m x\in \mathbb R^mx∈Rm,为列向量,那么:
d f d x = [ d f d x 1 , . . . , d f d x m ] T ∈ R m (1) \frac{df}{dx} = \left[ \frac{df}{dx_1}, ... , \frac{df}{dx_m}\right]^T \in \mathbb R_m \tag{1}dxdf=[dx1df,...,dxmdf]T∈Rm(1)
这将得到一个m ⋅ 1 m·1m⋅1的向量。有时也写成对x T x^TxT的求导:
d f d x T = [ d f d x 1 , . . . , d f d x m ] (2) \frac{df}{dx^T} = \left[ \frac{df}{dx_1}, ... , \frac{df}{dx_m}\right] \tag{2}dxTdf=[dx1df,...,dxmdf](2)
这得到一个行向量。一般称为d f d x \frac{df}{dx}dxdf为梯度或者Jacobian,不同领域习惯可能不同。
二、向量函数对向量求导
一个向量函数也可以对向量求导。考虑F ( x ) F(x)F(x)为一个向量函数:
F ( x ) = [ f 1 ( x ) , . . . , f n ( x ) ] T F(x)=\left[ f_1(x), ... , f_n(x) \right]^TF(x)=[f1(x),...,fn(x)]T
其中每一个f k f_kfk都是一个自变量为向量,取值为标量的函数。考虑这样的函数对x xx求导时,通常的做法是写为
∂ F ∂ x T = [ ∂ f 1 ∂ x T ⋮ ∂ f n ∂ x T ] = [ ∂ f 1 ∂ x 1 ∂ f 1 ∂ x 2 ⋯ ∂ f 1 ∂ x m ∂ f 2 ∂ x 1 ∂ f 2 ∂ x 2 ⋯ ∂ f 2 ∂ x m ⋮ ⋮ ⋱ ⋮ ∂ f n ∂ x 1 ∂ f n ∂ x 2 ⋯ ∂ f n ∂ x m ] ∈ R n × m (3) \frac{\partial F}{\partial x^T} = \begin{bmatrix} \frac{\partial f_1}{\partial x^T} \\ \vdots \\ \frac{\partial f_n}{\partial x^T} \end{bmatrix} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_1}{\partial x_2} & \cdots & \frac{\partial f_1}{\partial x_m} \\ \frac{\partial f_2}{\partial x_1} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_2}{\partial x_m} \\ \vdots & \vdots & \ddots & \vdots \\ \frac{\partial f_n}{\partial x_1} & \frac{\partial f_n}{\partial x_2} & \cdots & \frac{\partial f_n}{\partial x_m} \end{bmatrix} \in \mathbb R^{n\times m} \tag{3}∂xT∂F=∂xT∂f1⋮∂xT∂fn=∂x1∂f1∂x1∂f2⋮∂x1∂fn∂x2∂f1∂x2∂f2⋮∂x2∂fn⋯⋯⋱⋯∂xm∂f1∂xm∂f2⋮∂xm∂fn∈Rn×m(3)
也就是写成列函数对行向量求导的形式,这将得到一个n × m n\times mn×m的雅克比矩阵。这种写法是规范的,典型的例子:
∂ A x ∂ x T = A (4) \frac{\partial Ax}{\partial x^T} = A \tag{4}∂xT∂Ax=A(4)
反之,一个行向量函数也可以对列向量求导,结果为之前的转置:
∂ F T ∂ x = ( ∂ F ∂ x T ) T (5) \frac{\partial F^T}{\partial x} = \left( \frac{\partial F}{\partial x^T} \right)^T \tag{5}∂x∂FT=(∂xT∂F)T(5)