機器學習 多變數線性回歸

2021-09-07 13:10:36 字數 2077 閱讀 1415

注:本系列部落格是博主學習stanford大學 andrew ng 教授的《機器學習》課程筆記。博主深感學過課程後,不進行總結非常easy遺忘,依據課程加上自己對不明確問題的補充遂有此系列部落格。本系列部落格包含線性回歸、邏輯回歸、神經網路、機器學習的應用和系統設計、支援向量機、聚類、將維、異常檢測、推薦系統及大規模機器學習等內容。

多變數線性回歸

眼下為止,我們**了單變數(特徵)的回歸模型,如今我們對房價模型新增很多其它的特徵,如房間數樓層等,構成乙個含有多個變數的模型,模型中的特徵為(x ,x ,...,x )。

與單變數線性回歸類似,在多變數線性回歸中,我們也構建乙個代價函式,則這個代價函式是全部建模誤差的平方和。即:

當中:我們的目標和單變數線性回歸問題中一樣,是要找出使得代價函式最小的一系列引數。  多變數線性回歸的批量梯度下降演算法為: 

左邊為單變數學習方法,右邊為多變數學習方法。

1 特徵縮放

在我們面對多維特徵問題的時候,我們要保證這些特徵都具有相近的尺度。這將幫助梯度下降演算法更快地收斂。

以房價問題為例,如果我們使用兩個特徵,房屋的尺寸和房間的數量,尺寸的值為 0-2000平方英呎,而房間數量的值則是0-5,以兩個引數分別為橫縱座標,繪製代價函式的

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

解決辦法是嘗試將全部特徵的尺度都盡量縮放到-1 到1之間。如圖:

最簡單的方法是令:

2 學習率

梯度下降演算法收斂所須要的迭代次數依據模型的不同而不同,我們不能提前預知。我們能夠繪製迭代次數和代價函式的圖表來觀測演算法在何時趨於收斂。

梯度下降演算法的每次迭代受到學習率的影響,假設學習率 α過小,則達到收斂所需的迭代次數會很高。假設學習率α 過大,每次迭代可能不會減小代價函式。可能會越過區域性最

小值導致無法收斂。

通常能夠考慮嘗試些學習率:α=0.01,0.03,0.1,0.3,1,3,10 

如房價預測問題:

線性回歸並不適用於全部資料,有時我們須要曲線來適應我們的資料,通常我們須要先觀察資料然後再決定準備嘗試如何的模型。

另外,我們能夠將模型轉化為線性回歸模型。

例如以下圖 x->size:

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

到眼下為止。我們都在使用梯度下降演算法,可是對於某些線性回歸問題,正規方程方法是更好的解決方式,它能夠直接解出引數。如:

如果我們的訓練集特徵矩陣為x(包括了 x0=1)而且我們的訓練集結果為向量 y。則利用正規方程解出向量:

下面表示資料為例:

則依據公式:

梯度下降與正規方程的比較: 

機器學習 多變數線性回歸

1 說明 需要 房屋的 除了房屋面積還有其他的特徵量,比如層數,年齡,臥室數目等等,如下圖。因為有多個特徵值,所以稱為多變數線性回歸。2 假設函式 單變數只有乙個特徵值,所以之前的假設函式將不再適用,下面是多變數的假設函式。其中x0設定為1 3 特徵縮放 在所有特徵值中,size的範圍大概在0 20...

機器學習(三) 多變數線性回歸

目錄 一 前言 二 模型描述 1.hypothesis 2.cost function 三 多元梯度下降法 1.特徵放縮 2.學習率 的選擇 四 特徵與多項式回歸 五 正規方程 區別於梯度下降法 六 梯度下降法與正規方程法的比較 在所有公式中,n為特徵個數,m為樣本數量 與前面單變數線性回歸類似,只...

Python學習(機器學習 多變數線性回歸)

通過scale feature利用梯度下降法求theta 直接代入推導出來的theta公式 通過驗算測試引數,可以得知兩個方法 結果相同 part1 load data print loading data.n f open c python27 machinelearning ex1data2.t...