目錄前言
一、多維特徵
二、多變數梯度下降
1.代價函式
2.批量梯度下降演算法
3.**演示(未驗證)
三、特徵縮放(幫助梯度下降演算法更快收斂)
1.為什麼要進行特徵縮放
2.特徵縮放的幾種方法
3.進行特徵縮放的注意事項 總結
目前為止,我們**了單變數/特徵的回歸模型,現在我們對房價模型增加更多的特徵,例如房間數樓層等,構成乙個含有多個變數的模型,引出多變數線性回歸問題。
支援多變數的假設 ℎ 表示為:
ℎ?(?) = ?0 + ?1?1 + ?2?2+. . . +????
這個公式中有? + 1個引數和?個變數,為了使得公式能夠簡化一些,引入?0 = 1,則公式轉化為:
ℎ?(?) = ?0?0 + ?1?1 + ?2?2+. . . +????
此時模型中的引數是乙個? + 1維的向量,任何乙個訓練例項也都是? + 1維的向量,特徵矩陣?的維度是 ?(樣本數) ∗ (? + 1)。
因此公式可以簡化為:
ℎ?(?) =(t代表轉置矩陣)
在多變數線性回歸中,我們也構建乙個代價函式,則這個代價函式是所有建模誤差的平方和。函式如下:
ℎ?(?) 為:
求導後得:
經過各種簡化後,可以得出乙個通用公式(右下角那個):
如果某個特徵的取值範圍比其他特徵大很多,那麼數值計算(比如說計算歐式距離)就受該特徵的主要支配。但實際上並不 一定是這個特徵最重要,通常需要把每個特徵看成同等重要。歸一化/標準化資料可以使不同維度的特徵放在一起進行比較, 可以大大提高模型的準確性。
在我們面對多維特徵問題的時候,我們要保證這些特徵都具有相近的尺度,這將幫助梯度下降演算法更快地收斂。
首先了解一下歸一化和標準化的區別:
1.最大最小值歸一化(min-max normalization):將數值範圍縮放到 [0, 1] 區間裡
2.均值歸一化(mean normalization):將數值範圍縮放到 [-1, 1] 區間裡,且資料的均值變為0
3.標準化 / z值歸一化(standardization /z-scorenormalization):將數值縮放到0附近,且資料的分布變為均值為0,標準差為1的標準正態分佈(先減去均值來對特徵進行中心化 mean centering處理,再除以標準差進行縮放)
4.最大絕對值歸一化(max abs normalization ):也就是將數值變為單位長度(scaling to unit length),將數值範圍縮放到 [-1, 1] 區間裡
5.穩鍵標準化(robust standardization):先減去中位數,再除以四分位間距(interquartile range),因為不涉及極值,因此在資料裡有異常值的情況下表現比較穩健
ps:有一些時候,只對資料進行中心化和縮放是不夠的,還需對資料進行白化(whitening)處理來消除特徵間的線性相關性。
需要先把資料拆分成訓練集與驗證集,在訓練集上計算出需要的數值(如均值和標準值),對訓練集資料做標準化/歸一化處理(不要在整個資料集上做標準化/歸一化處理,因為這樣會將驗證集的資訊帶入到訓練集中,這是乙個非常容易犯的錯誤),然後再用之前計算出的資料(如均值和標準值)對驗證集資料做相同的標準化/歸一化處理。
參考:
吳恩達機器學習筆記(2) 多變數線性回歸
我們這次的例題還是用我們上次單變數線性回歸模型一樣的問題 房價問題,但是我們這次新增了房間數,房子所在樓層數,房子面積這三個新變數到我們的例題中。我們把這四個變數命名為x1,x2,x3,x4結果為y,用n表示我們有n個特徵,用m表示樣本數量。既然我們多了這麼多特徵變數,那麼我們的模型的公式也要改變 ...
吳恩達《機器學習》課程總結(4)多變數線性回歸
上圖中列數即為特徵的個數,行數是樣本數。函式假設如下 其中x0 1。和單變數的損失函式相同 其中,求導迭代如下 特徵之間的尺度變化相差很大 如乙個是0 1000,乙個是0 5 梯度演算法需要非常多次的迭代才能收斂,如下圖所示 方法 將各個特徵縮放至大致相同的尺度,最簡單的方法就是特徵減去均值除以方差...
吳恩達機器學習筆記 第五章 多變數線性回歸
特徵和多項式回歸 正規方程 區別於迭代法的直接解法 正規方程在矩陣不可逆的情況下的解決方法 用來加快梯度下降的速度。代價函式j j vec theta j 隨迭代次數的變化圖的用途 選擇學習率 可以選取一系列差乙個數量級的值,eg 0.001,0.01,0.1,1等等 或者對其乘以乙個常數來產生 0...