數據歸一化處理的目的是:使得預處理的數據被限定在一定的范圍內,從而消除奇異樣本數據導致的不良影響。數據歸一化處理后,可以加快梯度下降求最優解的速度,且有可能提高精度(如KNN)。
本教程操作環境:windows7系統、Dell G3電腦。
在機器學習領域中,不同評價指標(即特征向量中的不同特征就是所述的不同評價指標)往往具有不同的量綱和量綱單位,這樣的情況會影響到數據分析的結果,為了消除指標之間的量綱影響,需要進行數據標準化處理,以解決數據指標之間的可比性。原始數據經過數據標準化處理后,各指標處于同一數量級,適合進行綜合對比評價。其中,最典型的就是數據的歸一化處理。(可以參考學習:數據標準化/歸一化)
簡而言之,歸一化的目的就是使得預處理的數據被限定在一定的范圍內(比如[0,1]或者[-1,1]),從而消除奇異樣本數據導致的不良影響。
1)在統計學中,歸一化的具體作用是歸納統一樣本的統計分布性。歸一化在0~1之間是統計的概率分布,歸一化在-1~+1之間是統計的坐標分布。
2)奇異樣本數據是指相對于其他輸入樣本特別大或特別小的樣本矢量(即特征向量),譬如,下面為具有兩個特征的樣本數據x1、x2、x3、x4、x5、x6(特征向量—>列向量),其中x6這個樣本的兩個特征相對其他樣本而言相差比較大,因此,x6認為是奇異樣本數據。
奇異樣本數據的存在會引起訓練時間增大,同時也可能導致無法收斂,因此,當存在奇異樣本數據時,在進行訓練之前需要對預處理數據進行歸一化;反之,不存在奇異樣本數據時,則可以不進行歸一化。
—如果不進行歸一化,那么由于特征向量中不同特征的取值相差較大,會導致目標函數變“扁”。這樣在進行梯度下降的時候,梯度的方向就會偏離最小值的方向,走很多彎路,即訓練時間過長。
–如果進行歸一化以后,目標函數會呈現比較“圓”,這樣訓練速度大大加快,少走很多彎路。
綜上可知,歸一化有如下好處,即
1)歸一化后加快了梯度下降求最優解的速度;
2)歸一化有可能提高精度(如KNN)
注:沒有一種數據標準化的方法,放在每一個問題,放在每一個模型,都能提高算法精度和加速算法的收斂速度。