首页 > 技术文章 > 矩阵求导

pjishu 2019-04-21 11:24 原文

1.梯度矩阵

标量y对矩阵Xm×n的导数,得到的就是梯度矩阵

dy/dX=(∂y/∂xij)m×n,i=1,2,……,m,j=1,2,……,n

展开就是

dy/dX = 

      ∂f/∂x11    ∂f/∂x12    ∂f/∂x13     ……    ∂f/∂x1n

      ∂f/∂x21    ∂f/∂x22    ∂f/∂x23     ……    ∂f/∂x2n

        ……        ……        ……        ……    ……

      ∂f/∂xm1   ∂f/∂xm2    ∂f/∂xm3   ……    ∂f/∂xmn

(把X的每个元素换成偏导数即可)

2.矩阵对标量x的求导

dA/dx=

        ∂a11/∂x    ∂a12/∂x    ……    ∂a1n/∂x

        ∂a21/∂x    ∂a22/∂x    ……    ∂a2n/∂x

        ……        ……        ……    ……

        ∂am1/∂x    ∂am2/∂x    ……    ∂amn/∂x

 (把A的每一个元素换成偏导数即可)

3.矩阵Y关于向量X的求导

Y=(yij)m×n对向量X=xk,k=1,2,……,n的求导

dY/dX=(∂yij/∂xj)m×n,i=1,2,……,m,j=1,2,……,n

展开就是:

         ∂y11/∂x1    ∂y12/∂x2    ……    ∂y1n/∂xn

         ∂y21/∂x1    ∂y22/∂x2    ……    ∂y2n/∂xn

          ……         ……        ……  ……

         ∂yi1/∂x1      ∂yi2/∂x2    ……      ∂yin/∂xn

          ……        ……        ……    ……

         ∂ym1/∂x1    ∂ym2/∂x2    ……    ∂ymn/∂xn
(把行向量按到矩阵的第一行独立求导,再按到第二行。。。。)

4.向量Y对向量X的求导

Y=(y1, y2, ……,ym),X=(x1,x2,……,xn)

dY/dX=

         ∂y1/∂x1    ∂y1/∂x2    ……    ∂y1/∂xn

         ∂y2/∂x1    ∂y2/∂x2    ……    ∂y2/∂xn

         ∂y3/∂x1    ∂y3/∂x2    ……    ∂y3/∂xn

         ……        ……        ……    ……

         ∂ym/∂x1    ∂ym/∂x2    ……    ∂ym/∂xn
(先y1对所有的x导一遍,再y2......)

5.常用公式

 假设有:X、β是列向量、A、B、C是和X无关的矩阵

        1)d(β'X)/dX=β

        2)d(X')/dX = E

        3)d(XX')/dX = 2X

        4)d(X'AX)/dX  = (A'+A)X

 

推荐阅读