特徵縮放

特徵縮放是用來統一資料中的自變項或特徵範圍的方法,在資料處理中,通常會被使用在資料前處理這個步驟。

動機

因為在原始的資料中,各變數的範圍大不相同。對於某些機器學習的演算法,若沒有做過標準化,目標函數會無法適當的運作。舉例來說,多數的分類器利用兩點間的距離計算兩點的差異,若其中一 個特徵具有非常廣的範圍,那兩點間的差異就會被該特徵左右,因此,所有的特徵都該被標準化,這樣才能大略的使各特徵依比例影響距離。

另外一個做特徵縮放的理由是他能使加速梯度下降法的收斂。

方法

重新縮放

最簡單的方式是重新縮放特徵的範圍到[0, 1]或[-1, 1], 依據原始的資料選擇目標範圍,通式如下:

                                    

 是原始的值, 是被標準化後的值。例如,假設我們有學生的體重資料,範圍落在[160磅, 200磅],為了重新縮放這個資料,我們會先將每個學生的體重減掉160,接着除與40(最大體重與最小體重的差值)

標準化

機器學習中,我們可能要處理不同種類的資料,例如,音訊和圖片上的像素值,這些資料可能是高維度的,資料標準化後會使每個特徵中的數值平均變為0(將每個特徵的值都減掉原始資料中該特徵的平均)、標準差變為1,這個方法被廣泛的使用在許多機器學習演算法中(例如:支持向量機邏輯斯諦迴歸類神經網絡)。

縮放至單位長度

該方法也在機器學習中常用。縮放特徵向量的分量,將每個分量除以向量的歐幾里得距離,使整個向量的長度為1。

 

應用

在隨機梯度下降法中, 特徵縮放有時能加速其收斂速度。而在支持向量機中,他可以使其花費更少時間找到支持向量,特徵縮放會改變支持向量機的結果。

參考

  • S. Theodoridis, K. Koutroumbas. (2008) 「Pattern Recognition」, Academic Press, 4 edition, ISBN 978-1-59749-272-0

外部連結