1. 程式人生 > >特徵縮放 feature scaling

特徵縮放 feature scaling

樣本不同特徵的取值範圍如果不一樣,可能導致迭代很慢,為了減少特徵取值的影響,可以對特徵資料進行縮放,加速演算法的收斂。常見的對映範圍有 [ 0 , 1 ] [0, 1] [

1 , 1 ] [-1, 1]

常見的特徵縮放方法有以下 4 種

  • Scaling to unit length

    x

    n e w = x
    x
    x_{new}=\frac{x}{||x||}

  • Rescaling (min-max normalization)

    x n e w = x m i n ( x ) m a x ( x ) m i n ( x ) x_{new} = \frac{x-min(x)}{max(x)- min(x)}

  • Mean normalization

    x n e w = x a v e r a g e ( x ) m a x ( x ) m i n ( x ) x_{new} = \frac{x-average(x)}{max(x)- min(x)}

  • Standardization

    特徵標準化,使每個特徵的值有 零均值 (zero-mean) 和 單位方差 (unit-variance)。這個方法在機器學習演算法中被廣泛地使用,例如:SVM,邏輯迴歸和神經網路。公式如下:

    x n e w = x μ σ x_{new}=\frac{x-\mu }{\sigma }

    其中 μ \mu 是樣本資料的均值(average), σ \sigma 是樣本資料的標準差(std)。

    標準差 s t d std 的定義為:

    s t d ( x ) = ( x a v e r a g e ( x ) ) 2 N std(x) = \sqrt{\frac{\sum(x-average(x))^2}{N}}

    其中, N N 為樣本總數。

    原圖 -> 減去均值 -> 除以標準差:

標準化歸一化 這兩個中文詞,主要指代以上四種 特徵縮放 (Feature scaling) 方法。