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