linear regression 線性回歸

2021-06-19 14:50:45 字數 2568 閱讀 9913

本篇講述linear regression線性回歸模型。參考資料為

在所有討論之前,我們先把linear regression線性回歸的模型畫出來吧,給大家乙個直觀的感受

圖0. linear regression線性回歸模型

這就是linear regression的模型了。接下來我們引入我們的問題。

問題

首先考慮如下的乙個例子(例程原始碼來自這裡)

圖1求如何進行擬合?

模型建立

我們很自然的想到可以用直線擬合

給定**值,每個樣本點發生的概率服從正態分佈,為

如果我們有n個樣本,則似然函式為

將(3)代入(4)得到

我們的任務是最大化似然函式l,那麼也就成了

一般說來我們希望此式隨著樣本的變化不變,且為了計算方便,因此可以加上乙個係數,即

我們記代價函式(cost function)為

我們需要求得w使得(7)式代價函式最小,從而轉換成為乙個最優化問題。這就從本質上解釋了為什麼代價函式是平方項。

模型求解

有兩類方法可以求解w,一種是解析法(代表:最小二乘法),另一種是迭代法。

下面我們將逐條簡要介紹各種演算法。

1.解析法

解析法的優點是速度快,而且保證是最優解。

為方便陳述,我們不妨假設w是三維,

那麼(7)式可以寫成

當(8)式對w求導為0時可以取得極值。

令(9)式為0可以解得

從而得出w,這也是我對最小二乘法的本質理解。

2.迭代法

迭代法又分為梯度下降法和牛頓法,下面給出了演算法框圖。

(1)梯度下降法,演算法如下

while (不滿足終止條件)

end

(2)牛頓法,演算法如下

賦隨機值

while (不滿足終止條件)

end

其中h為hessian矩陣

梯度下降法與牛頓法比較

梯度下降法

牛頓法迭代次數

多次,慢

很少,快

演算法複雜度

o(特徵數),簡單

o(特徵數^3),複雜

andrew ng說特徵<1000次時用牛頓法較好,>1000時梯度下降較好

最終跑出的結果

圖2小結

以前看過不少資料,發現還是需要把思路好好地理清一下,線性回歸模型是最基本的學習方法。真的是很好的資料,值得一讀。

參考資料

(stanford的開放公開課,本文的matlab例程來自這裡,寫的很精簡)

《統計學習方法》李航 (附錄a,b講了梯度下降法和牛頓法)

pattern recognition and machine learning (對線性模型講得最本質,不過bishop寫的跳躍性比較大,我是看了其他資料才發覺bishop寫的極好!)

線性回歸 linear regression

在機器學習中,我們一般要處理的問題就是 問題。對於離散值的 我們叫分類 classification 而對於連續值的 我們就叫做回歸 regression 而在所有機器學習模型中,最基礎也是最重要的模型就是線性模型,今天我們就說下機器學習中的線性模型。其基本形式如下 f x w 1 x1 w2 x2...

Linear Regression線性回歸

welcome to my blog 線性回歸 linear regression 是一種線性模型 linear model 它將各個特徵進行線性組合,實現對新輸入的 線性回歸可解釋性很強,因為特徵對應的權值大小直接衡量了這個特徵的重要性 設每個輸入x i都有m個特徵,每個特徵x ij對應乙個權值w...

Linear Regression 線性回歸

收集到某一地區的房子面積和房價的資料 x,y 42組,對於一套已知面積的房子 其房價?由房價資料視覺化圖可以看出,可以使用一條直線擬合房價。通過這種假設得到的 值和真實值比較接近。將現實的問題通過數學模型描述出來。m 個 樣本 example 組成訓練集 training set 每乙個樣本有n個特...