學習總結
(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)。求導結果為: