「回歸」的由來
francisgalton,英國生物學家,他研究了父母身高與子女身高之間關係後得出,若父母身高高於平均大眾身高,則其子女身高傾向於倒退生長,即會比其父母身高矮一些而更接近於大眾平均身高。若父母身高小於平均身高,則其子女身高傾向於向上生長,以更接近於大眾平均身高。此現象,被galton稱之為回歸現象,即regression.
什麼是線性回歸?
回歸分析是一種統計工具,它利用兩個或兩個以上變數之間的關係,由乙個或幾個變數來**另乙個變數。
回歸分析中:
分類(classification)與回歸(regression)都屬於監督學習,它們的區別在於:
一元線性回歸
問題描述
我想要一套200平方公尺的房子**大概是多少呢?這時在資料表中我又找不到到對應的資料,那麼這時就要做線性回歸分析了。如圖找到這樣的一條直線,使圖中的所有點到直線的距離最小(即誤差最小)。
下面我們用數學語言來表達「使圖中的所有點到直線的距離最小」這句話。
(1)x與y的關係可以表示為:
這樣的表達還不夠統一,不方便計算,我們把上面改寫成向量形式,以便於推廣到n維形式,改寫成正式:
(2)「使圖中的所有點到直線的距離最小」用數學的語言描述如下:
這裡下圖中
解決方法
梯度下降演算法(gradient descent)
迴圈直到收斂
對於線性回歸模型,成本函式的導數如下:
更通俗化的解釋是:
(1)上圖中圖形其實像乙個碗一樣,有乙個最低點。找這個最低點的辦法就是,先隨便找乙個,然後沿著這個碗下降的方向找,最後就能找到碗的最低點。
(2)如何找某一點下降的方向?找那一點導數的反方向。如下圖:
(3)只要將任意乙個點,沿著使導數的反方向慢慢移動,那麼最終會到達使最小的那一點。(注:最小二乘法是個凸函式,所以區域性最優值也即為全域性最優值)
(4)一般程式裡會寫明最多迴圈次數以及收斂條件。若能自動收斂,甚好,若不能,則迴圈指定次數後,強行退出。此時,你需要調引數或者重新慎視假設模型!
正規方程組(normal equation)
成本函式寫成向量形式如下:
我們的目標是使最小,上式對w求導得:
x是矩陣,代表訓練集,每一行是乙個樣本的各特徵值。y是個向量,對應每個樣本的結果值。
梯度下降與正規方程組的對比:
gradient descent
normal equation
自定義不需要定義
盾環n次才能得到最佳w值
不需要任何迴圈操作
特徵個數非常大時,也適用
x的轉陣與逆矩陣的計算量很大,導致特徵個數多時,會很慢;
適用於特徵個數小於100000時使用
需要特徵縮放(feature scaling)
不需要feature scaling
多元線性回歸(linearregression with multiple variables)
跟一元線性回歸的引數回歸方式如出一轍,唯一區別在回歸函式的假設上:
多元,故名思義,就是說有多個特徵做為輸入。那問題就來了,若多個特徵的表達值的範圍不一樣,會有什麼影響和後果?
比如,繼續拿**房價作為例子。現在它的特徵增加了,特徵1是面積,特徵2是房間數,特徵3是房子的年齡。很明顯,這三個特徵的值的範圍是有很大差異的。
若不做任何處理,則特徵1和3對結果的影響遠大於特徵2,而可能扭曲了真實情況下各特徵在最終結果中所應佔的權重比例。
所以,一般情況下,特徵與特徵之間的值變化範圍差異過大時,我們用feature scaling的手段來規範化特徵值,使每個特徵的特徵值都處於-1至1之間。
如果不同變數之間的大小不在乙個數量級,作feature scaling能大大減少尋找最優解的時間;
ng給的建議:最大變數和最小變數均值差3倍以內為佳;
注:feature scaling的方法可自定義,常用的有:
1) rescaling
(x - mean(x))/max - min
2) 中值正規化(mean normalization)
(x-mean(x))/ std, std是標準方差
1 線性回歸理論總結
梯度下降 1 本質 求解f x 0 2 演算法 起點x0按照步長 向f x 為0逼近 x n 1 x n f x n 3 結果 迭代操作,f x 滿足期望精度 4 前提 梯度必須為遞增 凸函式 線性回歸梯度下降 1 代數推導 1 函式 h x 0 1 x 2 損失函式 j 1 2m h x i y ...
線性回歸 實踐篇
總結了線性回歸的理論部分,下面我們以浦東塘橋的二手房資料來實踐線性回歸。1,資料獲取 2,資料過濾 爬到資料後,過濾了房間面積小於30平公尺,大於150平公尺的資料,總 大於800w的也過濾了。這些資料太小或者太大 3,一元線性回歸 x表示房子面積,y表示房價,使用正規方程組的方法計算。拿到 後執行...
機器學習演算法篇 線性回歸
機器學習從上面的圖來看是屬於人工智慧的部分,機器學習主要分為回歸,聚類,分類 那麼機器學習的定義是什麼呢?可以參考 何謂 機器學習 學界尚未有統一的定義。但有兩個定義特別值得了解 乙個來自卡內基梅隆大學的tom mitchell教授,乙個來自goodfellow bengio 和 courville...