矩阵求导术(下)

本文承接上篇 zhuanlan.zhihu.com/p/24,来讲矩阵对矩阵的求导术。使用小写字母x表示标量,粗体小写字母\boldsymbol{x} 表示列向量,大写字母X表示矩阵。矩阵对矩阵的求导采用了向量化的思路,常应用于二阶方法求解优化问题。

首先来琢磨一下定义。矩阵对矩阵的导数,需要什么样的定义?第一,矩阵F(p×q)对矩阵X(m×n)的导数应包含所有mnpq个偏导数\frac{\partial F_{kl}}{\partial X_{ij}},从而不损失信息;第二,导数与微分有简明的联系,因为在计算导数和应用中需要这个联系;第三,导数有简明的从整体出发的算法。我们先定义向量\boldsymbol{f}(p×1)对向量\boldsymbol{x}(m×1)的导数\frac{\partial \boldsymbol{f}}{\partial \boldsymbol{x}} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \frac{\partial f_2}{\partial x_1} & \cdots & \frac{\partial f_p}{\partial x_1}\\ \frac{\partial f_1}{\partial x_2} & \frac{\partial f_2}{\partial x_2} & \cdots & \frac{\partial f_p}{\partial x_2}\\ \vdots & \vdots & \ddots & \vdots\\ \frac{\partial f_1}{\partial x_m} & \frac{\partial f_2}{\partial x_m} & \cdots & \frac{\partial f_p}{\partial x_m}\\ \end{bmatrix}(m×p),有d\boldsymbol{f} = \frac{\partial \boldsymbol{f} }{\partial \boldsymbol{x} }^T d\boldsymbol{x} ;再定义矩阵的(按列优先)向量化\mathrm{vec}(X) = [X_{11}, \ldots, X_{m1}, X_{12}, \ldots, X_{m2}, \ldots, X_{1n}, \ldots, X_{mn}]^T(mn×1),并定义矩阵F对矩阵X的导数\frac{\partial F}{\partial X} = \frac{\partial \mathrm{vec}(F)}{\partial \mathrm{vec}(X)}(mn×pq)。导数与微分有联系\mathrm{vec}(dF) = \frac{\partial F}{\partial X}^T \mathrm{vec}(dX)。几点说明如下:

  1. 按此定义,标量f对矩阵X(m×n)的导数\frac{\partial f}{\partial X}是mn×1向量,与上篇的定义不兼容,不过二者容易相互转换。为避免混淆,用记号\nabla_X f表示上篇定义的m×n矩阵,则有\frac{\partial f}{\partial X}=\mathrm{vec}(\nabla_X f)。虽然本篇的技术可以用于标量对矩阵求导这种特殊情况,但使用上篇中的技术更方便。读者可以通过上篇中的算例试验两种方法的等价转换。
  2. 标量对矩阵的二阶导数,又称Hessian矩阵,定义为\nabla^2_X f = \frac{\partial^2 f}{\partial X^2} = \frac{\partial \nabla_X f}{\partial X}(mn×mn),是对称矩阵。对向量\frac{\partial f}{\partial X}或矩阵\nabla_X f求导都可以得到Hessian矩阵,但从矩阵\nabla_X f出发更方便。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值