線性迴歸推導
轉自: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:
解得:
相關文章
- 線性迴歸模型公式推導完整簡潔版模型公式
- 線性迴歸
- 線性迴歸與邏輯迴歸邏輯迴歸
- 線性迴歸——lasso迴歸和嶺迴歸(ridge regression)
- 1.3 - 線性迴歸
- 數學推導+Python實現機器學習演算法:線性迴歸Python機器學習演算法
- 4-線性迴歸
- 1維線性迴歸
- 線性迴歸實戰
- 線性迴歸總結
- 多元線性迴歸模型模型
- 機器學習入門學習筆記:(2.1)線性迴歸理論推導機器學習筆記
- python實現線性迴歸之簡單迴歸Python
- 對比線性迴歸、邏輯迴歸和SVM邏輯迴歸
- 線性迴歸-程式碼庫
- pytorch實現線性迴歸PyTorch
- 資料分析:線性迴歸
- 線性迴歸演算法演算法
- PRML 迴歸的線性模型模型
- TensorFlow實現線性迴歸
- spark-mlib線性迴歸Spark
- R:alpha多樣性線性迴歸
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- 線性迴歸-如何對資料進行迴歸分析
- 線性迴歸—求解介紹及迴歸擴充套件套件
- 機器學習:線性迴歸機器學習
- numpy梯度回傳線性迴歸梯度
- 線性迴歸基礎程式碼
- 通俗理解線性迴歸(Linear Regression)
- EVIEWS 簡單線性迴歸 02View
- 一元線性迴歸模型模型
- 邏輯迴歸(Logistic Regression)原理及推導邏輯迴歸
- Python學習筆記-StatsModels 統計迴歸(1)線性迴歸Python筆記
- 機器學習:線性迴歸(下)機器學習
- 簡明線性迴歸演算法演算法
- torch神經網路--線性迴歸神經網路
- 有監督學習——線性迴歸
- 5. `sklearn`下的線性迴歸