線性迴歸推導

Candy_GL發表於2019-02-22

轉自:https://blog.csdn.net/qq_38734403/article/details/80526974

https://blog.csdn.net/july_sun/article/details/53223962

http://blog.51cto.com/12133258/2051527

 

迴歸是解決連續資料的預測問題,而分類是解決離散資料的預測問題。線性迴歸是一個典型的迴歸問題。可以通過最小二乘法求解。

學習有: 
這裡寫圖片描述 使得 這裡寫圖片描述
  假設有m個資料,我們希望通過x預測的結果f(x)來估計y。其中w和b都是線性迴歸模型的引數。 
  為了能更好地預測出結果,我們希望自己預測的結果f(x)與y的差值儘可能地小,所以我們可以寫出代價函式(cost function)如下: 
這裡寫圖片描述
  接著代入f(x)的公式可以得到: 
這裡寫圖片描述
  不難看出,這裡的代價函式表示的是預測值f(x)與實際值y之間的誤差的平方。它對應了常用的歐幾里得距離簡稱“歐氏距離”。基於均方誤差最小化來求解模型的方法我們叫做“最小二乘法”。線上性迴歸中,最小二乘法實質上就是找到一條直線,使所有樣本資料到該直線的歐式距離之和最小,即誤差最小。 
  我們希望這個代價函式能有最小值,那麼就分別對其求w和b的偏導,使其等於0,求解方程。 
  先求偏導,得到下面兩個式子: 
這裡寫圖片描述

這裡寫圖片描述
  很明顯,公式中的引數m,b,w都與i無關,簡化時可以直接提出來。 
  另這兩個偏導等於0: 
  求解方程組,解得: 
這裡寫圖片描述

這裡寫圖片描述
  這樣根據資料集中給出的x和y,我們可以求出w和b來構建簡單的線性模型來預測結果。

  接下來,推廣到更一般的情況: 
  我們假設資料集中共有m個樣本,每個樣本有n個特徵,用X矩陣表示樣本和特徵,是一個m×n的矩陣: 
這裡寫圖片描述

  用Y矩陣表示標籤,是一個m×1的矩陣: 
這裡寫圖片描述

  為了構建線性模型,我們還需要假設一些引數: 
這裡寫圖片描述
(有時還要加一個偏差(bias)也就是這裡寫圖片描述, 為了推導方便沒加,實際上結果是一樣的)

  好了,我們可以表示出線性模型了: 
這裡寫圖片描述
  h(x)表示假設,即hypothesis。通過矩陣乘法,我們知道結果是一個n×1的矩陣。 
  跟前面推導單變數的線性迴歸模型時一樣,列出代價函式: 
這裡寫圖片描述
  這裡的1/2並無太大意義,只是為了求導時能將引數正好消掉而加上。 
  代價函式代表了誤差,我們希望它儘可能地小,所以要對它求偏導並令偏導數為0,求解方程。 
  在求偏導之前先展開一下: 
這裡寫圖片描述
這裡寫圖片描述

  接下來對這裡寫圖片描述 求導,先給出幾個矩陣求導的公式: 
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

  對代價函式這裡寫圖片描述 求關於這裡寫圖片描述 的偏導,並令其等於0。

  求偏導。 
這裡寫圖片描述

  套用前面給出的矩陣求導公式。 
這裡寫圖片描述

  最後化簡得到: 
這裡寫圖片描述

  好了,另這個偏導數等於0: 
這裡寫圖片描述

  解得: 
這裡寫圖片描述

相關文章