天天看點

機器學習中對矩陣的迹(trace)求導的一些操作

  機器學習中經常涉及到一些優化工作,優化時又涉及矩陣、向量的Frobenius 範數(Frobenius-Norm),這個F範數又可以轉化成矩陣自乘求迹trace的形式,然後對trace求導。這塊沒學過矩陣論的話,有時候經常會感覺到困惑。是以這裡找到一篇文章,有助于了解這塊的内容。同時我也在一些地方留了筆記,更有助于了解。

Errata:

抱歉在F-Norm那塊留的墨迹有錯誤,當時我想算一下Linear Regression求導,是以在那塊寫了一點墨迹,但是寫的有誤,這裡重新寫一下:

Y Y Y是n維列向量, θ \theta θ是n維列向量, X X X是mxn維矩陣:

機器學習中對矩陣的迹(trace)求導的一些操作
機器學習中對矩陣的迹(trace)求導的一些操作
機器學習中對矩陣的迹(trace)求導的一些操作

其實這裡最重要的就是那個(4)和(5)式,搞定了這個,其實就明白所有trace的求導操作都是可以怎麼弄了。隻要把trace轉化為求和式,就轉化為我們熟悉的求導了。

機器學習中對矩陣的迹(trace)求導的一些操作
機器學習中對矩陣的迹(trace)求導的一些操作
機器學習中對矩陣的迹(trace)求導的一些操作
機器學習中對矩陣的迹(trace)求導的一些操作
機器學習中對矩陣的迹(trace)求導的一些操作

其實總的來看,線性的情況下用的比較多的是(9)、(11)、

(17),這個搞定,很多線性情況都可以解決了。

這裡再寫一下:

(9):

∂ t r ( A X B ) ∂ X = ( B A ) T = A T B T \frac{\partial{tr(AXB)}}{\partial{X}} = (BA)^{T}=A^TB^T ∂X∂tr(AXB)​=(BA)T=ATBT

(11):

∂ t r ( A X T B ) ∂ X = B A \frac{\partial{tr(AX^TB)}}{\partial{X}} = BA ∂X∂tr(AXTB)​=BA

繼續閱讀