監督學習 多變數線性回歸(梯度下降演算法)

2021-09-26 01:35:28 字數 2393 閱讀 8893

例子:我們**了單變數/特徵的回歸模型,現在我們對房價模型增加更多的特徵

例如房間數樓層等,構成乙個含有多個變數的模型,模型中的特徵為(x1,x2,…xn)

n 代表特徵的數量

x(i)代表第 i 個訓練例項,是特徵矩陣中的第 i 行,是乙個向量(vector)。

例如:

xj

(i)代表特徵矩陣中第 i 行的第 j 個特徵,也就是第 i 個訓練例項的第 j 個特徵

例如:x2

(2)=3,x3

(2)=2

hθ(x)=θ0x0+θ1x1+…θnxn,x0=1

與單變數線性回歸類似,在多變數線性回歸中,我們也構建乙個代價函式,則這個代價

函式是所有建模誤差的平方和,即:

我們的目標和單變數線性回歸問題中一樣,是要找出使得代價函式最小的一系列引數

多變數線性回歸的批量梯度下降演算法為:

我們開始隨機選擇一系列的引數值,計算所有的**結果後,再給所有的引數乙個新的

值,如此迴圈直到收斂

def computecost(x, y, theta):

inner = np.power(((x * theta.t) - y), 2)

return np.sum(inner) / (2 * len(x))

在我們面對多維特徵問題的時候,我們要保證這些特徵都具有相近的尺度,這將幫助梯

度下降演算法更快地收斂。

以房價問題為例,假設我們使用兩個特徵,房屋的尺寸和房間的數量,尺寸的值為 0-

2000 平方英呎,而房間數量的值則是 0-5,以兩個引數分別為橫縱座標,繪製代價函式的等

高線圖能,看出影象會顯得很扁,梯度下降演算法需要非常多次的迭代才能收斂

於是,我們令

梯度下降演算法收斂所需要的迭代次數根據模型的不同而不同,我們不能提前預知,我們

可以繪製迭代次數和代價函式的圖表來觀測演算法在何時趨於收斂。

也有一些自動測試是否收斂的方法,例如將代價函式的變化值與某個閥值(例如 0.001)

進行比較,但通常看上面這樣的圖表更好。

梯度下降演算法的每次迭代受到學習率的影響,如果學習率 α 過小,則達到收斂所需的迭

代次數會非常高;如果學習率 α 過大,每次迭代可能不會減小代價函式,可能會越過區域性最

小值導致無法收斂。

通常可以考慮嘗試些學習率:

α=0.01,0.03,0.1,0.3,1,3,10

例子:**房價問題

線性回歸並不適用於所有資料,有時我們需要曲線來適應我們的資料,比如乙個二次方

模型

注:如果我們採用多項式回歸模型,在執行梯度下降演算法前,特徵縮放非常有必要

監督學習應用 梯度下降

andrew ng 機器學習筆記 這一系列文章文章是我再 andrew ng的stanford公開課之後自己整理的一些筆記,除了整理出課件中的主要知識點,另外還有一些自己對課件內容的理解。同時也參考了很多優秀博文,希望大家共同討論,共同進步。參考博文 本節課程內容包括 1 linear regres...

監督學習應用 梯度下降

andrew ng 機器學習筆記 這一系列文章文章是我再 andrew ng的stanford公開課之後自己整理的一些筆記,除了整理出課件中的主要知識點,另外還有一些自己對課件內容的理解。同時也參考了很多優秀博文,希望大家共同討論,共同進步。參考博文 本節課程內容包括 1 linear regres...

線性回歸 監督學習

1 線性回歸的可行行基礎及資料形式 輸入資料都是帶著標稱的資料 其中x時特徵向量,y為結果 2 線性回歸解決的問題 相比與前面的感知機模型輸出空間為乙個二元的分類空間,線性回歸輸出空間是全體實數,以銀行審評信用卡為例 在感知機模型中,輸出結果是 3 線性回歸的hypothesis 相比與感知機模型在...