[數據與處理]歸一化(連續值和離散值)

歸一化原因

  1. 如果多個特徵之間數值差異較大,那麼收斂速度會很慢。如吳恩達老師在《機器學習》中給出的例子:

這裏寫圖片描述

x1的取值爲0-2000,而x2的取值爲1-5,假如只有這兩個特徵,對其進行優化時,會得到一個窄長的橢圓形,導致在梯度下降時,梯度的方向爲垂直等高線的方向而走之字形路線,這樣會使迭代很慢,相比之下,右圖的迭代就會很快
2. 在涉及到距離計算的模型中,若多個特徵之間數值差異較大,那麼數值小的特徵對距離的影響則很小,這會造成精度的影響

歸一化目的

  1. 將數據按照一定的規則轉變爲(0,1)之間的數據;
  2. 把有量綱表達式轉變爲無量綱表達式

連續值歸一化常見方法

Max-Min

這裏寫圖片描述

Xmin/Xmax分別對應數據集中最小、最大的數據,X是待歸一化數據

0均值標準化(Z-Score)

這裏寫圖片描述

其中x爲某一具體分數,μ爲平均數,σ爲標準差。
Z值的量代表着原始分數和母體平均值之間的距離,是以標準差爲單位計算。在原始分數低於平均值時Z則爲負數,反之則爲正數。

在距離度量計算相似性、PCA中使用第二種方法(Z-score standardization)會更好,參考Max-Min和Z-Score對比

對數函數法

這裏寫圖片描述
主要用於數量級很大的場合

反正切函數

這裏寫圖片描述

主要用於將角頻率等變量轉換到[-1,1]的範圍

離散值歸一化常見方法

One-Hot編碼

獨熱編碼即 One-Hot 編碼,又稱一位有效編碼,其方法是使用N位狀態寄存器來對N個狀態進行編碼,每個狀態都由他獨立的寄存器位,並且在任意時候,其中只有一位有效。

例如:
1. 自然狀態碼爲:000,001,010,011,100,101
獨熱編碼爲:000001,000010,000100,001000,010000,100000
2. 性別特徵有三種特徵值:男、女、其他
獨熱編碼爲:001,010,100

參考
http://blog.csdn.net/pipisorry/article/details/52247379
http://blog.csdn.net/pipisorry/article/details/61193868

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章