1. 程式人生 > >深度學習入門教程UFLDL學習實驗筆記三:主成分分析PCA與白化whitening

深度學習入門教程UFLDL學習實驗筆記三:主成分分析PCA與白化whitening

主成分分析與白化是在做深度學習訓練時最常見的兩種預處理的方法,主成分分析是一種我們用的很多的降維的一種手段,通過PCA降維,我們能夠有效的降低資料的維度,加快運算速度。而白化就是為了使得每個特徵能有同樣的方差,降低相鄰畫素的相關性。

主成分分析PCA

第一步:首先我們需要獲取旋轉矩陣U,為了實現這一目的,我們使用MATLAB裡面的SVD函式:

u = zeros(size(x, 1)); % You need to compute this
[n,m]=size(x)
sigma=(x*(x'))/m;
[u,s,v]=svd(sigma);

我們把旋轉矩陣的向量,第一個向量和第二個向量顯示出來

image

可以看到,U的兩列分別代表著在資料集的各個方向,第一列是從左下到右上,第二列的是左上到右下的那一條。

xRot = zeros(size(x)); % You need to compute this
xRot=u'*x;

將旋轉矩陣的轉置與x相乘得到旋轉後的矩陣。
image

第二步降維:第一列代表著整個資料的主方向,因此我們可以用第一列的轉置與x相乘來將資料對映到一維。對於這個一維的資料,在用第一列與之相乘,即可得到降維之後的結果。

xHat = zeros(size(x)); % You need to compute this
xHat=(u(:,1:k))*(u(:,1:k)')*x;

image

白化

白話的左右

相關推薦

深度學習入門教程UFLDL學習實驗筆記成分分析PCA白化whitening

主成分分析與白化是在做深度學習訓練時最常見的兩種預處理的方法,主成分分析是一種我們用的很多的降維的一種手段,通過PCA降維,我們能夠有效的降低資料的維度,加快運算速度。而白化就是為了使得每個特徵能有同樣的方差,降低相鄰畫素的相關性。 主成分分析PCA 第一步:首先我們需要獲取旋轉矩陣U,為了實現這一目的,我

深度學習入門教程UFLDL學習實驗筆記稀疏自編碼器

UFLDL即(unsupervised feature learning & deep learning)。這是斯坦福網站上的一篇經典教程。顧名思義,你將在這篇這篇文章中學習到無監督特徵學習和深度學習的主要觀點。 UFLDL全文出處在這:http://ufldl.stanford.edu/wiki/

深度學習入門教程UFLDL學習實驗筆記使用向量化對MNIST資料集做稀疏自編碼

今天來做UFLDL的第二個實驗,向量化。我們都知道,在matlab裡面基本上如果使用for迴圈,程式是會慢的一逼的(可以說基本就執行不下去)所以在這呢,我們需要對程式進行向量化的處理,所謂向量化就是將matlab裡面所有的for迴圈用矩陣運算的方法實現,在這裡呢,因為之前的實驗我已經是按照向量化的形式編寫的程

【機器學習筆記15】成分分析(PCA)

PCA演算法 去平均值,即每一位特徵減去各自的平均值 計算新矩陣的協方差矩陣 設$X=(X_1, X_2…X_N)^T $,在鳶尾花例子裡N=4,會生成一個4*4的協方差矩陣 稱矩陣 C=(cij)n×n=(c11c12⋯c1nc21c22⋯c2n⋯⋯⋯⋯

機器學習(七)成分分析PCA降維_Python

六、PCA主成分分析(降維) 1、用處 資料壓縮(Data Compression),使程式執行更快 視覺化資料,例如3D-->2D等 …… 2、2D–>1D,nD–&

機器學習課程-第 8 周-降維(Dimensionality Reduction)—成分分析(PCA)

art 不同 計算機 dimens 是什麽 課程 繪制 start pca 1. 動機一:數據壓縮 第二種類型的 無監督學習問題,稱為 降維。有幾個不同的的原因使你可能想要做降維。一是數據壓縮,數據壓縮不僅允許我們壓縮數據,因而使用較少的計算機內存或磁盤空間,但它也讓我們

吳恩達老師機器學習筆記成分分析PCA

接著學習主成分分析,這個演算法在之前計量地理學的作業裡寫過,不過前者稍微囉嗦了一點。 原始二維資料: 放程式碼: load('ex7data1.mat'); [m n]=size(X); X=(X-mean(X))./std(X); sigma=1/m*(X'*X); % 求取協

Python資料分析學習筆記(6)資料規約實戰--以成分分析PCA為例

一、相關理論: 1、資料規約:產生更小且保持資料完整性的新資料集。意義在於降低無效、錯誤資料;降低儲存成本;少量且具有代表性的資料大幅加快,主要分為以下兩類: ①屬性規約:屬性合併或刪除無關維,目標是尋找最小子集使子集概率分佈儘可能與原來相同。     常用方法: (

成分分析PCA學習筆記

主成分分析(principal components analysis,PCA)是一個簡單的機器學習演算法,主要思想是對高維資料進行降維處理,去除資料中的冗餘資訊和噪聲。 演算法: 輸入樣本:D={x1,x2,⋯,xm}

Linux學習筆記管道,重定向用戶管理

改密 postfix 不完全 進程 修改密碼 通用 bash linux學習筆記 eat 1 ---第三天:重定向,管道與用戶管理--- 2 軟連接: 3 ln -s file link_file 4 特點:支持跨設備,網絡,支持目錄。 5 相對路徑

【機器學習成分分析PCA(Principal components analysis)

大小 限制 總結 情況 pca 空間 會有 ges nal 1. 問題 真實的訓練數據總是存在各種各樣的問題:  1、 比如拿到一個汽車的樣本,裏面既有以“千米/每小時”度量的最大速度特征,也有“英裏/小時”的最大速度特征,

機器學習之路python 特征降維 成分分析 PCA

repo nts total python learning bsp ota spa 像素 python3 學習api使用 主成分分析方法實現降低維度 使用了網絡上的數據集,我已經下載到了本地,可以去我的git上參考 git:https://github.com/lin

成分分析PCA學習一條龍

轉自:https://yoyoyohamapi.gitbooks.io/mit-ml/content/%E7%89%B9%E5%BE%81%E9%99%8D%E7%BB%B4/articles/PCA.html https://www.jianshu.com/p/162bb4ea1b7f 1.有什麼功能?

【機器學習演算法實現】成分分析 PCA ——基於python+numpy

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Machine Learning第八講【非監督學習】--(成分分析PCA

一、Principal Component Analysis Problem Formulation(主成分分析構思) 首先來看一下PCA的基本原理: PCA會選擇投影誤差最小的一條線,由圖中可以看出,當這條線是我們所求時,投影誤差比較小,而投影誤差比較大時,一定是這條線偏離最優直線。

優達機器學習成分分析PCA

主成分是由資料中具有最大方差的方向決定的,因為可以最大程度的保留資訊量 我理解相當於降維,也就是將特徵通過降維的方式減少 方差最大化相當於將所有的距離最小化,這個方差和平時理解的方差不太一樣 PCA可以幫助你發現數據中的隱藏特徵,比如說得到總體上有兩個因素推動

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

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

機器學習-python編寫成分分析(PCA)資料降維

程式碼及資料集下載:PCA 在機器學習之前通常需要對資料進行降維處理,有以下原因: 使得資料集更易使用 降低很多演算法的計算開銷 去除噪聲 使得結果易懂 這裡講的降維方法為主成分分析法(PCA),將資料從原來的座標系轉換到新的座標系,新的座標系的選擇是

機器學習回顧篇(14)成分分析法(PCA

  1 引言¶ 在展開資料分析工作時,我們經常會面臨兩種困境,一種是原始資料中特徵屬性太少,“巧婦難為無米之炊”,很難挖掘出潛在的規律,對於這種情況,我們只能在收集這一環節上多下功夫;另一種困境剛好相反,那就是特徵

《CMake實踐》筆記構建靜態庫(.a) 動態庫(.so) 及 如何使用外部共享庫和標頭檔案

五、靜態庫與動態庫構建 讀者雲,太能羅唆了,一個Hello World就折騰了兩個大節。OK,從本節開始,我們不再折騰Hello World了,我們來折騰Hello World的共享庫。 本節的任務: 1、建立一個靜態庫和動態庫,提供HelloFunc函式供其他程式程式設計使用,Hell