本篇講述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個特...