本文整理自李建平機器學(xué)習(xí)中的矩陣向量求導(dǎo)系列和長軀鬼俠的矩陣求導(dǎo)術(shù)。
1. 符號說明
默認(rèn)符號:
:標(biāo)量
: 維列向量
: 維列向量
:矩陣
:矩陣
2. 矩陣向量求導(dǎo)布局
自變量\因變量 | 標(biāo)量 | 向量 | 矩陣 |
---|---|---|---|
標(biāo)量 | / |
分子布局:m維列向量(默認(rèn)) 分母布局:維行向量 |
分子布局:p × q矩陣(默認(rèn)) 分母布局:矩陣 |
向量 |
分子布局:維行向量 分母布局:n 維列向量(默認(rèn)) |
分子布局:m × n 雅克比矩陣(默認(rèn)) 分母布局: 梯度矩陣 |
/ |
矩陣 |
分子布局: 矩陣 分母布局:m × n 矩陣(默認(rèn)) |
/ |
分母布局:mn × pq 矩陣 |
3. 矩陣向量求導(dǎo)大全
自變量\因變量 | 標(biāo)量 | 向量 | 矩陣 |
---|---|---|---|
標(biāo)量 |
大學(xué)微積分知識 |
定義法求導(dǎo) |
定義法求導(dǎo) |
向量 |
1. 定義法求導(dǎo) 2. 基本法則:線性法則、乘法法則、除法法則 3. 矩陣微分: 4. 鏈?zhǔn)椒▌t: |
1. 定義法求導(dǎo) 2. 鏈?zhǔn)椒▌t: |
—— |
矩陣 |
1. 定義法求導(dǎo) 2. 矩陣微分: 3. 矩陣微分性質(zhì) 4. 跡技巧 5. 鏈?zhǔn)角髮?dǎo)法則: |
—— |
1. 定義: 2. 微分法: 3. 運算法則 |
4. 標(biāo)量對向量求導(dǎo)
已知:
求:
4.1 定義法求導(dǎo)
所謂標(biāo)量對向量的求導(dǎo),其實就是標(biāo)量對向量里的每個分量分別求導(dǎo)会前,最后把求導(dǎo)的結(jié)果排列在一起,按一個向量表示而已。那么我們可以將實值函數(shù)對向量的每一個分量來求導(dǎo)止潘,最后找到規(guī)律,得到求導(dǎo)的結(jié)果向量居兆。
例1:
所以覆山,將求導(dǎo)結(jié)果組成向量:
4.2 標(biāo)量對向量求導(dǎo)基本法則
4.3 通過向量微分求導(dǎo)
利用導(dǎo)數(shù)和微分之間的關(guān)系:
例:
所以,根據(jù)導(dǎo)數(shù)與微分的聯(lián)系:
4.4 標(biāo)量對多個向量的鏈?zhǔn)角髮?dǎo)法則
若標(biāo)量 和向量 之間的依賴關(guān)系為: 泥栖,則:
推廣到多個向量的情況簇宽, ,則有:
5. 標(biāo)量對矩陣求導(dǎo)
已知:
求:
5.1 定義法求導(dǎo)
與標(biāo)量對向量求導(dǎo)類似吧享,標(biāo)量對矩陣?yán)锏拿總€分量分別求導(dǎo)魏割,最后把求導(dǎo)的結(jié)果排列在一起,用一個矩陣表示而已钢颂。
例: ,求
先對矩陣的任意一個位置的求導(dǎo):
將所有位置求導(dǎo)結(jié)果排成矩陣遭垛,得:
5.2 通過矩陣微分求導(dǎo)
一元微積分中的導(dǎo)數(shù)(標(biāo)量對標(biāo)量的導(dǎo)數(shù))與微分之間的關(guān)系:
多元微積分中的梯度(標(biāo)量對向量的導(dǎo)數(shù))與微分之間的關(guān)系:
矩陣導(dǎo)數(shù)與微分之間的關(guān)系:
利用導(dǎo)數(shù)與微分操灿,以及跡技巧锯仪,可以求得標(biāo)量函數(shù) 對于矩陣 的導(dǎo)數(shù):
- 對標(biāo)量函數(shù) 求微分,需用到矩陣微分運算法則趾盐;
- 使用跡技巧庶喜,對 套上跡,再將其它項移至 左側(cè)救鲤;
- 對照導(dǎo)數(shù)與微分之間的聯(lián)系久窟,可求得
注:標(biāo)量對矩陣的求導(dǎo)不能隨意沿用標(biāo)量的鏈?zhǔn)角髮?dǎo)法則。
5.3 矩陣微分運算法則
矩陣加減法 | 法則 | 示例 |
---|---|---|
矩陣加減法 | ||
矩陣乘法 | ||
矩陣轉(zhuǎn)置 | ||
矩陣的跡 | ||
矩陣的逆 | ||
行列式 | | | | 是的伴隨矩陣 |
逐元素相乘 | ||
逐元素函數(shù) |
5.4 跡技巧(trace trick)
運算 | 法則 | 備注 |
---|---|---|
標(biāo)量套上跡 | ||
轉(zhuǎn)置 | ||
線性 | ||
矩陣乘法交換 | 與維度相同本缠,兩側(cè)都等于 | |
矩陣乘法/逐元乘法交換 | 尺寸相同斥扛,兩側(cè)都等于 |
5.5 標(biāo)量對多個矩陣的鏈?zhǔn)角髮?dǎo)法則
假設(shè)有這樣的依賴關(guān)系: ,很難給出矩陣基于矩陣整體的鏈?zhǔn)角髮?dǎo)法則丹锹,可以給出關(guān)于 中某一標(biāo)量的鏈?zhǔn)角髮?dǎo):
5.6 計算示例
例1: 队他,求 。其中 是 列向量峻村,是 矩陣麸折, 是 列向量粘昨。
Step1: 使用矩陣乘法法則求微分:
這里因為是常量吞瞪,所以
Step2: 套上跡,并做矩陣乘法交換:
Step3:對照導(dǎo)數(shù)與微分之間的聯(lián)系:
例2:,求 荆虱。
Step1: 使用矩陣乘法法則求微分:
Step2: 套上跡怀读,并做矩陣乘法交換:
Step3:對照導(dǎo)數(shù)與微分之間的聯(lián)系:
例3【線性回歸】条舔,求 的最小二乘估計枫耳。其中是 列向量, 是矩陣孟抗, 是 列向量迁杨,是標(biāo)量钻心。
Step1: 將向量模平方改成向量與內(nèi)積形式:
Step1: 使用矩陣乘法法則求微分:
Step2: 套上跡,并做矩陣乘法交換:
Step3:對照導(dǎo)數(shù)與微分之間的聯(lián)系:
Step3:求的最小二乘估計
6. 向量對向量求導(dǎo)
向量對向量的求導(dǎo)比較麻煩铅协, 為列向量 對 維列向量 求導(dǎo)捷沸,那么一共有 個標(biāo)量對標(biāo)量的求導(dǎo)。
分子布局(numerator layout):
求導(dǎo)結(jié)果矩陣的第一個維度以分子為準(zhǔn)狐史,結(jié)果是一個矩陣痒给,一般叫作雅克比矩陣。
分母布局(denominator layout):
求導(dǎo)結(jié)果矩陣的第一個維度以分母為準(zhǔn)骏全,結(jié)果是一個矩陣苍柏,一般叫作梯度矩陣。
對于機器學(xué)習(xí)算法原理中的推導(dǎo)姜贡,究竟是采用什么布局一般是隱含的试吁,需自己推導(dǎo)。本文以分子布局的雅克比矩陣為主楼咳。
6.1 定義法求導(dǎo)
例: 熄捍,其中 是 的矩陣, 分別是 維例向量母怜。
Step1: 先求 的第 個分量對 的第 個分量的導(dǎo)數(shù):
Step2: 將每個標(biāo)量求導(dǎo)結(jié)果排列成矩陣治唤,這里用分子布局:
6.2 向量對向量求導(dǎo)的鏈?zhǔn)椒▌t
若向量之間有這樣的依賴關(guān)系: ,則有下面的鏈?zhǔn)角髮?dǎo)法則:
7. 矩陣對矩陣求導(dǎo)
7.1 矩陣對矩陣求導(dǎo)定義
糙申, 宾添, 矩陣中的 個元素要分別對矩陣 中的 個元素求導(dǎo),那么求導(dǎo)結(jié)果一共會有 個元素柜裸。求導(dǎo)結(jié)果的排列有很多種缕陕。這里只介紹目前主流的做法。
目前主流的矩陣對矩陣求導(dǎo)定義是對矩陣先做向量化疙挺,然后再使用向量對向量的求導(dǎo)扛邑。而這里的向量化一般是使用列向量化。也就是說铐然,現(xiàn)在我們的矩陣對矩陣求導(dǎo)可以表示為:
的維度是 列向量蔬崩,的維度是 列向量。結(jié)果使用分母布局搀暑,得到一個 的矩陣沥阳。
7.2 微分求導(dǎo)法
利用導(dǎo)數(shù)與微分的聯(lián)系:
求解步驟:
- 使用矩陣微分運算法則對矩陣 求微分;
- 做向量化并使用跡技巧將其它項交換至的左側(cè)自点;
- 根據(jù)導(dǎo)數(shù)與微分關(guān)系桐罕,得到矩陣對矩陣的微分結(jié)果。
7.3 矩陣向量化的運算法則
性質(zhì) | 法則 |
---|---|
線性性質(zhì) | |
矩陣乘法 | |
矩陣轉(zhuǎn)置 | |
逐元素乘法 |
注:
:克羅內(nèi)克(Kronecker)積, 與 的克羅內(nèi)克積是 ;
:交換矩陣功炮。若是 的列向量溅潜,則,將按列優(yōu)先的向量化變?yōu)榘葱袃?yōu)先的向量化薪伏;
是用 的元素(列優(yōu)先)排成的對角陣滚澜。