矩陣求導可以說是機器學習的門檻了,阻擋了很多人,另外不知道為啥矩陣求導屬於科目的三不管地帶,每科老師都預設你已經會矩陣求導了,都不會專門教你。很多人看不懂西瓜書就是因為看不懂裡面的矩陣求導部分,用西瓜書來入門機器學習可以說是乙個坑了,讓很多人無法對機器學習產生興趣,這其實違背了教育的初衷。雖然有南瓜書作為西瓜書的補充,但是還是不夠清晰。
接下來通過多元線性回歸來理解矩陣求導。
所謂多元線性回歸就是最小二乘法,最小二乘法又叫最小平方法,即最小化**值和真值的差的平方的均值來求解模型引數。
注意:
上面劃線的小寫字母表示列向量(和高中手寫向量寫法一致),表示向量的轉置,(向量一般預設是列向量,轉置後是行向量),a小寫字母表示標量,
表示乙個行向量,故
是乙個列向量。
輸入資料:
即輸入資料是乙個n行d列的矩陣。第i行
是第i個輸入資料(行向量),其特徵維度是d維,
是輸入的列向量形式。注意我這裡矩陣x的每一行是乙個資料輸入,不是列。由於預設向量為列向量,所以用
轉置表示行向量。
輸入特徵矩陣x
資料的lable:
是乙個n維的列向量,
是第i個輸入資料的label。
引數:
是乙個d維的列向量,偏置引數b(是乙個數)。
模型輸出:
是乙個n維的列向量,
是第i個輸入資料的輸出。
輸入和輸出的關係
,即輸入是乙個d維向量,輸出是乙個數:
沒有隱藏層的全連線網路
故是乙個d維的行向量,
是乙個d維的列向量,
相乘即滿足左行右列的矩陣乘法規則,(1*d)
(d*1)結果是乙個(1*1)的數。
輸入和輸出的關係的矩陣形式:
,其中
是n個b組成的列向量,是數值b的廣播(廣播機制:
輸入矩陣x後的矩陣運算
多元線性回歸即最小平方法的數學模型:最小化
矩陣形式的
即最小化均方誤差,誤差的平方的均值。
目標是讓
盡可能擬合
來估計引數
和b的值。
再次強調:
是向量,x是標量(乙個數),x是乙個矩陣,另外這裡的
也是乙個數
。和b的值呢?
方法:採用高中數學導數知識,二次方程導數為0時即是最小值,令
求解出和b。
求解方法一,非矩陣形式:
求解方法二,矩陣形式:
注:像西瓜書等都把
省略,因為其是常數,可以求導後加上,這裡為了表明是均方根誤差,所以加上
。是乙個數,
是乙個數,b也是乙個數,
是乙個d維的列向量。 對
向量求導,就是對其每一項求導,設第k項為
。對 向量求導:
求解出d個(1)和(2)即可得到
和b的值,使loss最小。
但是數太多了,很難求出來,所以接下來介紹如何用矩陣求解多元線性回歸方程。
你想成為哪一種?
輸入和輸出的關係的矩陣形式
原始的輸出得到方式
該矩陣形式可以將w和b合併成更簡單的形式:
首先對x擴充一列:
擴充一列後的x
b加入到w中,增加一行得到新的
擴充w為更簡單形式
這樣的話:
和西瓜書格式一樣了
求解目標也轉化為通過loss關於新的
(包含以前的
和b)的導數為零的極值點:
(或者說列向量)的導數?
注意
是所有誤差的平常,是乙個數,所以以上是標量
關於矩陣
(或者說列向量)的導數。
向量轉置的怎麼求導 向量求導
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...
向量轉置的怎麼求導 機器學習中的向量求導和矩陣求導
首發於 首先,在機器學習中,對於研究經常需要用到的標量 向量 矩陣的求導,我們約定分子使用 根據上面的約定,我們研究一下五個分類 標號1 標號5對應後續標題 如下 上面的 表示我們主要討論的6個種類,對於矩陣對向量的求導 向量對矩陣的求導 矩陣對矩陣的求導 不予考慮。在機器學習中,我們預設向量用列向...
向量轉置的怎麼求導 機器學習中的向量求導和矩陣求導
在機器學習的各種關於向量或者矩陣的求導中,經常會出現各種需要轉置或者不需要轉置的地方,經常會看得人暈頭轉向。今天我對機器學習中關於這部分的常識性處理方法進行整理並記錄下來方便大家參考。一些約定 首先,在機器學習中,對於研究經常需要用到的標量 向量 矩陣的求導,我們約定分子使用 根據上面的約定,我們研...