日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Stanford UFLDL教程 主成分分析(PCA)

發布時間:2025/3/21 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Stanford UFLDL教程 主成分分析(PCA) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Stanford UFLDL教程 主成分分析

Contents

?[hide]
  • 1?引言
  • 2?實例和數學背景
  • 3?旋轉數據
  • 4?數據降維
  • 5?還原近似數據
  • 6?選擇主成分個數
  • 7?對圖像數據應用PCA算法
  • 8?參考文獻
  • 9?中英文對照
  • 10?中文譯者

引言

主成分分析(PCA)是一種能夠極大提升無監督特征學習速度的數據降維算法。更重要的是,理解PCA算法,對實現白化算法有很大的幫助,很多算法都先用白化算法作預處理步驟。

假設你使用圖像來訓練算法,因為圖像中相鄰的像素高度相關,輸入數據是有一定冗余的。具體來說,假如我們正在訓練的16x16灰度值圖像,記為一個256維向量??,其中特征值??對應每個像素的亮度值。由于相鄰像素間的相關性,PCA算法可以將輸入向量轉換為一個維數低很多的近似向量,而且誤差非常小。


實例和數學背景

在我們的實例中,使用的輸入數據集表示為??,維度??即??。假設我們想把數據從2維降到1維。(在實際應用中,我們也許需要把數據從256維降到50維;在這里使用低維數據,主要是為了更好地可視化算法的行為)。下圖是我們的數據集:

這些數據已經進行了預處理,使得每個特征??和??具有相同的均值(零)和方差。

為方便展示,根據??值的大小,我們將每個點分別涂上了三種顏色之一,但該顏色并不用于算法而僅用于圖解。

PCA算法將尋找一個低維空間來投影我們的數據。從下圖中可以看出,??是數據變化的主方向,而??是次方向。

也就是說,數據在??方向上的變化要比在??方向上大。為更形式化地找出方向??和??,我們首先計算出矩陣??,如下所示:

假設??的均值為零,那么??就是x的協方差矩陣。(符號??,讀"Sigma",是協方差矩陣的標準符號。雖然看起來與求和符號??比較像,但它們其實是兩個不同的概念。)

可以證明,數據變化的主方向??就是協方差矩陣??的主特征向量,而??是次特征向量。

注:如果你對如何得到這個結果的具體數學推導過程感興趣,可以參看CS229(機器學習)PCA部分的課件(鏈接在本頁底部)。但如果僅僅是想跟上本課,可以不必如此。

你可以通過標準的數值線性代數運算軟件求得特征向量(見實現說明).我們先計算出協方差矩陣的特征向量,按列排放,而組成矩陣:

此處,??是主特征向量(對應最大的特征值),??是次特征向量。以此類推,另記??為相應的特征值。

在本例中,向量??和??構成了一個新基,可以用來表示數據。令??為訓練樣本,那么??就是樣本點??在維度??上的投影的長度(幅值)。同樣的,??是??投影到??維度上的幅值。


旋轉數據

至此,我們可以把??用??基表達為:

(下標“rot”來源于單詞“rotation”,意指這是原數據經過旋轉(也可以說成映射)后得到的結果)

對數據集中的每個樣本??分別進行旋轉:??for every??,然后把變換后的數據??顯示在坐標圖上,可得:

這就是把訓練數據集旋轉到?,?基后的結果。一般而言,運算??表示旋轉到基?,, ...,?之上的訓練數據。矩陣??有正交性,即滿足?,所以若想將旋轉后的向量??還原為原始數據??,將其左乘矩陣即可:??, 驗算一下:?.


數據降維

數據的主方向就是旋轉數據的第一維??。因此,若想把這數據降到一維,可令:

更一般的,假如想把數據??降到??維表示??(令??),只需選取??的前??個成分,分別對應前??個數據變化的主方向。

PCA的另外一種解釋是:?是一個??維向量,其中前幾個成分可能比較大(例如,上例中大部分樣本第一個成分??的取值相對較大),而后面成分可能會比較小(例如,上例中大部分樣本的??較小)。

PCA算法做的其實就是丟棄??中后面(取值較小)的成分,就是將這些成分的值近似為零。具體的說,設??是??的近似表示,那么將??除了前??個成分外,其余全賦值為零,就得到:

在本例中,可得??的點圖如下(取??):

然而,由于上面??的后項均為零,沒必要把這些零項保留下來。所以,我們僅用前??個(非零)成分來定義??維向量??。

這也解釋了我們為什么會以??為基來表示數據:要決定保留哪些成分變得很簡單,只需取前??個成分即可。這時也可以說,我們“保留了前??個PCA(主)成分”。


還原近似數據

現在,我們得到了原始數據??的低維“壓縮”表征量??, 反過來,如果給定??,我們應如何還原原始數據??呢?查看以往章節以往章節可知,要轉換回來,只需??即可。進一步,我們把??看作將??的最后??個元素被置0所得的近似表示,因此如果給定??,可以通過在其末尾添加??個0來得到對??的近似,最后,左乘??便可近似還原出原數據??。具體來說,計算如下:

上面的等式基于先前對??的定義。在實現時,我們實際上并不先給??填0然后再左乘??,因為這意味著大量的乘0運算。我們可用??來與??的前??列相乘,即上式中最右項,來達到同樣的目的。將該算法應用于本例中的數據集,可得如下關于重構數據??的點圖:

由圖可見,我們得到的是對原始數據集的一維近似重構。

在訓練自動編碼器或其它無監督特征學習算法時,算法運行時間將依賴于輸入數據的維數。若用??取代??作為輸入數據,那么算法就可使用低維數據進行訓練,運行速度將顯著加快。對于很多數據集來說,低維表征量??是原數據集的極佳近似,因此在這些場合使用PCA是很合適的,它引入的近似誤差的很小,卻可顯著地提高你算法的運行速度。


選擇主成分個數

我們該如何選擇??,即保留多少個PCA主成分?在上面這個簡單的二維實驗中,保留第一個成分看起來是自然的選擇。對于高維數據來說,做這個決定就沒那么簡單:如果??過大,數據壓縮率不高,在極限情況??時,等于是在使用原始數據(只是旋轉投射到了不同的基);相反地,如果??過小,那數據的近似誤差太太。

決定??值時,我們通常會考慮不同??值可保留的方差百分比。具體來說,如果??,那么我們得到的是對數據的完美近似,也就是保留了100%的方差,即原始數據的所有變化都被保留下來;相反,如果??,那等于是使用零向量來逼近輸入數據,也就是只有0%的方差被保留下來。

一般而言,設??表示??的特征值(按由大到小順序排列),使得??為對應于特征向量??的特征值。那么如果我們保留前??個成分,則保留的方差百分比可計算為:

在上面簡單的二維實驗中,?,?。因此,如果保留??個主成分,等于我們保留了??,即91.3%的方差。

對保留方差的百分比進行更正式的定義已超出了本教程的范圍,但很容易證明,?。因此,如果??,則說明??也就基本上接近于0,所以用0來近似它并不會產生多大損失。這也解釋了為什么要保留前面的主成分(對應的??值較大)而不是末尾的那些。 這些前面的主成分?變化性更大,取值也更大,如果將其設為0勢必引入較大的近似誤差。

以處理圖像數據為例,一個慣常的經驗法則是選擇??以保留99%的方差,換句話說,我們選取滿足以下條件的最小??值:

對其它應用,如不介意引入稍大的誤差,有時也保留90-98%的方差范圍。若向他人介紹PCA算法詳情,告訴他們你選擇的??保留了95%的方差,比告訴他們你保留了前120個(或任意某個數字)主成分更好理解。


對圖像數據應用PCA算法

為使PCA算法能有效工作,通常我們希望所有的特征??都有相似的取值范圍(并且均值接近于0)。如果你曾在其它應用中使用過PCA算法,你可能知道有必要單獨對每個特征做預處理,即通過估算每個特征??的均值和方差,而后將其取值范圍規整化為零均值和單位方差。但是,對于大部分圖像類型,我們卻不需要進行這樣的預處理。假定我們將在自然圖像上訓練算法,此時特征??代表的是像素??的值。所謂“自然圖像”,不嚴格的說,是指人或動物在他們一生中所見的那種圖像。

注:通常我們選取含草木等內容的戶外場景圖片,然后從中隨機截取小圖像塊(如16x16像素)來訓練算法。在實踐中我們發現,大多數特征學習算法對訓練圖片的確切類型并不敏感,所以大多數用普通照相機拍攝的圖片,只要不是特別的模糊或帶有非常奇怪的人工痕跡,都可以使用。

在自然圖像上進行訓練時,對每一個像素單獨估計均值和方差意義不大,因為(理論上)圖像任一部分的統計性質都應該和其它部分相同,圖像的這種特性被稱作平穩性(stationarity)。

具體而言,為使PCA算法正常工作,我們通常需要滿足以下要求:(1)特征的均值大致為0;(2)不同特征的方差值彼此相似。對于自然圖片,即使不進行方差歸一化操作,條件(2)也自然滿足,故而我們不再進行任何方差歸一化操作(對音頻數據,如聲譜,或文本數據,如詞袋向量,我們通常也不進行方差歸一化)。實際上,PCA算法對輸入數據具有縮放不變性,無論輸入數據的值被如何放大(或縮小),返回的特征向量都不改變。更正式的說:如果將每個特征向量??都乘以某個正數(即所有特征量被放大或縮小相同的倍數),PCA的輸出特征向量都將不會發生變化。

既然我們不做方差歸一化,唯一還需進行的規整化操作就是均值規整化,其目的是保證所有特征的均值都在0附近。根據應用,在大多數情況下,我們并不關注所輸入圖像的整體明亮程度。比如在對象識別任務中,圖像的整體明亮程度并不會影響圖像中存在的是什么物體。更為正式地說,我們對圖像塊的平均亮度值不感興趣,所以可以減去這個值來進行均值規整化。

具體的步驟是,如果??代表16x16的圖像塊的亮度(灰度)值(??),可用如下算法來對每幅圖像進行零均值化操作:

, for all?


請注意:1)對每個輸入圖像塊??都要單獨執行上面兩個步驟,2)這里的??是指圖像塊??的平均亮度值。尤其需要注意的是,這和為每個像素??單獨估算均值是兩個完全不同的概念。

如果你處理的圖像并非自然圖像(比如,手寫文字,或者白背景正中擺放單獨物體),其他規整化操作就值得考慮了,而哪種做法最合適也取決于具體應用場合。但對自然圖像而言,對每幅圖像進行上述的零均值規整化,是默認而合理的處理。


參考文獻

http://cs229.stanford.edu


中英文對照

Principal Components Analysis 主成份分析

whitening 白化

intensity 亮度

mean 平均值

variance 方差

covariance matrix 協方差矩陣

basis 基

magnitude 幅值

stationarity 平穩性

normalization 歸一化

eigenvector 特征向量

eigenvalue 特征值

總結

以上是生活随笔為你收集整理的Stanford UFLDL教程 主成分分析(PCA)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产清纯白嫩初高中在线观看性色 | 丝袜av网站 | 在线视频久久 | 欧美爱爱网址 | 一级黄色欧美 | 免费a级| 森泽佳奈av | www.日本在线| 日本欧美一本 | 我看黄色一级片 | 综合五月网 | 亚洲天堂导航 | 精品少妇人妻av一区二区 | 性一交一乱一乱一视频 | 成年丰满熟妇午夜免费视频 | 日韩欧美一级视频 | 亚洲美免无码中文字幕在线 | 免费的av片| 欧美无砖专区免费 | 国产真实老熟女无套内射 | 秋霞av网| 在线观看高h | 亚洲av区无码字幕中文色 | 黄色麻豆网站 | 134vcc影院免费观看 | 涩涩涩涩涩涩涩涩涩涩 | 人人妻人人澡人人爽国产一区 | www.色99 | 中文字幕一区二区三区四区欧美 | 亚洲三级伦理 | 在线黄色av网站 | 亚洲精品一区二区二区 | 日韩免费视频一区二区 | 永久免费黄色 | 亚洲综合一区在线 | 亚洲综合视频一区 | 亚洲精品欧美激情 | 六月激情网| 国产熟女高潮视频 | 天堂在线官网 | 午夜在线小视频 | 成人午夜视频在线免费观看 | 蜜桃av噜噜一区二区三区麻豆 | 一区二区三区偷拍 | 国产精品探花视频 | 久久久无码人妻精品无码 | 久草免费福利 | 成年人黄色免费网站 | 国产精品久久久久久久久久妞妞 | 久久综合亚洲色hezyo国产 | 中文字幕免 | 久色| 欧美日韩免费高清一区色橹橹 | 欧美精品大片 | 富婆如狼似虎找黑人老外 | 小早川怜子一区二区三区 | 黄色片网站免费看 | 91av免费在线观看 | 国产操人 | 在线观看亚洲一区二区 | 日日艹 | 日本亚洲视频 | 伊人精品国产 | 日韩一区二区影视 | 亚洲69av| 午夜精品久久久久久久四虎美女版 | 91极品美女 | 欧美中出| 搡8o老女人老妇人老熟 | 日韩黄色免费电影 | 强公把我次次高潮hd | 亚洲日日干| 国产视频1 | 岛国av一区| 欧美123区| 日日干日日插 | 精品国精品国产自在久不卡 | 少妇饥渴难耐 | 极品色av| 日韩精品高清视频 | 色花av | 国产欧美久久久 | 中文字幕手机在线视频 | 色综合久久综合 | 成人免费午夜 | 亚洲狠狠丁香婷婷综合久久久 | 亚洲好看站 | 黑人多p混交群体交乱 | 手机看片久久 | 性色av网址 | 麻豆偷拍 | 综合五月婷婷 | 国产精品久久中文字幕 | 色综合视频在线 | 草久免费视频 | 亚洲欧洲一区 | 欧美色婷婷 | 亚洲精品h | 国产精品99久久 |