機器學習算法 --- 線性迴歸

1、線性迴歸算法的簡介

   線性迴歸是利用數理統計中迴歸分析,來肯定兩種或兩種以上變量間相互依賴的定量關係的一種統計分析方法,運用十分普遍。其表達形式爲y = w'x+e,e爲偏差服從均值爲0的正態分佈。算法

  迴歸分析中,只包括一個自變量和一個因變量,且兩者的關係可用一條直線近似表示,這種迴歸分析稱爲一元線性迴歸分析。若是迴歸分析中包括兩個或兩個以上的自變量,且因變量和自變量之間是線性關係,則稱爲多元線性迴歸分析。編程

  本文主要介紹線性迴歸算法的演繹推導,關於線性迴歸的詳細介紹請參閱線性迴歸在百度百科中的介紹機器學習

  線性迴歸算法是機器學習中的基礎算法,因此對於想要學習機器學習的讀者來講,最好徹底理解該算法。函數

2、線性迴歸算法的演繹推導

  假設,在銀行中申請行用卡的額度與以下兩個參數有關,即年齡和工資,有一申請人的資料以下圖,那麼知道一我的的年齡和工資該如何預測出他所能申請信用卡的額度呢?學習

  對於一個線性關係,咱們使用y=ax+b表示,但在這種關係中y只受一個x的影響,兩者的關係可用一條直線近似表示,這種關係也叫一元線性迴歸。而在本例中,設額度爲h,工資和年齡分別爲x1和x2,則能夠表示成下式,,在這種關係中結果收到多個變量的影響,稱爲多元線性迴歸分析。spa

  咱們將上式中的θ和x分別表示成兩個一維矩陣[θ0   θ1   θ2]和[x0   x1   x2],則可將上式化爲(令x0=1)。3d

  而實際結果不可能徹底符合咱們的計算結果,因此二者之間一定存在偏差,假設對於第i個樣本,存在以下關係,,其中爲真實偏差。blog

  偏差獨立而且具備相同的分佈(一般認爲是均值爲0的高斯分佈)。get

  因此能夠獲得下式:it

            

  那麼,若是存在大量的樣本,咱們就能夠經過作關於θ的參數估計,

  求似然函數以下:

          

  對上式求對數:

        

  對上式求導,使其值爲0,即可求得θ的最大似然估計。

  在上式中,被標記的兩部分都是常數,前一部分求導後爲零,後一部分爲一個因數,不會影響最終結果。因此,對於最終結果,只需讓未被標記的部分求導後爲0。因此使:

        

  將上式化簡,並對θ求偏導:

        

  將求導的結果設值爲0,即可求得θ的最大似然估計(最小二乘法),

        

  獲得θ後,咱們即經過樣本訓練出了一個線性迴歸模型,即可使用對結果未知的數據進行預測。

  PS: 讀者只需理解改算法的推導過程便可,對於數據的計算,編程解決便可,無需手動計算(對於多維矩陣的計算量至關大,並且很容易算錯 ( ̄▽ ̄)")。

相關文章
相關標籤/搜索