一、數據為什么需要歸一化處理?
歸一化的目的是處理不同規模和量綱的數據,使其縮放到相同的數據區間和范圍,以減少規模、特征、分布差異對模型的影響。
方法:
1. 極差變換法
2. 0均值標准化(Z-score方法)
1. Max-Min(線性歸一化)
Max-Min歸一化是對原始數據進行線性變化,利用取值的最大值和最小值將原始數據轉換為某一范圍的數據
缺點:歸一化過程與最大值和最小值有關,容易受到極端值的影響。會一定程度破壞原有數據的結構
應用:圖像處理中,將RGB圖像轉換為灰度圖像后將其值限定在[0, 255]的范圍
2. Z-Score標准化
基於原始數據的均值和標准差進行標准化。Z-score是一種中心化方法,會改變原有數據的分布結構,不適合對稀疏數據做處理。本方法要求原始數據的分布近似為高斯分布,否則歸一化的效果很差。
應用:在分類和聚類算法中,需要使用距離來度量相似性的時候、或者使用PCA技術進行降維的時候,Z-Score標准化表現很好
二、應用場景
1. 概率模型不需要歸一化,因為這種模型不關心變量的取值,而是關心變量的分布和變量之間的條件概率。
決策樹(概率模型)、隨機森林(基學習器是決策樹)、朴素貝葉斯(概率模型)不需要歸一化
2. SVM、線性回歸之類的最優化問題需要歸一化。歸一化之后加快了梯度下降求最優解的速度,並有可能提高精度。
是否歸一化主要在於是否關心變量取值
3. 神經網絡需要標准化處理,一般變量的取值在-1到1之間,這樣做是弱化某些變量的值較大而對某些產生影響。一般神經網絡中的隱藏層采用tanh激活函數比sigmoid要好,因為取值[-1, 1],均值為0(需要)
4. 在k近鄰算法中,如果不對解釋變量進行標准化,那么具有小數量級的解釋變量的影響就會微乎其微(需要)
參考地址:
https://blog.csdn.net/ayu96777/article/details/80684914
https://blog.csdn.net/u011089523/article/details/80198312