1、什么是特征歸一化划鸽?
數(shù)據(jù)的標(biāo)準(zhǔn)化(normalization)是將數(shù)據(jù)按比例縮放,使之落入一個(gè)小的特定區(qū)間行贪。在某些比較和評價(jià)的指標(biāo)處理中經(jīng)常會用到漾稀,去除數(shù)據(jù)的單位限制模闲,將其轉(zhuǎn)化為無量綱的純數(shù)值,便于不同單位或量級的指標(biāo)能夠進(jìn)行比較和加權(quán)
其中最典型的就是數(shù)據(jù)的歸一化處理崭捍,即將數(shù)據(jù)統(tǒng)一映射到[0,1]區(qū)間上尸折。
2、為什么要進(jìn)行特征歸一化(必要性)殷蛇?
(1)對數(shù)值類型的特征做歸一化可以將所有的特征都統(tǒng)一到一個(gè)大致相同的數(shù)值區(qū)間內(nèi)实夹。
(2)從經(jīng)驗(yàn)上說,歸一化是讓不同維度之間的特征在數(shù)值上有一定比較性粒梦,可以大大提高分類器的準(zhǔn)確性
3藏杖、特征歸一化的方法有哪些裆馒?
(1)線性函數(shù)歸一化(Min-Max Scaling)(數(shù)據(jù)歸一化)
tips
: 適用于本來就分布在有限范圍內(nèi)的數(shù)據(jù), 在不涉及距離度量、協(xié)方差計(jì)算、數(shù)據(jù)不符合正太分布的時(shí)候戚长,可以使用第一種方法或其他歸一化方法摹迷。比如圖像處理中罢吃,將RGB圖像轉(zhuǎn)換為灰度圖像后將其值限定在[0 255]的范圍棒妨。
。
它對原始數(shù)據(jù)進(jìn)行線性變換祖灰,使結(jié)果映射到[0,1]的范圍钟沛,實(shí)現(xiàn)對原始數(shù)據(jù)的等比縮放
歸一化公式如下:
其中,
X為原始數(shù)據(jù)
Xmax為原始數(shù)據(jù)的最大值
Xmin為原始數(shù)據(jù)的最小值
def Normalization(x):
return [(float(i)-min(x))/float(max(x)-min(x)) for i in x]
# 測試:
x=[1,2,1,4,3,2,5,6,2,7]
b=Normalization(x)
print(b)
#輸出:
[0.0, 0.16666666666666666, 0.0, 0.5, 0.3333333333333333, 0.16666666666666666, 0.6666666666666666, 0.8333333333333334, 0.16666666666666666, 1.0]
如果想要將數(shù)據(jù)映射到[-1,1]局扶,則將公式換成:
import numpy as np
def Normalization2(x):
return [(float(i)-np.mean(x))/(max(x)-min(x)) for i in x]
# 測試
x=[1,2,1,4,3,2,5,6,2,7]
b=Normalization2(x)
print(b)
#輸出
[-0.3833333333333333, -0.21666666666666665, -0.3833333333333333, 0.1166666666666667, -0.04999999999999997, -0.21666666666666665, 0.2833333333333334, 0.45, -0.21666666666666665, 0.6166666666666667]
(2)零均值歸一化(Zero-Score Normalization)(數(shù)據(jù)標(biāo)準(zhǔn)化)
tip
:在分類恨统、聚類算法中,需要使用距離來度量相似性的時(shí)候三妈、或者使用PCA技術(shù)進(jìn)行降維的時(shí)候畜埋,(Z-score standardization)表現(xiàn)更好
它會將原始數(shù)據(jù)映射到均值為0
、標(biāo)準(zhǔn)差為1
的分布上(高斯分布/正態(tài)分布),假設(shè)原始特征的均值為μ沈跨、標(biāo)準(zhǔn)差為σ
那么歸一化公式定義為:
import numpy as np
def z_score(x):
x_mean=np.mean(x)
s2=sum([(i-np.mean(x))*(i-np.mean(x)) for i in x])/len(x)
return [(i-x_mean)/s2 for i in x]
# 測試:
x=[1,2,1,4,3,2,5,6,2,7]
b=z_score(x)
print(b)
#輸出:
[-0.57356608478803, -0.3241895261845386, -0.57356608478803, 0.17456359102244395, -0.07481296758104734, -0.3241895261845386, 0.42394014962593524, 0.6733167082294265, -0.3241895261845386, 0.9226932668329177]
4由捎、特征歸一化的好處兔综?
(1)提升收斂速度
對于線性model
來說饿凛,數(shù)據(jù)歸一化后,最優(yōu)解的尋優(yōu)過程明顯會變得平緩软驰,更容易正確的收斂到最優(yōu)解涧窒。
比較這兩個(gè)圖,左圖對其進(jìn)行優(yōu)化時(shí)锭亏,會得到一個(gè)窄長的橢圓形纠吴,導(dǎo)致在梯度下降時(shí),梯度的方向?yàn)榇怪钡雀呔€的方向而走之字形路線慧瘤,這樣會使迭代很慢戴已,相比之下固该,右圖的迭代就會很快(理解:也就是步長走多走少方向總是對的,不會走偏)
(2)提升模型的精度
歸一化的另一好處是提高精度糖儡,這在涉及到一些距離計(jì)算的算法
時(shí)效果顯著伐坏,比如算法要計(jì)算歐氏距離,上圖中x2的取值范圍比較小握联,涉及到距離計(jì)算時(shí)其對結(jié)果的影響遠(yuǎn)比x1帶來的小桦沉,所以這就會造成精度的損失。所以歸一化很有必要金闽,他可以讓各個(gè)特征對結(jié)果做出的貢獻(xiàn)相同纯露。
在多指標(biāo)評價(jià)體系中,由于各評價(jià)指標(biāo)的性質(zhì)不同代芜,通常具有不同的量綱和數(shù)量級埠褪。當(dāng)各指標(biāo)間的水平相差很大時(shí),如果直接用原始指標(biāo)值進(jìn)行分析挤庇,就會突出數(shù)值較高的指標(biāo)在綜合分析中的作用组橄,相對削弱數(shù)值水平較低指標(biāo)的作用。因此罚随,為了保證結(jié)果的可靠性玉工,需要對原始指標(biāo)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。
在數(shù)據(jù)分析之前淘菩,我們通常需要先將數(shù)據(jù)標(biāo)準(zhǔn)化(normalization)遵班,利用標(biāo)準(zhǔn)化后的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析。數(shù)據(jù)標(biāo)準(zhǔn)化也就是統(tǒng)計(jì)數(shù)據(jù)的指數(shù)化潮改。數(shù)據(jù)標(biāo)準(zhǔn)化處理主要包括數(shù)據(jù)同趨化處理和無量綱化處理兩個(gè)方面狭郑。數(shù)據(jù)同趨化處理主要解決不同性質(zhì)數(shù)據(jù)問題,對不同性質(zhì)指標(biāo)直接加總不能正確反映不同作用力的綜合結(jié)果汇在,須先考慮改變逆指標(biāo)數(shù)據(jù)性質(zhì)翰萨,使所有指標(biāo)對測評方案的作用力同趨化,再加總才能得出正確結(jié)果糕殉。數(shù)據(jù)無量綱化處理主要解決數(shù)據(jù)的可比性亩鬼。經(jīng)過上述標(biāo)準(zhǔn)化處理,原始數(shù)據(jù)均轉(zhuǎn)換為無量綱化指標(biāo)測評值阿蝶,即各指標(biāo)值都處于同一個(gè)數(shù)量級別上雳锋,可以進(jìn)行綜合測評分析。
(3)深度學(xué)習(xí)中數(shù)據(jù)歸一化可以防止模型梯度爆炸羡洁。
總結(jié):
數(shù)據(jù)歸一化不是萬能的玷过,在實(shí)際應(yīng)用中,通過梯度下降法
求解的模型通常是需要數(shù)據(jù)歸一化的,包括線性回歸
辛蚊、邏輯回歸
粤蝎、持向量機(jī)(SVM)
、神經(jīng)網(wǎng)絡(luò)
等模型袋马。
但是決策樹模型并不適用歸一化 诽里??飞蛹?谤狡??以后看到?jīng)Q策樹再說