關(guān)于數(shù)據(jù)預(yù)處理我們有3個常用的符號,數(shù)據(jù)矩陣X吗浩,假設(shè)其尺寸是[N x D](N是數(shù)據(jù)樣本的數(shù)量,D是數(shù)據(jù)的維度)
1、均值減法(Mean subtraction)
均值減法是預(yù)處理最常用的形式泉褐。它對數(shù)據(jù)中每個獨立特征減去平均值,從幾何上可以理解為在每個維度上都將數(shù)據(jù)云的中心都遷移到原點鸟蜡。
在numpy中膜赃,該操作可以通過代碼X -= np.mean(X, axis=0)實現(xiàn)。
而對于圖像揉忘,更常用的是對所有像素都減去一個值跳座,可以用X -= np.mean(X)實現(xiàn),也可以在3個顏色通道上分別操作泣矛。
歸一化(Normalization)
歸一化是指將數(shù)據(jù)的所有維度都?xì)w一化疲眷,使其數(shù)值范圍都近似相等。
有兩種常用方法可以實現(xiàn)歸一化:
第一種是先對數(shù)據(jù)做零中心化(zero-centered)處理您朽,然后每個維度都除以其標(biāo)準(zhǔn)差狂丝,實現(xiàn)代碼為X /= np.std(X, axis=0)。
第二種方法是對每個維度都做歸一化哗总,使得每個維度的最大和最小值是1和-1几颜。這個預(yù)處理操作只有在確信不同的輸入特征有不同的數(shù)值范圍(或計量單位)時才有意義,但要注意預(yù)處理操作的重要性幾乎等同于學(xué)習(xí)算法本身讯屈。在圖像處理中蛋哭,由于像素的數(shù)值范圍幾乎是一致的(都在0-255之間),所以進行這個額外的預(yù)處理步驟并不是很必要涮母。
PCA和白化(Whitening)
PCA和白化是另一種預(yù)處理形式谆趾。在這種處理中,先對數(shù)據(jù)進行零中心化處理叛本,然后計算協(xié)方差矩陣棺妓,它展示了數(shù)據(jù)中的相關(guān)性結(jié)構(gòu)。
白化(whitening)炮赦。白化操作的輸入是特征基準(zhǔn)上的數(shù)據(jù)怜跑,然后對每個維度除以其特征值來對數(shù)值范圍進行歸一化。該變換的幾何解釋是:如果數(shù)據(jù)服從多變量的高斯分布吠勘,那么經(jīng)過白化后性芬,數(shù)據(jù)的分布將會是一個均值為零,且協(xié)方差相等的矩陣剧防。該操作的代碼如下:
# 對數(shù)據(jù)進行白化操作:
# 除以特征值
Xwhite = Xrot / np.sqrt(S + 1e-5)