title: 閑話矩陣求導
原始文件沒有辦法把latex公式正常顯示,所以壹個壹個弄出來了,保留了原來的公式。原始文章來自《閑話矩陣求導》。
矩陣求導,想必許多領域能見到。統計學,經濟學,優化,機器學習等等,在對目標問題建立數學模型之後,問題往往被抽象為關於矩陣的優化問題。於是免不了需要對矩陣進行求導等操作。
簡單的向量和矩陣求導,大多數熟悉這些計算的人,應該都能直接寫下,然而復雜的矩陣函數求導則沒那麽簡單,著名的 matrix cookbook 為廣大的研究者們提供了壹本大字典,裏面有著各種簡單到復雜矩陣和向量的求導法則,但是如果妳的好奇心和我壹樣重,那麽妳肯定不會滿足於查字典這種方法,特別是在推導公式壹氣呵成滿紙亂飛的時候,查字典豈不是大煞風景?
事實上,所有求導的法則都可以從最基本的求導規則推導出來。不知妳有沒發現,不同的文獻中,同樣的式子求導的結果有時候會不壹樣,仔細觀察會發現剛好相差壹個轉置,於是我們得先說說求導的兩個派別(布局)。
不知道為什麽會是這個名字,總之矩陣求導有兩種布局,分子布局( numerator layout )和分母布局( denominator layout )。
為了闡明這兩種布局的區別,我們先來看最簡單的求導規則。
首先是向量 yy 對標量 xx 求導,我們假定所有的向量都是列向量,
在 分子布局 下,
而在 分母布局 下,
以下都是在分母布局下的定義 。
這壹部分,我們將看到壹些基本的求導規則,這些與其說是規則,倒不如說是定義。因此這壹部分是需要好好理解並且記憶(如果妳看壹遍還記不住的話)的。
標量 !$\mathrm{\mathbf{y}}$ 對向量 !$x$ 求導:
註意到,標量對向量求導和向量對標量求導剛好反過來。
向量對向量求導,
事實上,直觀上看,凡是對標量求導,結果的形式都要轉置,而標量對向量和矩陣求導則位置保持不動。這樣總結方便我們記憶。
總的來說,涉及矩陣和向量的求導不外乎五大類別,
接下來我們來看壹些常見的求導,
首先是 !$\frac{\partial\mathbf{Ax}}{\partial\mathbf{x}} $ ,
註意到
理論上對於任意的表達式,我們都可以通過定義出發,利用上面這種形式推導得到。
但是對於壹些復雜的求導,這個時候恐怕逐項展開分析就不是很靠譜了。
我們先來看求導分類的前三類,對於這三類問題,我們來看壹個非常強大的方法,通過分析維度來得到結果。
1、
假如 !$\mathbf{A}\in\mathbb{R}^{m\times n},\mathbf{u}\in\mathbb{R}^{n\times1},\mathbf{x}\in\mathbb{R}^{p\times1}$
我們知道最後結果肯定和 !$\frac{\partial\mathbf{u}}{\partial\mathbf{x}}$ 有關,註意到 !$\frac{\partial\mathbf{u}}{\partial\mathbf{x}}\in\mathbb{R}^{p\times n}$ ,於是 !$\mathbf{A}$ 只能轉置以後添在後面,因此
a,u是和x相關的標量
同樣對於 !$\frac{\partial a\mathbf{u}}{\partial\mathbf{x}},a\text{}$ 和 !$\mathbf{x}$ 相關的標量,假定 !$\mathbf{u}\in\mathbb{R}^{m\times1},\mathbf{x}\in\mathbb{R}^{n\times1}$ 根據乘積法則(非精確版本),前壹個部分肯定是 !$a\frac{\partial\mathbf{u}}{\partial\mathbf{x}}$ ,後壹部分為 !$\frac{\partial a}{\partial\mathbf{x}}\in\mathbb{R}^{n\times1}$ 和 !$\mathbf{u}$ 的某種形式的積,分析維度發現只能是 !$\frac{\partial a}{\partial\mathbf{x}}\mathbf{u}^{\mathrm{T}}$
於是
我們發現,雖然乘積法則的精準形式無法應用於矩陣求導中,然而這種非精確的乘積法則可以準確的告訴我們哪些項壹定會出現在結果中,然後通過分析維度,我們就可以寫出結果。
再看 !$\frac{\partial\mathbf{x}^{\mathrm{T}}\mathbf{Ax}}{\partial\mathbf{x}}$ ,其中 !$\mathbf{A}$ 和 !$\mathbf{x}$ 無關,
為了分析這個問題,我們考慮壹個更壹般的問題,
我們利用非精確的乘積法則,可以將這個分成兩部分
於是結果和兩部分相關,壹個是
,另壹個是
,同樣通過分析維度,我們可以得到
因此
最後看壹個式子
所以,
註意到
所以(註意到 !$\mathbf{x}^{\mbox{T}}\mathbf{b}\in\mathbb{R}$ ),
接下來看五種類型中剩下的兩類,在實際的問題中,主要是矩陣的跡對矩陣的求導問題。 正如我們在前面看到的,在矩陣的求導中,不存在精確的乘積法則,我們只是通過非精確的乘積法則分析出單項式中含有的項,再通過維度分析得到結果。 但是,有壹種情形下,乘積法則是精確成立的,我們現在就來看這壹種情形——跡的微分。因為在微分形式下,
等價於:
為了方便記憶,防止混淆,我們幹脆將壹下3個式子等同起來
等價於
註意這是分子布局下的,對應分母布局下應該為
為了方便記憶,防止混淆,我們幹脆將
和
直接等同起來。
於是所有的跡形式對矩陣的求導都先轉化為微分形式,比如
其實很簡單,我們再看幾個例子來加深理解:
先回憶壹些非常有用的跡的性質:
所以,
所以
這是壹份簡短的矩陣求導介紹,它的目的是告訴妳如何更好的快速推導這些公式,避免查閱手冊的麻煩。當然如果妳覺得妳完全是壹個工程師,查閱手冊感覺很方便,那麽繼續按照妳的方式生活吧。如果妳覺得很有用,那麽請繼續: Have fun with math!