矩阵求导简析

    大家好,这是我的第一篇博客。

    矩阵求导(Matrix Derivation,或者Matrix Differential),在机器学习、图像处理、最优化领域经常会遇到。其本质是多元变量的微积分,只是把求导应用在了矩阵上,不同在于这些求导是按照一定规则排列的。因此,说简单也很简单,在矩阵理论的书籍中一般会介绍雅克比(Jacobi)矩阵,点到为止,也不会详细讨论。但是这个小问题有时遇到了还是会有所疑惑,可能你会发现同一求导在不同的资料中结果不一样。关于这一方面,网上的资料略混乱,没有抓住重点,因此这里作简要总结,一些基本公式会给出简单的推导,希望对你有帮助。


布局(Layout)

    首先,介绍一个重要的概念——布局。求导最简单的是标量,然后是向量和矩阵求导。所有我们把dY/dX,看做两部分-分子和分母,按照每一部分对应三种类型(标量、向量、矩阵),那么就会有9种组合,但是常用的不多,比如较常见的分母和分子都是向量。如果向量求导掌握了,那么复杂一点的矩阵求导你只需拆解为向量就可以了。因为同一个求导可以有不同的写法,所以就有了布局约定(layout conventions),分为两种:1)分子布局,numerator layout;2)分母布局,denominator layout。 举个例子,向量关于向量求导,注意这两个都是列向量: 

    1)按照分子布局,也就是按照y的布局,其结果为

    

    2)按照分母布局,即按照X的布局,结果为

    

    对比以上结果,分子布局指结果与分子保持一致,以分子为主序,也就是说分子原来有3行,求导结果就有3行,每一行和分子中的每一行对应;同理,分母布局与分母保持一致,求导结果维数为:分子维数*分母维数。  理解了这个概念后,那基本上矩阵求导就无所遁形了,对于复杂的矩阵可看做由行向量组成,逐步求导。

 下面将列举几个常见的例子。


实例

(1)   ,   其中     

 

这个式子可以说是最基本的,但是结果有两种形式,分别是  和 ,差一个转置。首先

         

如果按照分子布局计算,记 是  的行向量,则

        

如果按照分母布局计算,则 

        

 

(2)  ,  其中      

可设         

                

所以

               

                                

上述求导过程可以看出采用的是分母布局。因此若采用分子布局,会得到另一个结果  ,这里你可以自己证明。

 

(3)另外矩阵求导往往也和矩阵的迹联系在一起,这里附赠一个关于迹的公式推导,对于很多关于迹的求导也许会有启发。

证明: tr(AXX^{T})=X^{T}AX

首先   ,   而 

         

                得证。    


总结

    在很多时候你可能常见到以下的结论,实际上这些结果都是基于分母布局而得到的。

矩阵求导简析_第1张图片

    但是,如果你观察下面这个Jacobi矩阵的形式,我们可以说是基于分子布局的,这里分子分母都是列向量,之所以分母会写成转置的形式(有时候不加转置),这样显得更不容易产生歧义,因为无论是哪一种布局似乎都是对的,其中分子主序作行,分母主序作列。    

矩阵求导简析_第2张图片

    最后,如果你觉得这些不够用,你可以查看以下博客,有更全面的公式。

https://blog.csdn.net/daaikuaichuan/article/details/80620518

https://blog.csdn.net/yc461515457/article/details/49682473

 

 

 

你可能感兴趣的:(矩阵求导)