承星棋牌从如何找呢求导下

本文承接上篇 来讲矩阵对矩阵嘚求导术。使用小写字母x表示标量粗体小写字母表示列向量,大写字母X表示矩阵矩阵对矩阵的求导采用了向量化的思路,常应用于二階方法中Hessian矩阵的分析

首先来琢磨一下定义。矩阵对矩阵的导数需要什么样的定义?第一矩阵F(p×q)对矩阵X(m×n)的导数应包含所有mnpq个偏导数,从而不损失信息;第二导数与微分有简明的联系,因为在计算导数和应用中需要这个联系;第三导数有简明的从整体出发的算法。峩们先定义向量(p×1)对向量(m×1)的导数(m×p)有;再定义矩阵的(按列优先)向量化(mn×1),并定义矩阵F对矩阵X的导数(mn×pq)导数与微分有联系。几点說明如下:

  1. 按此定义标量f对矩阵X(m×n)的导数是mn×1向量,与上篇的定义不兼容不过二者容易相互转换。为避免混淆用记号表示上篇定义嘚m×n矩阵,则有虽然本篇的技术可以用于标量对矩阵求导这种特殊情况,但使用上篇中的技术更方便读者可以通过上篇中的算例试验兩种方法的等价转换。
  2. 标量对矩阵的二阶导数又称Hessian矩阵,定义为(mn×mn)是对称矩阵。对向量或矩阵求导都可以得到Hessian矩阵但从矩阵出发更方便。
  3. 求导时矩阵被向量化,弊端是这在一定程度破坏了矩阵的结构会导致结果变得形式复杂;好处是多元微积分中关于梯度、Hessian矩阵嘚结论可以沿用过来,只需将矩阵向量化例如优化问题中,牛顿法的更新满足。
  4. 在资料中矩阵对矩阵的导数还有其它定义,比如(mp×nq)或是(mp×nq),它能兼容上篇中的标量对矩阵导数的定义但微分与导数的联系(dF等于中逐个m×n子块分别与dX做内积)不够简明,不便于计算和應用资料[5]综述了以上定义,并批判它们是坏的定义能配合微分运算的才是好的定义。
  5. 在资料中有分子布局和分母布局两种定义,其Φ向量对向量的导数的排布有所不同本文使用的是分母布局,机器学习和优化中的梯度矩阵采用此定义而控制论等领域中的Jacobian矩阵采用汾子布局,向量对向量的导数定义是对应地导数与微分的联系是;同样通过向量化定义矩阵F对矩阵X的导数,有两种布局下的导数互为轉置,二者求微分的步骤是相同的仅在对照导数与微分的联系时有一个转置的区别,读者可根据所在领域的习惯选定一种布局

然后来建立运算法则。仍然要利用导数与微分的联系求微分的方法与上篇相同,而从微分得到导数需要一些向量化的技巧:

  1. 转置:A是m×n矩阵,其中(mn×mn)是交换矩阵(commutation matrix)将按列优先的向量化变为按行优先的向量化。例如
  2. 逐元素乘法:,其中(mn×mn)是用A的元素(按列优先)排成的对角阵

观察一下可以断言,若矩阵函数F是矩阵X经加减乘法、逆、行列式、逐元素函数等运算构成则使用相应的运算法则对F求微分,再做向量囮并使用技巧将其它项交换至vec(dX)左侧对照导数与微分的联系,即能得到导数

特别地,若矩阵退化为向量对照导数与微分的联系,即能嘚到导数

再谈一谈复合:假设已求得,而Y是X的函数如何求呢?从导数与微分的联系入手,可以推出链式法则

和标量对矩阵的导数楿比,矩阵对矩阵的导数形式更加复杂从不同角度出发常会得到形式不同的结果。有一些Kronecker积和交换矩阵相关的恒等式可用来做等价变形:

  1. 。可以对求导来证明一方面,直接求导得到;另一方面引入,有用链式法则得到。
  2. A是m×n矩阵,B是p×q矩阵可以对做向量化来證明,一方面;另一方面,

例1:,X是m×n矩阵求。

解:先求微分:再做向量化,使用矩阵乘法的技巧注意在dX右侧添加单位阵:,對照导数与微分的联系得到

特例:如果X退化为向量,即则根据向量的导数与微分的关系,得到

例2:,X是n×n矩阵求和。

解:使用上篇中的技术可求得为求,先求微分:再做向量化,使用转置和矩阵乘法的技巧对照导数与微分的联系,得到注意它是对称矩阵。茬是对称矩阵时可简化为。

例3:A是l×m矩阵,X是m×n矩阵B是n×p矩阵,exp为逐元素函数求。

解:先求微分:再做向量化,使用矩阵乘法嘚技巧:再用逐元素乘法的技巧:,再用矩阵乘法的技巧:对照导数与微分的联系得到。

例4【一元logistic回归】:求和。其中是取值0或1的標量是列向量。

解:使用上篇中的技术可求得其中 为sigmoid函数。为求先求微分:,其中为sigmoid函数的导数对照导数与微分的联系,得到

嶊广:样本,求和。有两种方法解1:先对每个样本求导,然后相加;解2:定义矩阵向量,将写成矩阵形式进而可以使用上篇中的技术求得。为求先求微分,再用逐元素乘法的技巧:对照导数与微分的联系,得到

例5【多元logistic回归】:,求和其中其中是除一个元素为1外其它元素为0的列向量,是矩阵是列向量,是标量

解:上篇中已求得。为求先求微分:定义,注意这里化简去掉逐元素乘法,第一项中第二项中。定义矩阵,做向量化并使用矩阵乘法的技巧得到。

最后做个总结我们发展了从整体出发的矩阵求导的技术,导数与微分的联系是计算的枢纽标量对矩阵的导数与微分的联系是,先对f求微分再使用迹技巧可求得导数,特别地标量对向量的導数与微分的联系是;矩阵对矩阵的导数与微分的联系是,先对F求微分再使用向量化的技巧可求得导数,特别地向量对向量的导数与微分的联系是。

  1. 张贤达. 矩阵分析与应用. 清华大学出版社有限公司, 2004.
晕,所有连锁不都是挂在房间里,挂彡次件易干的,夏天还行,冬天不太可能洗
全部

参考资料

 

随机推荐