特徵縮放

特徵縮放是用來統一資料中的自變項或特徵範圍的方法,在資料處理中,通常會被使用在資料前處理這個步驟。因為在原始的資料中,各變數的範圍大不相同。

基本介紹

  • 中文名:特徵縮放
  • 學科:計算機
簡介,動機,方法,重新縮放,標準化,優點,套用,

簡介

對於某些機器學習的算法,若沒有做過標準化,目標函式會無法適當的運作。舉例來說,多數的分類器利用兩點間的距離計算兩點的差異,若其中一 個特徵具有非常廣的範圍,那兩點間的差異就會被該特徵左右,因此,所有的特徵都該被標準化,這樣才能大略的使各特徵依比例影響距離。
特徵縮放(Feature Scaling)是將不同特徵的值量化到同一區間的方法,也是預處理中容易忽視的關鍵步驟之一。除了極少數算法(如決策樹和隨機森林)之外,大部分機器學習和最佳化算法採用特徵縮放後會表現更優。

動機

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

方法

重新縮放

最簡單的方式是重新縮放特徵的範圍到[0, 1]或[-1, 1], 依據原始的資料選擇目標範圍,通式如下:
x 是原始的值, x' 是被標準化後的值。例如,假設我們有學生的體重資料,範圍落在[160磅, 200磅],為了重新縮放這個資料,我們會先將每個學生的體重減掉160,接著除與40(最大體重與最小體重的差值)

標準化

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

優點

特徵縮放可以使機器學習算法工作的更好。比如在K近鄰算法中,分類器主要是計算兩點之間的歐幾里得距離,如果一個特徵比其它的特徵有更大的範圍值,那么距離將會被這個特徵值所主導。因此每個特徵應該被歸一化,比如將取值範圍處理為0到1之間。
特徵縮放也可以加快梯度收斂的速度。

套用

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

相關詞條

熱門詞條

聯絡我們