天天看點

【機器學習中的矩陣求導】(三)矩陣向量求導(微分法)

學習總結

(1)用微分法,要熟練矩陣微分和迹函數的性質。由于微分法使用了迹函數的技巧,那麼迹函數對向量矩陣求導這一大類問題,使用微分法是最簡單直接的。

(2)有一些場景,求導的自變量和因變量直接有複雜的多層鍊式求導的關系,此時微分法使用起來也有些麻煩。如果我們可以利用一些常用的簡單求導結果,再使用鍊式求導法則(下個task),則會非常的友善。

(3)本task是求解标量對向量的求導,以及标量對矩陣的求導。注意此處統一規定:使用分母布局(次元和分母一緻)。

機器學習算法中一般會使用一種叫混合布局的思路,即如果是向量或者矩陣對标量求導,則使用分子布局為準,如果是标量對向量或者矩陣求導,則以分母布局為準。對于向量對對向量求導,有些分歧,後面統一以分子布局的雅克比矩陣為主。

文章目錄

  • ​​學習總結​​
  • ​​一、矩陣微分​​
  • ​​二、矩陣微分的性質​​
  • ​​三、使用微分法求解矩陣向量求導​​
  • ​​3.1 迹函數的技巧​​
  • ​​3.2 栗子1​​
  • ​​3.3 栗子2​​
  • ​​四、迹函數對向量矩陣求導​​
  • ​​Reference​​

一、矩陣微分

我們熟悉的标量的微分:

如果是多變量情況:

從上面可以發現:标量對向量的求導,和向量的微分,之間存在一個轉置的一項。

推廣到矩陣微分:

注意:

  • 上面矩陣微分的第二步,用了【迹函數等于主對角線的和】性質:
  • 矩陣微分和它的導數也有一個轉置的關系,不過在外面套了一個迹函數而已。由于标量的迹函數就是它本身,那麼矩陣微分和向量微分可以統一表示,即:

二、矩陣微分的性質

  • 微分加法:
  • 微分乘法:
  • 微分轉置:
  • 微分的迹:
  • 微分哈達瑪積:
  • 逐元素求導:
  • 逆矩陣微分:
  • 行列式微分:

三、使用微分法求解矩陣向量求導

3.1 迹函數的技巧

  • 标量的迹等于自己:;轉置則迹不變
  • 交換律:,需要滿足、同次元
  • 加減法:
  • 矩陣乘法和迹交換:,注意A,B,C的次元要相同

3.2 栗子1

看上一次定義法的求導問題:

(1)用微分乘法對求微分,得到:

(2)兩邊套上迹函數,其中第一步到第二步用到了3.1迹函數的性質1,第三步到第四步用到了性質2(交換律):

(3)根據我們矩陣導數和微分的定義,迹函數裡面在左邊的部分,加上一個轉置即為我們要求的導數,即:

小結:以上就是微分法的基本流程,先求微分再做迹函數變換,最後得到求導結果。比起定義法,我們現在不需要去對矩陣中的單個标量進行求導了。

3.3 栗子2

第三到第四步,用了迹函數的矩陣乘法和迹交換(性質4)。求導結果為:

四、迹函數對向量矩陣求導

Reference

繼續閱讀