1. 程式人生 > >Deep Learning 3_深度學習UFLDL教程:預處理之主成分分析與白化_總結(斯坦福大學深度學習教程)

Deep Learning 3_深度學習UFLDL教程:預處理之主成分分析與白化_總結(斯坦福大學深度學習教程)

1PCA

    ①PCA的作用:一是降維;二是可用於資料視覺化;

注意:降維的原因是因為原始資料太大,希望提高訓練速度但又不希望產生很大的誤差。

    ② PCA的使用場合:一是希望提高訓練速度;二是記憶體太小;三是希望資料視覺化。

    ③用PCA前的預處理:(1)規整化特徵的均值大致為0;(2)規整化不同特徵的方差值彼此相似。

    對於自然圖片,即使不進行方差歸一化操作,條件(2)也自然滿足,故而我們不再進行任何方差歸一化操作(對音訊資料,如聲譜,或文字資料,如詞袋向量,我們通常也不進行方差歸一化)。非自然影象有手寫文字,或者白背景正中擺放單獨物體等。

2白化(whitening)

    ①白化的作用:去掉資料之間的相關聯度,是很多演算法進行預處理的步驟。

    ②資料的whitening必須滿足兩個條件:一是不同特徵間相關性最小,接近0;二是所有特徵的方差相等(不一定為1)。常見的白化操作有PCA whitening和ZCA whitening。

PCA whitening:是指將資料x經過PCA轉換為 \textstyle x_{\rm rot} ,然後降維為 \textstyle \tilde{x} 後,可以看出 \textstyle \tilde{x} 中每一維是獨立的,滿足whitening白化的第一個條件,這是隻需要將z中的每一維都除以標準差就得到了每一維的方差為1,也就是說方差相等,故PCA白化後的資料方差一定都為1。它主要用於降維、去除相關性。公式如下:

\begin{align}
x_{{\rm PCAwhite},i} = \frac{x_{{\rm rot},i} }{\sqrt{\lambda_i}}.   
\end{align}

ZCA whitening

:是指資料x先經過PCA變換為 \textstyle x_{\rm rot} ,但是並不降維,因為這裡是把所有的成分都選進去了。這是也同樣滿足whtienning的第一個條件,特徵間相互獨立。然後同樣進行方差為1的操作,最後將得到的矩陣左乘一個特徵向量矩陣U即可,故ZCA白化後的資料方差並不為1但都相等。它主要用於去除相關性且儘量保持原始資料。公式如下:

\begin{align}
x_{\rm ZCAwhite} = U x_{\rm PCAwhite}
\end{align}

參考資料:

UFLDL

相關推薦

Deep Learning 3_深度學習UFLDL教程處理成分分析白化_總結斯坦福大學深度學習教程

1PCA     ①PCA的作用:一是降維;二是可用於資料視覺化; 注意:降維的原因是因為原始資料太大,希望提高訓練速度但又不希望產生很大的誤差。     ② PCA的使用場合:一是希望提高訓練速度;二是記憶體太小;三是希望資料視覺化。     ③用PCA前的預處理:(1)規整化特徵的均值大致為0;(

Deep Learning 1_深度學習UFLDL教程Sparse Autoencoder練習斯坦福大學深度學習教程

1前言           本人寫技術部落格的目的,其實是感覺好多東西,很長一段時間不動就會忘記了,為了加深學習記憶以及方便以後可能忘記後能很快回憶起自己曾經學過的東西。      首先,在網上找了一些資料,看見介紹說UFLDL很不錯,很適合從基礎開始學習,Adrew Ng大牛寫得一點都不裝B,感覺非常好

Deep Learning 4_深度學習UFLDL教程PCA in 2D_Exercise斯坦福大學深度學習教程

前言      本節練習的主要內容:PCA,PCA Whitening以及ZCA Whitening在2D資料上的使用,2D的資料集是45個數據點,每個資料點是2維的。要注意區別比較二維資料與二維影象的不同,特別是在程式碼中,可以看出主要二維資料的在PCA前的預處理不需要先0均值歸一化,而二維自然影象需要先

Deep Learning 19_深度學習UFLDL教程Convolutional Neural Network_Exercise斯坦福大學深度學習教程

基礎知識 概述       CNN是由一個或多個卷積層(其後常跟一個下采樣層)和一個或多個全連線層組成的多層神經網路。CNN的輸入是2維影象(或者其他2維輸入,如語音訊號)。它通過區域性連線和權值共享,再通過池化可得到平移不變特徵。CNN的另一個優點就是易於訓練

Deep Learning 8_深度學習UFLDL教程Stacked Autocoders and Implement deep networks for digit classification_Exercise斯坦福大學深度學習教程

前言 2.實驗環境:win7, matlab2015b,16G記憶體,2T硬碟 3.實驗內容:Exercise: Implement deep networks for digit classification。利用深度網路完成MNIST手寫數字資料庫中手寫數字的識別。即:用6萬個已標註資料(即:6萬

Deep Learning 11_深度學習UFLDL教程資料處理斯坦福大學深度學習教程

資料預處理是深度學習中非常重要的一步!如果說原始資料的獲得,是深度學習中最重要的一步,那麼獲得原始資料之後對它的預處理更是重要的一部分。 1.資料預處理的方法: ①資料歸一化: 簡單縮放:對資料的每一個維度的值進行重新調節,使其在 [0,1]或[ − 1,1] 的區間內 逐樣本均值消減:在每個

Deep Learning 13_深度學習UFLDL教程Independent Component Analysis_Exercise斯坦福大學深度學習教程

前言 實驗環境:win7, matlab2015b,16G記憶體,2T機械硬碟 難點:本實驗難點在於執行時間比較長,跑一次都快一天了,並且我還要驗證各種代價函式的對錯,所以跑了很多次。 實驗基礎說明:      ①不同點:本節實驗中的基是標準正交的,也是線性獨立的,而Deep Learni

Deep Learning 12_深度學習UFLDL教程Sparse Coding_exercise斯坦福大學深度學習教程

前言 實驗環境:win7, matlab2015b,16G記憶體,2T機械硬碟 本節實驗比較不好理解也不好做,我看很多人最後也沒得出好的結果,所以得花時間仔細理解才行。 實驗內容:Exercise:Sparse Coding。從10張512*512的已經白化後的灰度影象(即:Deep Learnin

Deep Learning 6_深度學習UFLDL教程Softmax Regression_Exercise斯坦福大學深度學習教程

前言      練習內容:Exercise:Softmax Regression。完成MNIST手寫數字資料庫中手寫數字的識別,即:用6萬個已標註資料(即:6萬張28*28的影象塊(patches)),作訓練資料集,然後利用其訓練softmax分類器,再用1萬個已標註資料(即:1萬張28*28的影象塊(pa

Deep Learning 7_深度學習UFLDL教程Self-Taught Learning_Exercise斯坦福大學深度學習教程

前言 理論知識:自我學習 練習環境:win7, matlab2015b,16G記憶體,2T硬碟       一是用29404個無標註資料unlabeledData(手寫數字資料庫MNIST Dataset中數字為5-9的資料)來訓練稀疏自動編碼器,得到其權重引數opttheta。這一步的目的是提取這

Deep Learning 2_深度學習UFLDL教程向量化程式設計斯坦福大學深度學習教程

1前言     本節主要是讓人用向量化程式設計代替效率比較低的for迴圈。     在前一節的Sparse Autoencoder練習中已經實現了向量化程式設計,所以與前一節的區別只在於本節訓練集是用MINIST資料集,而上一節訓練集用的是從10張圖片中隨機選擇的8*8的10000張小圖塊。綜上,只需要在

Deep Learning 9_深度學習UFLDL教程linear decoder_exercise斯坦福大學深度學習教程

前言 實驗基礎說明: 1.為什麼要用線性解碼器,而不用前面用過的棧式自編碼器等?即:線性解碼器的作用? 這一點,Ng已經在講解中說明了,因為線性解碼器不用要求輸入資料範圍一定為(0,1),而前面用過的棧式自編碼器等要求輸入資料範圍必須為(0,1)。因為a3的輸出值是f函式的輸出,而在普通的spa

Deep Learning 10_深度學習UFLDL教程Convolution and Pooling_exercise斯坦福大學深度學習教程

前言 實驗環境:win7, matlab2015b,16G記憶體,2T機械硬碟 實驗內容:Exercise:Convolution and Pooling。從2000張64*64的RGB圖片(它是 the STL10 Dataset的一個子集)中提取特徵作為訓練資料集,訓練softmax分類器,然後從

Deep Learning 5_深度學習UFLDL教程PCA and Whitening_Exercise斯坦福大學深度學習教程

close all; % clear all; %%================================================================ %% Step 0a: Load data % Here we provide the code to load n

【Android】實用教程匯入android-gif-drawable包,不用在GitHub下載Android Studio 3.1.2

轉載請註明出處,原文連結:https://blog.csdn.net/u013642500/article/details/80193877 【AS版本】 【步驟】 1、開啟Project Structural。(可點選圖示,也可以在File選單中開啟,也可以按Ctrl+Al

機器學習降維演算法-成分分析PCA演算法兩種角度的推導

若把高維空間的樣本點(可以想象是一個3維的)對映到一個超平面,怎樣的超平面可以認為是“好的”,可以想到這個超平面大概有這樣的性質: 最近重構行:樣本點到超平面的距離都足夠近;(樣本點變化儘可能小,丟失的資訊儘可能少) 最大可分性:樣本點在這個超平面上的投影儘可能分開.(樣

基於深度學習方法的dota2遊戲資料分析勝率預測python3.6+keras框架實現

很久以前就有想過使用深度學習模型來對dota2的對局資料進行建模分析,以便在英雄選擇,出裝方面有所指導,幫助自己提升天梯等級,但苦於找不到資料來源,該計劃擱置了很長時間。直到前些日子,看到社群有老哥提到說OpenDota網站(https://www.opendota.com/)提供有一整套的介面可以獲取dot

【機器學習算法-python實現】PCA 成分分析、降維

pre gre text iss 主成分分析 int 找到 nts 導入 1.背景 PCA(Principal Component Analysis),PAC的作用主要是減少數據集的維度,然後挑選出基本的特征。 PCA的主要思想是移動坐標軸,找

【機器學習】數據處理將類別數據轉換為數值

行數據 pri and slab form ces nbsp 遍歷 encode 在進行python數據分析的時候,首先要進行數據預處理。 有時候不得不處理一些非數值類別的數據,嗯, 今天要說的就是面對這些數據該如何處理。 目前了解到的大概有三種方法: 1,通過LabelE

機器學習成分分析

終於下定決心,在工作之餘研究下機器學習。 此文作為機器學習的開端,希望能一路下去。 一開始被機器學習背後的數學嚇到,無奈之下退縮,在機器學習大門前徘徊了許久,終於下定決心,啃下數學這饅頭,看看機器學習之貌。   ---------------------------------- 數學原理