目錄
- 矩陣向量求導定義
- 矩陣向量求導布局
機器學習中很多地方用到了標量,向量和矩陣之間的求導,計算求導確實非常麻煩,三個兩兩結合,就有9中基本形態,再加上轉置,就更加暈乎了,因此作為后續學習基礎,這個放到機器學習最前面作為先導知識。具體求導內容可見:
張賢達的《矩陣分析與應用》,電子檔文本如下:
鏈接:https://pan.baidu.com/s/1iIcqAyJ1cfi2icdwgay0kw 提取碼:rcwx
一、矩陣向量求導定義
求導其實高中就學過,基本都是標量對標量求導,也即是下圖中的第一種形式,很簡單就不展開。所謂向量對標量的求導,其實就是向量里的每個分量分別對標量求導,最后把求導的結果排列在一起,按一個向量表示而已。類似的結論也存在於標量對向量的求導,向量對向量的求導,向量對矩陣的求導,矩陣對向量的求導,以及矩陣對矩陣的求導等。
若沒有特殊說明,默認情況定義如下:求導的自變量用x表示標量,x表示n維向量,X表示m×n維度的矩陣,求導的因變量用y表示標量,y表示m維向量,Y表示p×q維度的矩陣。默認向量為列向量,若是行向量,本文全部使用對應字母的轉置表示。
根據求導的自變量和因變量是標量,向量還是矩陣,我們有9種可能的矩陣求導定義,如下:
自變量\因變量 |
標量y |
向量y |
矩陣Y |
標量x |
∂y/∂x |
∂y/∂x |
∂Y/∂x |
向量x |
∂y/∂x |
∂y/∂x |
∂Y/∂x |
矩陣X |
∂y/∂X |
∂y/∂X |
∂Y/∂X |
但是向量和矩陣表示又區分行和列不同情況,實際也就是轉置不同,需要統一標准,才能閱讀方便,一般稱之為求導布局。
二、 矩陣向量求導布局
最基本的求導布局有兩個:分子布局(numerator layout)和分母布局(denominator layout )。總體原則:根據保持與前面向量或矩陣為一致作為默認形式
2.1 分子布局(numerator layout)
一種解釋:分子為 y 或者分母為 xT (即,分子為列向量或者分母為行向量)
另一種理解:以分子為主,求導的結果的維度和分子的維度是一致的。
如果向量y是一個m維的列向量,那么求導結果∂y/∂x也是一個m維列向量;
如果向量y是一個m維的行向量,那么求導結果∂y/∂x也是一個m維行向量。
2.2 分母布局(denominator layout )
一種解釋:分子為 yT 或者分母為 x (即,分子為行向量或者分母為列向量)
另一種理解:對於分母布局來說,我們求導結果的維度以分母為主
如果向量y是一個m維的列向量,那么求導結果∂y/∂x是一個m維行向量;
如果向量y是一個m維的行向量,那么求導結果∂y/∂x是一個m維列向量。
2.3 舉例說明:
總體來說還是有點繞,統一舉例列表如下所示。
2.3.1 分子布局
標量/向量(行向量):
向量 (列向量)/標量:默認形式
向量/向量: (分子為列向量橫向平鋪,分母為行向量縱向平鋪)默認形式 稱為雅克比 (Jacobian)矩陣
標量/矩陣: (注意這個矩陣部分是轉置的,而下面的分母布局是非轉置的)
矩陣/標量:默認形式
2.3.2 分母布局
標量/向量: (分母的向量為列向量)默認形式
向量/標量: (分子的向量為行向量)
向量/向量: (分子為行向量縱向平鋪,分母為列向量橫向平鋪)
標量/矩陣: (矩陣部分為原始矩陣)默認形式
2.3.3 匯總
第一種太簡單,不寫了,后面三種情況太難,后續再展開。均有斜杠表示。我么按照列向量來舉例子,行向量取轉置即可。
自變量\因變量 |
標量y |
列向量y(m維) |
矩陣Y(p × q) |
標量x |
/ |
∂y/∂x 分子布局:m維列向量(默認布局) 分母布局:m維行向量 |
∂Y/∂x 分子布局:p × q矩陣(默認布局) 分母布局:q × p矩陣 |
列向量x(n維) |
∂y/∂x 分子布局:n維行向量 分母布局:n維列向量(默認布局)
|
∂y/∂x 分子布局:m × n雅可比矩陣(默認布局) 分母布局:n × m梯度矩陣 |
/ |
矩陣X (p × q) |
∂y/∂X 分子布局:q × p矩陣 分母布局:p × q矩陣(默認布局) |
/ |
/ |
主要來自: