矩阵求导

来自ENPG_Wiki
Qinz18讨论 | 贡献2021年9月1日 (三) 11:56的版本 (创建页面,内容为“# 矩阵求导 我们只需定义这么几点 - 矩阵的微分(有自然的定义) - 矩阵对标量的导数(有明确定义) - 标量对矩阵的导数…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
  1. 矩阵求导

我们只需定义这么几点 - 矩阵的微分(有自然的定义) - 矩阵对标量的导数(有明确定义) - 标量对矩阵的导数

 - 标量对向量的导数

- 向量对向量的导数

对导数的定义更多的是为了形式上的考虑,所以也有各种不同的处理,但我们为了实用,先只直接定义列向量相关导数(当然,如果定义了矩阵相关导数,自然间接得到相应横向量的导数),也不定义矩阵对矩阵的导数,一是因为一般用不上,二是形式上需要较大改变(相对本文介绍的形式)。

下面为了定义的动机看起来更加舒服,按如下顺序来定义 - 定义标量对列向量的导数 - 定义列向量对列向量的 - 定义标量对矩阵的导数

下面我们定义导数的主要动机就是在形式上与微分相配合

    1. 矩阵的微分

与导数不同,矩阵微分有着很自然的定义 $$dA = (dA_{ij})_{m\times n}$$

有着很多好用的显然的性质

    1. 标量对列向量的导数

由下式定义

$$ df = \sum_i\frac{\partial f}{\partial X_i}dX_i=(\frac{\partial f}{\partial X_i})_{(1\times n)}(dX_i)_{(n\times 1)}=(\frac{\partial f}{\partial X_i})_{(n\times 1)}dX\equiv(\frac{\partial f}{\partial X})^TdX=tr((\frac{\partial f}{\partial X})^TdX)= tr((\frac{\partial f}{\partial X})dX^T) $$

    1. 列向量对列向量的导数

$$ dY=(\frac{\partial Y}{\partial X})^TdX $$

    1. 标量对矩阵的导数

由下式定义 $$ df=\sum_{ij}\frac{\partial f}{\partial A_{ij}}dA_{ij}=tr((\frac{\partial f}{\partial A})^TdA) $$

由上式启发,我们可以尝试对所有情况定义矩阵导数,即使 $$ dB=tr((\frac{\partial B}{\partial A})^TdA) $$ 注:有的书可能去掉上式中的转置来定义,于是所有导数结果均相差一个转置