二阶矩阵转置怎么求_矩阵求导术(下)
本文承接上篇 https://zhuanlan.zhihu.com/p/24709748,來講矩陣對矩陣的求導術。使用小寫字母x表示標量,粗體小寫字母
表示列向量,大寫字母X表示矩陣。矩陣對矩陣的求導采用了向量化的思路,常應用于二階方法中Hessian矩陣的分析。首先來琢磨一下定義。矩陣對矩陣的導數(shù),需要什么樣的定義?第一,矩陣F(p×q)對矩陣X(m×n)的導數(shù)應包含所有mnpq個偏導數(shù)
,從而不損失信息;第二,導數(shù)與微分有簡明的聯(lián)系,因為在計算導數(shù)和應用中需要這個聯(lián)系;第三,導數(shù)有簡明的從整體出發(fā)的算法。我們先定義向量(p×1)對向量(m×1)的導數(shù)(m×p),有;再定義矩陣的(按列優(yōu)先)向量化(mn×1),并定義矩陣F對矩陣X的導數(shù)(mn×pq)。導數(shù)與微分有聯(lián)系。幾點說明如下:然后來建立運算法則。仍然要利用導數(shù)與微分的聯(lián)系
,求微分的方法與上篇相同,而從微分得到導數(shù)需要一些向量化的技巧:觀察一下可以斷言,若矩陣函數(shù)F是矩陣X經(jīng)加減乘法、逆、行列式、逐元素函數(shù)等運算構成,則使用相應的運算法則對F求微分,再做向量化并使用技巧將其它項交換至vec(dX)左側,對照導數(shù)與微分的聯(lián)系
,即能得到導數(shù)。特別地,若矩陣退化為向量,對照導數(shù)與微分的聯(lián)系
,即能得到導數(shù)。再談一談復合:假設已求得
,而Y是X的函數(shù),如何求呢?從導數(shù)與微分的聯(lián)系入手,,可以推出鏈式法則。和標量對矩陣的導數(shù)相比,矩陣對矩陣的導數(shù)形式更加復雜,從不同角度出發(fā)常會得到形式不同的結果。有一些Kronecker積和交換矩陣相關的恒等式,可用來做等價變形:
接下來演示一些算例。
例1:
,X是m×n矩陣,求。解:先求微分:
,再做向量化,使用矩陣乘法的技巧,注意在dX右側添加單位陣:,對照導數(shù)與微分的聯(lián)系得到。特例:如果X退化為向量,即
,則根據(jù)向量的導數(shù)與微分的關系,得到。例2:
,X是n×n矩陣,求和。解:使用上篇中的技術可求得
。為求,先求微分:,再做向量化,使用轉置和矩陣乘法的技巧,對照導數(shù)與微分的聯(lián)系,得到,注意它是對稱矩陣。在是對稱矩陣時,可簡化為。例3:
,A是l×m矩陣,X是m×n矩陣,B是n×p矩陣,exp為逐元素函數(shù),求。解:先求微分:
,再做向量化,使用矩陣乘法的技巧:,再用逐元素乘法的技巧:,再用矩陣乘法的技巧:,對照導數(shù)與微分的聯(lián)系得到。例4【一元logistic回歸】:
,求和。其中是取值0或1的標量,是列向量。解:使用上篇中的技術可求得
,其中 為sigmoid函數(shù)。為求,先求微分:,其中為sigmoid函數(shù)的導數(shù),對照導數(shù)與微分的聯(lián)系,得到。推廣:樣本
,,求和。有兩種方法,解1:先對每個樣本求導,然后相加;解2:定義矩陣,向量,將寫成矩陣形式,進而可以使用上篇中的技術求得。為求,先求微分,再用逐元素乘法的技巧:,對照導數(shù)與微分的聯(lián)系,得到。例5【多元logistic回歸】:
,求和。其中其中是除一個元素為1外其它元素為0的列向量,是矩陣,是列向量,是標量。解:上篇中已求得
。為求,先求微分:定義,,注意這里化簡去掉逐元素乘法,第一項中,第二項中。定義矩陣,,做向量化并使用矩陣乘法的技巧,得到。最后做個總結。我們發(fā)展了從整體出發(fā)的矩陣求導的技術,導數(shù)與微分的聯(lián)系是計算的樞紐,標量對矩陣的導數(shù)與微分的聯(lián)系是
,先對f求微分,再使用跡技巧可求得導數(shù),特別地,標量對向量的導數(shù)與微分的聯(lián)系是;矩陣對矩陣的導數(shù)與微分的聯(lián)系是,先對F求微分,再使用向量化的技巧可求得導數(shù),特別地,向量對向量的導數(shù)與微分的聯(lián)系是。參考資料:
總結
以上是生活随笔為你收集整理的二阶矩阵转置怎么求_矩阵求导术(下)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis同步效率秒_redis过期策略
- 下一篇: 向量笛卡尔积_如何创建向量的矢量的笛卡尔