含義
數據標准化和歸一化存在區別
數據歸一化是數據標准化的一種典型做法,即將數據統一映射到[0,1]區間上.
數據的標准化是指將數據按照比例縮放,使之落入一個特定的區間.
意義
求解需要
比如在SVM中處理分類問題是又是需要進行數據的歸一化處理,不然會對准確率產生很大的影響,具體點說,比如避免出現因為數值過大導致c,g取值超過尋優范圍除此之外,最明顯的是在神經網絡中的影響,主要有四個層面
- 有利於初始化的進行
- 避免給梯度數值的更新帶來數值問題
- 有利於學習率數值的調整
- 搜索軌跡:加快尋找最優解速度
具體情況請參考:神經網絡為什么要歸一化:
http://blog.csdn.net/fontthrone/article/details/74064971
2. 加快尋找最優解(加快收斂速度)
沒有歸一化前,尋找最優解的過程:
歸一化后的過程:
3. 無量綱化(業務上需求上的):
指去除數據的單位限制,將其轉化為無量綱的純數值,便於不同單位或者量級的指標能夠進行和加權.
比如身高與體重,房子數量與收入等.
4. 數值問題
不歸一化的數值,比如浮點數可能會產生數值不相等的問題.
5. 數值范圍減小對許多算法在純粹的數值計算上都有一定加速作用(個人看法,雖然影響不大,但效果還是有的)
常用公式
- min-max標准化(Min-max normalization)
又名離差標准化,是對原始數據的線性轉化,公式如下
含義: max : 樣本最大值; min: 樣本最小值;
問題: 當有新數據加入時需要重新進行數據歸一化
2. z-score 標准化(zero-mean normalization)
又名標准差標准化,歸一化后的數據呈正態分布,即均值為零,標准差為一公式如下:
其中μ為所有樣本數據的均值,σ為所有樣本數據的標准差。與離差標准化的不同之處在於,離差標准化僅僅僅僅對原數據的的方差與均差進行了倍數縮減,而標准差標准化則使標准化的數據方差為一。這對許多的算法更加有利,但是其缺點在於假如原始數據沒有呈高斯分布,標准化的數據分布效果並不好。
3. atan反正切函數標准化
公式如下:
問題: 數據必須大於零,大於零的函數將會被映射到[-1,0]上
atan函數圖像如下:
4. log函數標准化
公式如下:
問題:
a . 數據必須大於等於一
b. 如果數值大於10**10(十的十次方),那么映射的數據將大於一
解決問題b 的方案,改變公式以類似於 ” min-max標准化的方式 “, 如下:
max: 樣本最大值
通過 ” /log10(max) ” 值得方式,可以保證所有樣本能夠正確的映射到[0,1]空間,