天天看點

常見特征縮放方法詳解(含義、作用、适用場景)Rescaling (min-max normalization)Mean normalizationStandardization (Z-score Normalization)Scaling to unit length

   特征縮放主要是為了将獨立變量集或資料特征向量的取值限定在一定的範圍内,通常發生在資料預處理階段。在機器學習算法中,特征矩陣各個次元的取值通常是不一樣的,此時如果采用歐幾裡得距離來衡量兩個特征的距離,那麼最終的距離将嚴重取決于取值範圍跨度大的特征次元,比如說在代表人屬性的特征向量有兩個次元,分别是年齡和身高,其中年齡的取值範圍可以是[1, 100],身高的取值範圍是[0.4, 2.5](機關:米),那麼兩個特征向量的距離将嚴重取決于年齡這個特征,身高基本上對兩者的距離沒有太大的影響。

   從以上示例中可以看出,年齡、身高等有量綱量對學習算法的性能有着重要的影響,是以對輸入特征矩陣進行特征縮放,将其轉化為無量綱量是很多學習算法必要的操作,主要具有以下幾個特點:

  • 縮放後的特征矩陣,各個次元都具有相同的重要性。
  • 可以加快梯度下降的收斂速度。
  • 可以加快支援向量機的速度,但是會影響最終的結果。

   由于翻譯的原因,在國内通常使用歸一化(Normalization)和标準化(Standardization)這兩個術語來表示特征縮放這個操作,為了避免中文術語上的混亂,将采用維基百科上的英文術語,包括以下四種方法:

  • Rescaling (min-max normalization)
  • Mean normalization
  • Standardization (Z-score Normalization)
  • Scaling to unit length

Rescaling (min-max normalization)

   即通常所說的歸一化。該方法也稱為最小-最大值縮放,是一種最簡單的縮放方法,主要功能是将特征值縮放到區間[0, 1],其計算公式如下所示:

x ′ = x − min ⁡ ( x ) max ⁡ ( x ) − min ⁡ ( x ) x^{\prime}=\frac{x-\min (x)}{\max (x)-\min (x)} x′=max(x)−min(x)x−min(x)​其中, x x x表示原始值, min ⁡ ( x ) \min (x) min(x)表示該特征次元的最小值, max ⁡ ( x ) \max (x) max(x)表示該特征次元的最大值, x ′ x^{\prime} x′表示縮放後的值。該方法具有更加泛化的形式,即将特征值縮放到區間[a, b]之間,其計算公式如下所示: x ′ = a + x − min ⁡ ( x ) max ⁡ ( x ) − min ⁡ ( x ) ( b − a ) x^{\prime}=a+\frac{x-\min (x)}{\max (x)-\min (x)}(b-a) x′=a+max(x)−min(x)x−min(x)​(b−a)其中, b b b表示縮放後的最大值, a a a表示縮放後的最小值。

Mean normalization

   其計算公式如下所示:

x ′ = x −  average  ( x ) max ⁡ ( x ) − min ⁡ ( x ) x^{\prime}=\frac{x-\text { average }(x)}{\max (x)-\min (x)} x′=max(x)−min(x)x− average (x)​其中,  average  ( x ) \text { average }(x)  average (x)表示特征次元 x x x的均值。

Standardization (Z-score Normalization)

   即通常所說的标準化。該方法的主要功能是将資料按比例縮放,使之落入一個小的特定區間,可以使得輸入資料的每個特征次元都具有均值0、方差1的性質,被廣泛地應用于各種機器學習算法(如支援向量機、邏輯回歸和人工神經網絡)中,其計算公式如下所示:

x ′ = x − x ˉ σ x^{\prime}=\frac{x-\bar{x}}{\sigma} x′=σx−xˉ​其中, x ˉ =  average  ( x ) \bar{x}=\text { average }(x) xˉ= average (x)表示特征次元 x x x的均值, σ \sigma σ表示特征向量 x x x的标準差。

Scaling to unit length

   該方法主要将各個特征值除以目前特征次元的歐幾裡得長度,被廣泛地應用于機器學習領域,其計算公式如下所示:

x ′ = x ∥ x ∥ x^{\prime}=\frac{x}{\|x\|} x′=∥x∥x​其中, ∥ x ∥ \|x\| ∥x∥表示目前次元的歐幾裡得長度。在某些情況下(如Histogram features),可以使用 L 1 L1 L1範數來代替 ∥ x ∥ \|x\| ∥x∥,特别是在後續步驟中采用Scalar Metric作為距離度量方式。

繼續閱讀