向量轉置的怎麼求導 機器學習中的向量求導和矩陣求導

2021-10-14 06:15:51 字數 2494 閱讀 6521

首發於:

首先,在機器學習中,對於研究經常需要用到的標量、向量、矩陣的求導,我們約定分子使用

根據上面的約定,我們研究一下五個分類(標號1-標號5對應後續標題)。如下:

上面的**表示我們主要討論的6個種類,對於矩陣對向量的求導

、向量對矩陣的求導

、矩陣對矩陣的求導

不予考慮。

在機器學習中,我們預設向量用列向量表示,對於行向量的各種運算相同,只要轉置一下就可以了。

對於向量和矩陣的求導,實際上依舊類似於正常的實數求導,只不過對於向量或者矩陣的每乙個分量的求導結果,按照向量或者矩陣的形式進行排列罷了。

由此引出兩種布局方式,一種叫做分子布局(numerator layout),另一種叫做分母布局(denominator layout)。所謂xx布局,即是指在做求導運算的時候,最終的求導結果的分布和xx部分保持一致,如果需要轉置,則對yy部分進行轉置。如果分子布局,且分子有m行,則求導結果也是m行;如果分母布局,且分母有n行,則求導結果也是n行。反之,對於分母布局,如果分子有m行,則求導結果將有m列;對於分子布局,如果分母有n行,則結果將包含n列。

是不是有點繞?沒事,接著看看例項就明白了……

向量對標量求導,使用分子布局:則在求導過程中,求導結果按列展開,逐個進行求導運算,結果仍然是列向量。

向量對標量求導,使用分母布局:則在求導過程中,求導結果按行展開,逐個進行求導運算,結果呈行向量。

標量對向量求導,使用分子布局:則在求導過程中,求導結果按行展開,逐個進行求導運算,結果呈行向量。

標量對向量求導,使用分母布局:則在求導過程中,求導結果按列展開,逐個進行求導運算,結果保持列向量形式。

矩陣對標量求導,使用分子布局:則在求導過程中,對矩陣的每個元素分別進行求導,按照矩陣的排列方式進行組合,組成導數結果矩陣。

例如對於矩陣

, 求導結果仍然是

,具體如下所示:

矩陣對標量求導,使用分母布局:則在求導過程中,對矩陣的每個元素分別進行求導,按照矩陣的轉置進行組合,組成導數結果矩陣,與原矩陣行列大小翻轉。

例如對於矩陣

, 求導結果是

,具體如下所示:

標量對矩陣求導,使用分子布局:則在求導的結果中,因為矩陣處於分母位置,結果呈現對原矩陣的翻轉形式。

例如對於矩陣

, 求導結果為

,具體如下所示:

標量對矩陣求導,使用分母布局:則在求導的結果中,因為矩陣處於分母位置,結果與分母的矩陣大小保持一致。

例如對於矩陣

, 求導結果為

,具體如下所示:

前面介紹的四類相對來說比較容易理解,因為分子分母沒有同時呈現向量或矩陣形式,其中之一以標量的形式出現,這樣就方便理解。接下來的向量與向量之間的運算相對來說困難一丟丟。

向量對向量求導,使用分子布局:則分子的向量按列展開,分母的向量按行展開。最終求導運算的結果以矩陣形式出現,如何理解呢?對於分子的向量,如果我們計算其中每個元素(標量)對向量的求導結果,結果將會是乙個向量。多個向量進行堆疊,結果呈現形式就會是乙個矩陣。但是矩陣首先是按照分子的順序進行運算呢還是按照分母的順序進行運算呢?答案是都可以,兩種不同的運算形式就是分子布局和分母布局的差別。如下所示:

若 則分子布局表示結果仍然按照分子的行進行表示,每一行的運算則是對

轉置分別求導計算出來的 。具體如下:

其中,每乙個元素(標量)對分母上列向量的求導仍然是分子布局(參見[標量對向量求導-分子布局]) 即對其進行翻轉,這樣,每一行將包含長度為

的行向量。最終結果將是乙個

大小的矩陣如下所示:

數學上將這種矩陣稱之為雅克比 (jacobian)矩陣,常用符號

進行表示。

相反,向量對向量求導,使用分母布局:則分母列不變,分子按行展開,逐個參與運算,結果呈現

的矩陣。如下所示: 若

分母布局表示將分子進行逐個按列的求導(分母布局,結果呈現為列向量,參見[標量對向量求導-分母布局]),結果呈現為列向量。然後對分子上向量中的每個元素,橫向進行堆疊,共堆疊m列。因此最終結果為乙個

的矩陣。

具體如下:

其中,每乙個元素(標量)對分母上列向量的求導仍然是分母布局,即仍然是列向量,對分子的列向量進行翻轉並橫向堆疊,這樣,每一行將包含長度為

的行向量。最終結果將是乙個

大小的矩陣如下所示:

數學上將這種矩陣稱之為梯度矩陣,有些資料會用符號

進行表示。

但是我們在機器學習中,很少見到所謂的「分子布局」和「分母布局」,這是因為在運算中,大多秉承著一些約定俗成的運算規則。如下所示:

- 向量對標量求導,預設使用分子布局

- 矩陣對標量求導,預設使用分子布局

- 標量對向量求導,預設使用分母布局

- 向量對向量求導,常使用分母布局

幾個公式

向量轉置的怎麼求導 機器學習中的向量求導和矩陣求導

在機器學習的各種關於向量或者矩陣的求導中,經常會出現各種需要轉置或者不需要轉置的地方,經常會看得人暈頭轉向。今天我對機器學習中關於這部分的常識性處理方法進行整理並記錄下來方便大家參考。一些約定 首先,在機器學習中,對於研究經常需要用到的標量 向量 矩陣的求導,我們約定分子使用 根據上面的約定,我們研...

向量轉置的怎麼求導 向量求導

1.矩陣y對標量x求導 相當於每個元素求導數後轉置一下,注意m n矩陣求導後變成n m了 y y ij dy dx dy ji dx 2.標量y對列向量x求導 注意與上面不同,這次括號內是求偏導,不轉置,對n 1向量求導後還是n 1向量 y f x1,x2,xn dy dx dy dx1,dy dx...

向量轉置的怎麼求導 機器學習入門之矩陣求導(一)

矩陣求導可以說是機器學習的門檻了,阻擋了很多人,另外不知道為啥矩陣求導屬於科目的三不管地帶,每科老師都預設你已經會矩陣求導了,都不會專門教你。很多人看不懂西瓜書就是因為看不懂裡面的矩陣求導部分,用西瓜書來入門機器學習可以說是乙個坑了,讓很多人無法對機器學習產生興趣,這其實違背了教育的初衷。雖然有南瓜...