1.兩種佈局約定方式
佈局(Layout):在矩陣求導中有兩種佈局,分別爲分母佈局(denominator layout)和分子佈局(numerator layout)。這兩種不同佈局的求導規則是不一樣的。
向量y=⎣⎢⎢⎢⎡y1y2⋮yn⎦⎥⎥⎥⎤,關於標量x的求導,
在分子佈局下,爲:
∂x∂y=⎣⎢⎢⎢⎡∂x∂y1∂x∂y2⋮∂x∂yn⎦⎥⎥⎥⎤
而在分母佈局下,爲:
∂x∂y=[∂x∂y1∂x∂y2⋯∂x∂yn]
通過觀察和推導我們可以知道,分子佈局和分母佈局之間剛好差一個轉置,即在分子佈局下與原來y相同,而在分母佈局下差一個轉置。
2.矩陣求導的類型
類型 |
標量 |
向量 |
矩陣 |
標量 |
∂x∂y |
∂x∂y |
∂x∂Y |
向量 |
∂x∂y |
∂x∂y |
|
矩陣 |
∂X∂y |
|
|
3.標量對標量求導
這種情況就是平常的代數求導,直接爲∂x∂y
4.向量對標量求導
向量y=⎣⎢⎢⎢⎡y1y2⋮yn⎦⎥⎥⎥⎤,關於標量x的求導(以分子佈局約定)就是y的每一個元素分別對x求導,可以表示爲:
∂x∂y=⎣⎢⎢⎢⎡∂x∂y1∂x∂y2⋮∂x∂yn⎦⎥⎥⎥⎤
此時爲正切向量,∂x∂y爲y的正切向量,有映射y:Rn⟹Rn??
5.矩陣對標量求導
矩陣對標量的求導類似於向量關於標量的求導,也就是矩陣的每個元素分別對標量x求導,矩陣Y=⎣⎢⎢⎢⎡y11y21⋮yn1y12y22⋮yn2⋯⋯⋱⋯y1ny2n⋮ynn⎦⎥⎥⎥⎤對標量x的導數(以分子佈局約定)爲:
∂x∂Y=⎣⎢⎢⎢⎡∂x∂y11∂x∂y21⋮∂x∂yn1∂x∂y12∂x∂y22⋮∂x∂yn2⋯⋯⋱⋯∂x∂y1n∂x∂y2n⋮∂x∂ynn⎦⎥⎥⎥⎤
6.標量對向量求導
標量y關於向量x=⎣⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎤的求導可以表示爲:
∂x∂y=[∂x1∂y∂x2∂y⋯∂xn∂y]
此時的向量叫做梯度向量。∂x∂y爲標量y在空間 Rn的梯度,該空間以x爲基。
7.向量對向量求導
向量函數(即函數組成的向量)y=⎣⎢⎢⎢⎡y1y2⋮yn⎦⎥⎥⎥⎤關於向量x=⎣⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎤的導數記作:
∂x∂y=⎣⎢⎢⎢⎢⎡∂x1∂y1∂x1∂y2⋮∂x1∂yn∂x2∂y1∂x2∂y2⋮∂x2∂yn⋯⋯⋱⋯∂xn∂y1∂xn∂y2⋮∂xn∂yn⎦⎥⎥⎥⎥⎤
此時獲得的矩陣∂x∂y叫做Jacobian矩陣。
8.標量對矩陣求導
自變量爲矩陣X 的標量函數 y 關於矩陣X的導數爲:(分子佈局約定)
∂X∂y=⎣⎢⎢⎢⎢⎡∂x11∂y∂x12∂y⋮∂x1q∂y∂x21∂y∂x22∂y⋮∂x2q∂y⋯⋯⋱⋯∂xp1∂y∂xp2∂y⋮∂xpq∂y⎦⎥⎥⎥⎥⎤
注意到這裏關於X的梯度的索引就是矩陣X索引的轉置。(矩陣的標量函數會涉及到矩陣的跡和行列式)。
參考文獻:
[1] Matrix calculus
[2] 矩陣求導(一)
[3] 數學-矩陣計算(4)兩種佈局