特徵縮放對哪些機器學習算法結果有影響

在對數據分析建模時,經常須要先進行預處理,特徵縮放是一種消除變量尺度差別的一種方法。如下對最近的學習作一點記錄,指出的算法覆蓋並不全面。算法

爲何須要特徵縮放:

舉個例子:根據身高、體重來選擇衣服的尺寸,假如如今有以下3我的的數據:學習

序號 身高 體重 尺寸
1 1.70 68 L
2 1.52 57 S
3 1.75 60
問:第三人的衣服應該選擇什麼尺寸?
憑人爲經驗來看應該選擇L比S更合適。
但,若是讓計算機來選擇:
一、1.7 + 68 = 69.7
二、1.52 + 57 = 58.52
三、1.75 + 60 = 61.75
得出的結論是3和2更接近。
因爲體重和身高是兩個不平衡的特徵,因此直接加和或者空間距離等均可能使結果產生較大誤差。

須要特徵縮放的算法有:

計算距離時,其實在利用一個維度與另外一個維度進行交換,會受到特徵不平衡影響code

  • k-means 計算佯本與中心點的距離
  • SVM 支持向量與分離面距離最大化

特徵縮放無影響的算法有:

  • 線性迴歸 每一個特徵有一個係數,與其餘特徵不存在交換
  • 決策樹 由一系列水平線和垂直線組成,對特徵單獨處理,兩個特徵之間不存在交換

特徵縮放方法有:

  • 歸一化 $x = \frac{x-min}{max-min} $
  • 標準化 $ x = \frac{x-mean}{std}$
相關文章
相關標籤/搜索