機器學習算法推導--矩陣求導中為何會有“轉置”?
之前學習神經網絡推導的時候,發現在有的求導上最后結果需要轉置,而有的不需要,很困惑:
淺層神經網絡反向傳播的困惑

正向傳播:
反向傳播:

這里為什么要對W進行轉置操作?為什么別處有的地方就沒有轉置操作?
矩陣求導知識
思來想去,突然發現自己對矩陣求導似乎一無所知,遂有:
博主第一次參考的博客 https://blog.csdn.net/u010976453/article/details/54381248 --
結果:建議大家先看評論-_- : 太感謝評論了,有了你們先趟過這潭水,讓我真的少走了很多彎路,感謝。
在評論里發現的寶藏:
https://blog.csdn.net/xidianliutingting/article/details/51673207
以及在這篇博客的評論里再次發現的寶藏:
https://blog.csdn.net/shouhuxianjian/article/details/46669365
接下來就是博主的總結了:
1、矩陣微積分符號表示的兩個派別:
之前會發現在有的求導上最后結果需要轉置,而有的不需要,很困惑,然后才發現了這個維基上面的解釋(這才是寫該博文的主要價值,注意到不同的布局問題,其他部分只是為了完整性而寫的),而且下面也有很多很不錯的參考鏈接,其中就有之前的矩陣計算(2)和矩陣計算(3)的鏈接。維基最后更新時間:17 April 2015, at 21:34.
在數學上, 矩陣微積分是用來表示多變量的微積分,當然主要還是在矩陣空間上的。它覆蓋了單一函數(單元)關於多變量的偏導,多變量函數(多元函數)關於單一變量、向量和矩陣的偏導(向量、矩陣可以被視為單一實體對待)。這種符號化的數學表示大大的簡化了很多操作,例如查找多變量函數的最大值或者最小值,以及微分方程的求解系統等等。值得注意的是:下面使用的符號是在統計和工程領域中常用的,不過張量的指數表示(tensor index notation)是來自物理學。
不過有個我們之前未注意的是,有兩派人它們使用着自己的符號約定,從而將矩陣微積分划分成了兩個派別。這兩個派別很容易區分,只要看它們寫一個標量關於一個向量的導數是寫成列向量還是行向量。不過這兩個約定都是被大家所接受的,就算是在涉及到一般的矩陣計算的時候,將常規的向量默認視為列向量(而不是行向量)的情況下還是成立的。在矩陣微積分中,如果采取了一個約定,那么就使用該約定貫穿整個領域(例如:計量經濟學,統計學,評估理論(etimation theory)和機器學習),不要混用不然會造成混亂。然而,在一個具體的領域中,不同的作者還是會使用不同的約定,因為會有來自不同派別的作者會將他們自己的約定作為標准。所以在沒有去仔細的驗證不同作者的資料的時候盲目的將他們的結論放在一起會有嚴重的錯誤。因而在一個完整的資料上需要確保符號的一致性。在下面的布局約定部分會有兩種約定的定義介紹和比較。
————————————————
原文鏈接:https://blog.csdn.net/shouhuxianjian/article/details/46669365
所以會有:https://blog.csdn.net/daaikuaichuan/article/details/80620518

2、矩陣求導的基礎知識:



3、豁然開朗:

全連接層反向傳播矩陣推導
原文:https://blog.csdn.net/wp_csdn/article/details/79920764





