矩阵向量求导术

在标量、向量和矩阵的求导过程中一定要知道最后结果的形状。

这里总结几个常见的求导形式:

前言:

最基础最重要的,标量对向量求导向量对标量求导,有两种方式,分子布局和分母布局,不同的方式都是对的,只是结果缺一个转置

1、矩阵乘以列向量,对列向量求导,形如 $oldsymbol{z} = oldsymbol{Wx},$, 求$frac{partial oldsymbol{z}}{partial oldsymbol{x}}$

    假设$oldsymbol{W}in mathbb{R}^{n imes m},oldsymbol{x}in mathbb{R}^{m imes 1}$, 则$oldsymbol{z}in mathbb{R}^{n imes 1}$, 所以$frac{partial oldsymbol{z}}{partial oldsymbol{x}}$ 是n维向量对m维向量求导,最后是一个(n x m)的雅可比矩阵

    

 2、行向量乘以矩阵,对行向量求导,形如$oldsymbol{z} = oldsymbol{xW}, $, 其中$ oldsymbol{W}in mathbb{R}^{n imes m} oldsymbol{x}in mathbb{R}^{1 imes n} $则$oldsymbol{z}in mathbb{R}^{1 imes m}$,所以$frac{partial oldsymbol{z}}{partial oldsymbol{x}}$是m维行向量对n维行向量求导,结果是(m, n)维矩阵

 z向量每一个元素求解如下:$z_{i}= sum_{k=1}^{n}x_{k}W_{ki}$,

 $left (frac{partial oldsymbol{z}}{partial oldsymbol{x}}  ight )_{ij} = frac{partial z_{i}}{partial x_{j}} = sum_{k=1}^{n}W_{ki}frac{partial x_{k}}{partial x_{j}} = W_{ji}$,所以

 3、一个向量对自己求导

4、对向量每一个元素都施加的函数,对向量求导

    如果 $oldsymbol{x}inmathbb{R}^{1 imes n},$, 则$oldsymbol{z}inmathbb{R}^{1 imes n},$, $frac{partial oldsymbol{z}}{partial oldsymbol{x}}$是(n x n)的对角矩阵,对角元素为$frac{partial oldsymbol{z}_{i}}{partial oldsymbol{x}_{i}}$,  乘以一个对角矩阵可以写成分别与每一个元素相乘,即$circ f^{'}left ( x ight )$

 5、矩阵乘以列向量,最后的标量对矩阵求导

     

     假设$oldsymbol{W}in mathbb{R}^{n imes m},oldsymbol{x}inmathbb{R}^{m imes 1}$, 则$oldsymbol{z}in mathbb{R}^{n imes 1}$ 是一个 (n x 1)的向量对 (n x m)的向量求导,结果是 n * n * m维,为了避免求解这么复杂的,可以计算$frac{partial mathbf{z}}{partial W_{ij}}$

    $ mathbf{z}_{k}= sum_{l = 1}^{m}W_{kl}x_{l}$

    $frac{partial mathbf{z}_{k}}{partial W_{ij}} =frac{partial  sum_{l = 1}^{m}W_{kl}x_{l}}{partial W_{ij}} = sum_{l=1}^{m}x_{l}frac{partial W_{kl}}{partial W_{ij}}$ 当且仅当 k == i && l == j时,导数结果为 xj,当 k != i时,结果为0

    

这里使用的是分子布局,所以

 

(7) $frac{partial oldsymbol{Wx}}{partial oldsymbol{x}}$ 

参考:

https://web.stanford.edu/class/cs224n/readings/gradient-notes.pdf

原文地址:https://www.cnblogs.com/zhaopAC/p/10181424.html