矩陣求導好像讀書的時候都沒學過,因為講矩陣的課程上不講求導,講求導的課又不提矩陣。如果從事機器學習方面的工作,那就一定會遇到矩陣求導的東西。維基百科上:
, 根據y與x的不同型別(實值,向量,矩陣),給出了具體的求導公式,以及一堆相關的公式,查起來都費勁。
其實在實際的機器學習工作中,最常用到的就是實值函式y對向量x的求導,定義如下(其實就是y對向量x的每乙個元素求導):
實值函式對矩陣x求導也類似:
因為機器學習(這裡指的是有監督的機器學習)的一般套路是給定輸入x,選擇乙個模型f作為決策函式,由f(x)**出y'。而得到f的引數θ(往往是向量),需要定義乙個loss函式(一般都是實值函式),描述當前f**值y'與實際的y值的接近程度。模型學習的過程就是求使得 loss函式 l(f(x),y)最小的引數θ。這是乙個最優化問題,實際應用中都是用和梯度相關的最優化方法,如梯度下降,共軛梯度,擬牛頓法等等。
其實只要掌握上面這個公式,就能搞定很多問題了。
為了方便推導,下面列出一些機器學習中常用的求導公式,其中andrew ng那一套用矩陣跡的方法還是挺不錯的,矩陣的跡也是實值的,而乙個實數的跡等於其本身,實際工作中可以將loss函式轉化成跡,然後在求導,可能會簡化推導的步驟。
以上只是一些最基本的公式,能夠解決一些問題,主要是減少大家對矩陣求導的恐懼感。關於矩陣方面的更多資訊可以參考上面的wiki鏈結以及《matrix cookbook》(感謝@王樹森 cs推薦)。
分享:
機器學習中的矩陣向量求導 一 求導定義與求導布局
在之前寫的上百篇機器學習部落格中,不時會使用矩陣向量求導的方法來簡化公式推演,但是並沒有系統性的進行過講解,因此讓很多朋友迷惑矩陣向量求導的具體過程為什麼會是這樣的。這裡準備用幾篇博文來討論下機器學習中的矩陣向量求導,今天是第一篇。本系列主要參考文獻為維基百科的matrix caculas和張賢達的...
機器學習中常用的矩陣求導公式
機器學習中常用的矩陣求導公式 矩陣求導好像讀書的時候都沒學過,因為講矩陣的課程上不講求導,講求導的課又不提矩陣。如果從事機器學習方面的工作,那就一定會遇到矩陣求導的東西。維基百科上 根據y與x的不同型別 實值,向量,矩陣 給出了具體的求導公式,以及一堆相關的公式,查起來都費勁。其實在實際的機器學習工...
機器學習中常用的矩陣求導公式
矩陣求導好像讀書的時候都沒學過,因為講矩陣的課程上不講求導,講求導的課又不提矩陣。如果從事機器學習方面的工作,那就一定會遇到矩陣求導的東西。維基百科上 根據y與x的不同型別 實值,向量,矩陣 給出了具體的求導公式,以及一堆相關的公式,查起來都費勁。其實在實際的機器學習工作中,最常用到的就是實值函式y...