線性迴歸算法原理推導

機器學習的有監督算法分爲分類和迴歸兩種。算法

  • 迴歸:經過輸入的數據,預測出一個值,如銀行貸款,預測銀行給你貸多少錢。
  • 分類:經過輸入的數據,獲得類別。如,根據輸入的數據,銀行判斷是否給你貸款。

1、線性迴歸

  如今這裏有一個例子
  數據:工資和年齡(2個特徵)
  目標:預測銀行會貸款給我多少錢(標籤)
  考慮:工資和年齡都會影響最終銀行貸款的結果那麼它們各自有多大的影響呢?(參數)機器學習

工資 年齡 額度
4000 25 20000
8000 30 70000
5000 28 35000
7500 33 50000
12000 40 85000

  輸入爲工資和年齡,輸出爲銀行貸款的額度。那麼輸入和輸出到底有什麼關係呢?函數

  假設X1,X2就是咱們的兩個特徵(年齡,工資),Y是銀行最終會借給咱們多少錢學習

  線性迴歸呢就是找到最合適的一條線(想象一個高維)來最好的擬合咱們的數據點,那麼這個地方由於自變量涉及兩個,因此最終目的就是找出一個擬合平面。優化

  

  那麼如今繼續假設θ1是年齡的參數, θ2是工資的參數。那麼擬合的平面表達式爲(θ0爲偏置項,θ1、θ2爲權重參數):spa

   

  這裏的話總共有兩個特徵,那麼當有n個特徵的時候的表達式爲(θ0對應的X0全爲1):3d

  

2、偏差

  真實值和預測值之間確定是要存在差別的(用 ε 來表示該偏差),而對於每一個樣原本說,真實值等於預測值加上偏差值,公式表達爲:blog

  

  • 偏差ε(i)是獨立而且具備相同的分佈,而且服從均值爲0方差爲θ2的高斯分佈(正態分佈)。
  • 獨立:張三和李四一塊兒來貸款,他倆不要緊。
  • 同分布:他倆都來得是咱們假定的這家銀行。
  • 高斯分佈:銀行可能會多給,也可能會少給,可是絕大多數狀況下這個浮動不會太大,極小狀況下浮動會比較大,符合正常狀況。

   

  預測值與偏差:數學

  

  因爲偏差服從高斯分佈:table

  

  將兩個式子整合獲得:

  

  似然函數(什麼樣的參數跟咱們的數據組合後(這個組合後的值就是預測值)剛好是真實值),最大似然估計(參數跟數據組合後剛好是真實值的機率是最大的),下面兩個豎線數學符號的意思是進行累乘。

  

  對數似然(乘法理解,加法就容易了,對數裏面乘法能夠轉化成加法):

   

3、推導

  對上面的對數似然進行整合能夠獲得:

  

  咱們的最終目標就是讓似然函數(對數似然也是同樣)越大越好,由於上面這個式子,前半部分是恆大於0的且是常數,後半部分也是恆大於0的,因此要保持整個式子最大,就只有讓後半部分越小越好。因而能夠獲得:

  

   那下面的過程就是怎麼樣才能求解使得上面這個式子的值越小越好呢?

  

  這上面的推導過程表示並無看得太懂哈哈哈。可是結果表示當θ取這個值的時候,總體的偏導等於0,而偏導等於0是極小值點,至於爲何是極小值點,涉及機器學習中的凸優化問題。

相關文章
相關標籤/搜索