線性回歸 理論篇

2021-06-22 14:51:19 字數 2730 閱讀 5655

「回歸」的由來

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...