機器學習中,在資料預處理過程中,通過將資料歸一化可以加快梯度下降求最優解的速度,也有可能提高模型計算的精度。
常用的歸一化方法主要有兩種:
最值歸一化。比如把最大值歸一化成1,最小值歸一化成-1;或把最大值歸一化成1,最小值歸一化成0。適用於本來就分布在有限範圍內的資料。
其中常用的方法有
線性比例變換法:yi = xi/max(x) 即歸一化後結果等於未處理前值除以樣本中最大值
極差變換法:yi = (xi-min(x))/(max(x)-min(x)) 即歸一化後結果等於未處理前值減去最小值之後除以最大值減去最小值的差
0均值方差歸一化(標準化)。一般是把均值歸一化成0,方差歸一化成1。適用於分布沒有明顯邊界的情況,受outlier影響也較小。
使用的方法如下:
yi = (xi-mean(x))/σ 其中,mean(x)為均值,σ為方差
在python中,可以用一下方法:
import numpy as np
mean = np.mean(x, axis=0) # 均值
v = np.std(x, axis=0) # 方差
x = (x - mean) / v #得到歸一化結果
歸一化和標準化的區別
歸一化的縮放是統一到區間(僅由極值決定),輸出範圍是在0到1(或-1到1)之間的,它的結果很容易受異常值影響(如有乙個與其他值相比特別大的值,則會造成很大影響)。
標準化的縮放是更加「彈性」和「動態」的,和整體樣本的分布(即樣本中每個點)有很大的關係,輸出範圍是負無窮到正無窮。它的結果不太受異常值的影響,相對可以避免異常值和極端值的影響。
對於一些我們常見的模型來說,概率模型不需要歸一化,因為它們不關心變數的值,而是關心變數的分布和變數之間的條件概率,如決策樹、rf。而像 adaboost、svm、lr、knn、kmeans 之類的最優化問題就需要歸一化。
機器學習 資料歸一化方法
原文 本文主要介紹兩種基本的資料歸一化方法。歸一化方法有兩種形式,一種是把數變為 0,1 之間的小數,一種是把有量綱表示式變為無量綱表示式。資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進...
機器學習之資料歸一化
機器學習中,資料歸一化是非常重要,如果不進行資料歸一化,可能會導致模型壞掉或者訓練出乙個奇怪的模型。現在有乙個訓練資料集,包含兩個樣本,內容如下 腫瘤大小 cm 發現時間 day 樣本11 200樣本2 5100 以 k 近鄰演算法為例,發現時間 的數值比 腫瘤大小 的數值大很多,樣本間的距離被 發...
機器學習 資料歸一化方法
本文主要介紹兩種基本的資料歸一化方法。歸一化方法有兩種形式,一種是把數變為 0,1 之間的小數,一種是把有量綱表示式變為無量綱表示式。資料標準化 歸一化 處理是資料探勘的一項基礎工作,不同評價指標往往具有不同的量綱和量綱單位,這樣的情況會影響到資料分析的結果,為了消除指標之間的量綱影響,需要進行資料...