機器學習之線性迴歸公式推導
leboop文章,禁止轉載!
本文所有符號約定參見機器學習之矩陣微積分及其性質。
假設我們獲得了個數據,每一個數據由個特徵和一個真實值構成,如下:
feature_1 | feature_2 | feature_n | value | ||
1 | ... | ||||
2 | ... | ||||
. . . |
. . . |
. . . |
. . . |
. . . |
|
m | ... |
任意給定一組由個特徵構成的資料,如何預測?線性迴歸就是尋找一個由個特徵構成的最優線性組合,數學表述如下:
如果我們已經求出了上式中的每個係數,那麼對於獲得的每個資料,都有一個對應的預測值。直覺告訴我們,使每個預測值和真實值非常接近的係數將是我們需要的。所謂預測值和真實值的接近程度可以使用他們間的距離來度量,比如我們最熟悉的,那麼對於表中個數據,應該使用距離之和來度量,也就是
,
那麼使取最小值的係數就是我們需要的。但是求解的最小值,需要對每個分量求偏導數,而絕對值求導不太方便。所以,我們使用另外一種更方便求偏導的距離度量方式,如下:
,
為了方便求解係數,下面我們使用矩陣形式來表述。先做一些記號,
記個數據矩陣:
,
真實值:
,
預測值:
,
係數:
則可如下表示:
這裡表示向量的2-範數,例如表示向量
的2-範數,它如下定義:
,
從定義我們能得到的另一種表達方式:
注意到,我們有
所以和是等價的。優化問題轉化為求解,
而
根據機器學習之矩陣微積分及其性質,我們有:
令,則
當是非奇異矩陣,即,則
有一點需要提醒的是:
的第一列全部是1,有時候是經過中心化的,如:
那麼此時
,但是結果是一樣的,也就是