一、線性回歸算法的簡介
線性回歸是利用數理統計中回歸分析,來確定兩種或兩種以上變量間相互依賴的定量關系的一種統計分析方法,運用十分廣泛。其表達形式為y = w'x+e,e為誤差服從均值為0的正態分布。
回歸分析中,只包括一個自變量和一個因變量,且二者的關系可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。如果回歸分析中包括兩個或兩個以上的自變量,且因變量和自變量之間是線性關系,則稱為多元線性回歸分析。
本文主要介紹線性回歸算法的演繹推導,關於線性回歸的詳細介紹請參閱線性回歸在百度百科中的介紹。
線性回歸算法是機器學習中的基礎算法,所以對於想要學習機器學習的讀者來說,最好完全理解該算法。
二、線性回歸算法的演繹推導
假設,在銀行中申請行用卡的額度與如下兩個參數有關,即年齡和工資,有一申請人的資料如下圖,那么知道一個人的年齡和工資該如何預測出他所能申請信用卡的額度呢?

對於一個線性關系,我們使用y=ax+b表示,但在這種關系中y只受一個x的影響,二者的關系可用一條直線近似表示,這種關系也叫一元線性回歸。而在本例中,設額度為h,工資和年齡分別為x1和x2,則可以表示成下式,
,在這種關系中結果收到多個變量的影響,稱為多元線性回歸分析。
我們將上式中的θ和x分別表示成兩個一維矩陣[θ0 θ1 θ2]和[x0 x1 x2],則可將上式化為
(令x0=1)。
而實際結果不可能完全符合我們的計算結果,所以兩者之間必定存在誤差,假設對於第i個樣本,存在如下關系,
,其中
為真實誤差。
誤差
獨立並且具有相同的分布(通常認為是均值為0的高斯分布)。
所以可以得到下式:

那么,如果存在大量的樣本,我們就可以通過
和
做關於θ的參數估計,
求似然函數如下:

對上式求對數:

對上式求導,使其值為0,便可求得θ的最大似然估計。
在上式中,被標記的兩部分都是常數,前一部分求導后為零,后一部分為一個因數,不會影響最終結果。所以,對於最終結果,只需讓未被標記的部分求導后為0。所以使:
,
將上式化簡,並對θ求偏導:

將求導的結果設值為0,便可求得θ的最大似然估計(最小二乘法),
![]()
得到θ后,我們即通過樣本訓練出了一個線性回歸模型,便可使用
對結果未知的數據進行預測。
PS: 讀者只需理解改算法的推導過程即可,對於數據的計算,編程解決即可,無需手動計算(對於多維矩陣的計算量相當大,而且很容易算錯 ( ̄▽ ̄)")。
