關鍵詞:zero-centered哀墓、normalization、PCA雄嚣、白化
3個常用的符號:數(shù)據(jù)矩陣X,假設其尺寸是[N x D](N是數(shù)據(jù)樣本的數(shù)量喘蟆,D是數(shù)據(jù)的維度)缓升。
均值減法(Mean subtraction)
預處理最常用的形式。它對數(shù)據(jù)中每個獨立特征減去平均值蕴轨,從幾何上可以理解為在每個維度上都將數(shù)據(jù)云的中心都遷移到原點港谊。在numpy中,該操作可以通過代碼X - = np.mean(X, axis=0)實現(xiàn)橙弱。而對于圖像歧寺,更常用的是對所有像素都減去一個值燥狰,可以用X - = np.mean(X)實現(xiàn),也可以在3個顏色通道上分別操作斜筐。
歸一化(Normalization)
指將數(shù)據(jù)的所有維度都歸一化龙致,使其數(shù)值范圍都近似相等。有兩種常用方法可以實現(xiàn)歸一化顷链。
第一種是先對數(shù)據(jù)做零中心化(zero-centered)處理目代,然后每個維度都除以其標準差。它的實現(xiàn)代碼為X /= np.std(X, axis=0)蕴潦。
第二種方法是對每個維度都做歸一化像啼,使得每個維度的最大和最小值是1和-1。這個預處理操作只有在確信不同的輸入特征有不同的數(shù)值范圍(或計量單位)時才有意義潭苞,但要注意預處理操作的重要性幾乎等同于學習算法本身忽冻。在圖像處理中,由于像素的數(shù)值范圍幾乎是一致的(都在0-255之間)此疹,所以進行這個額外的預處理步驟并不是很必要僧诚。
注:上圖中紅色的線指出了數(shù)據(jù)各維度的數(shù)值范圍,在中間的圖中不同列數(shù)據(jù)的數(shù)值范圍不同蝗碎,但在右邊歸一化數(shù)據(jù)中數(shù)值范圍相同湖笨。
實踐操作
對圖片數(shù)據(jù)常進行的預處理操作:零中心化操作、對每個像素進行歸一化蹦骑。
常見錯誤慈省。進行預處理很重要的一點是:任何預處理策略(比如數(shù)據(jù)均值)都只能在訓練集數(shù)據(jù)上進行計算,算法訓練完畢后再應用到驗證集或者測試集上眠菇。例如边败,如果先計算整個數(shù)據(jù)集圖像的平均值然后每張圖片都減去平均值,最后將整個數(shù)據(jù)集分成訓練/驗證/測試集捎废,那么這個做法是錯誤的笑窜。應該怎么做呢?應該先分成訓練/驗證/測試集登疗,只是從訓練集中求圖片平均值排截,然后各個集(訓練/驗證/測試集)中的圖像再減去這個平均值。
譯者注:此處確為初學者常見錯誤辐益,請務必注意断傲!
PCA and Whitening
實際上在對圖片處理時中并不會采用PCA或者白化的變換。這里只是為了解釋的完整性
PCA和白化(Whitening)是另一種預處理形式智政。在這種處理中艳悔,先對數(shù)據(jù)進行zero-centered處理,然后計算協(xié)方差矩陣女仰,它展示了數(shù)據(jù)中的相關性結構猜年。
通常使用PCA降維過的數(shù)據(jù)訓練線性分類器和神經(jīng)網(wǎng)絡會達到非常好的性能效果抡锈,同時還能節(jié)省時間和存儲器空間。
白化(whitening)
白化操作的輸入是特征基準上的數(shù)據(jù)乔外,然后對每個維度除以其特征值來對數(shù)值范圍進行歸一化床三。
該變換的幾何解釋是:如果數(shù)據(jù)服從多變量的高斯分布,那么經(jīng)過白化后杨幼,數(shù)據(jù)的分布將會是一個均值為零撇簿,且協(xié)方差相等的矩陣。該操作的代碼如下:
# 對數(shù)據(jù)進行白化操作:# 除以特征值 Xwhite=Xrot/np.sqrt(S+1e-5)
警告:夸大的噪聲差购。注意分母中添加了1e-5(或一個更小的常量)來防止分母為0四瘫。該變換的一個缺陷是在變換的過程中可能會夸大數(shù)據(jù)中的噪聲,這是因為它將所有維度都拉伸到相同的數(shù)值范圍欲逃,這些維度中也包含了那些只有極少差異性(方差小)而大多是噪聲的維度找蜜。在實際操作中,這個問題可以用更強的平滑來解決(例如:采用比1e-5更大的值)稳析。
詳細內(nèi)容:http://blog.csdn.net/llp1992/article/details/45640527
注:左邊是二維的原始數(shù)據(jù)洗做。
中間:經(jīng)過PCA操作的數(shù)據(jù)≌镁樱可以看出數(shù)據(jù)首先是zero-centered的诚纸,然后變換到了數(shù)據(jù)協(xié)方差矩陣的基準軸上。這樣就對數(shù)據(jù)進行了解相關(協(xié)方差矩陣變成對角陣)陈惰。
右邊:每個維度都被特征值調(diào)整數(shù)值范圍畦徘,將數(shù)據(jù)協(xié)方差矩陣變?yōu)閱挝痪仃嚒膸缀紊峡刺Т常褪菍?shù)據(jù)在各個方向上拉伸壓縮井辆,使之變成服從高斯分布的一個數(shù)據(jù)點分布。