行向量偏导
若自变量是$1\times m$向量,行向量偏导算子
则标量函数$f(x)$的行向量偏导为
如果自变量变为$X\in R^{m\times n}$,则需要把$X$先列向量化,然后转置变为行向量。
这里
每一个$X_i$都是一个列向量。
这里$D_{vec^T(X)}f(X)$称为$f(X)$的在$X$处的行向量偏导
Jacobian矩阵
如果直接以矩阵的形式定义$f(X)$在$X$处的偏,则
注意,如果把行向量偏导按照一行一行排列成矩阵,就是Jacobian矩阵
列向量偏导
若自变量是$m\times 1$的向量
别名:梯度算子
如果自变量变为$X\in R^{m\times n}$,则需要把$X$先列向量化,直接求导
梯度矩阵
如果直接以矩阵的形式定义$f(X)$在$X$处的偏导数的列向量形式,则
注意
梯度矩阵和Jacobian矩阵是一个互为转置
Hessian 矩阵
标量函数$f(x)$相对于$m\times 1$的$x$的二阶偏导是一个由$m^2$个二阶偏导组成的矩阵(Hessian矩阵) 。定义为
或者记为
先列向量求偏导,再行向量求偏导。
矩阵微分
向量微分
在这里,我们假设,各变量之间相互独立,并且有
因此,我们有
需要$f$在在该点是的各个变量的偏导数是存在且连续。或者简单记为
这里,$x$为列向量
矩阵微分
假设变元为$X\in R^{m\times n}$,记$\boldsymbol{x}j=[x{1j},…,.x_{mj}]^T,j=1,…,n$为列向量,则
可以把上式简写为
其中 ,$rvec(A)$表示Jacobian矩阵的行向量化,$vec(dX)$是列向量化,
并且
应用行向量化和列向量化的关系
因此可以重写
利用向量化和迹之间的关系
所以,$df(X)$可以最终表示为
命题三
这里给出了如何求实值函数求梯度矩阵$\nabla f(X)$的方法
- 可以先把他表示为(22)右边的形式
- $\nabla f(X)=\frac{\partial f(X)}{\partial X}=A^T$
实矩阵微分运算
通过考察$(dX)_{ij}$,可以得到实微分矩阵具有如下性质
转置:观察(17),
线性:观察(11),
迹的微分
矩阵乘积微分
特别的当$A$为常数矩阵的时候:
逆矩阵的微分
迹函数的梯度矩阵
对于$tr(X^TX)$,注意到$tr(A^TB)=tr(B^TA)$,有
根据命题三,我们可以直接得出
三条总结
- 实值函数总是可以写完迹的形式
- 总可以把dx写到后面
- (dx)^T也可以写到后面为dX