【機器學習】最經典的降維方法:PCA主成分分析 - Jason ...
文章推薦指數: 80 %
對於有學習過統計學、人工智慧、機器學習的人來說,你跟他提到「降維」這兩個字,他腦海中閃過的第一個方法一定就是「主成分分析(Principal ...
JasonChen'sBlog
Home
About
Press
Contact
Home
About
Press
Contact
【機器學習】最經典的降維方法:PCA主成分分析
6/30/2021
0評論
對於有學習過統計學、人工智慧、機器學習的人來說,你跟他提到「降維」這兩個字,他腦海中閃過的第一個方法一定就是「主成分分析(PrincipalComponentAnalysis,PCA)」,它是由100多年前的英國數學家 KarlPearson所發明至今仍在機器學習與統計學領域中大放異彩的資料分析方法,主要用於降低資料維度以及去關聯的線性降維方法,可謂是經典中的經典沒有之一。
那麼問題就回到,什麼是「降維」?
其實顧名思義我們就可以知道,它是要降低、減少資料的維度,但是又不能影響資料原本的"特性"。
比如說我們並不希望一個原本在三維空間呈現高斯分布的資料,在被我們降維以後就變成隨機分布了,我們會希望它基本上還是維持高斯分布的樣子。
那麼又是為什麼要「降維」?
其實呢,數學的本質是把複雜的問題變簡單,而不是把簡單的問題複雜化。
「降維」的本質亦同,它想做的就是降低問題的複雜度,有點像今天你去Interview面試官就說:不要跟我整那些花里胡哨的,能不能用最簡短的方式介紹你自己?大概是這樣的感覺,然後舉個具體一點的例子吧~
其實在傳統影像處理裡面我們也很常做「降維」這件事情,就是:彩色轉灰階RGBtoGray。
雖然一張影像在彩色轉灰階的過程中會遺失掉大量的資訊,但在灰階影像中也很大程度的保留了原始影像中的一些邊緣、形狀、紋理以及強度變化等等資訊。
所以在一些不需要色彩資訊的應用上,這樣的灰階影像就很夠我們用了,而且問題也就變得比較簡單了,相對的演算法也會比較好開發。
Ok我想看到這邊,你們應該也能比較直觀的理解「降維」這件事了!
然後在機器學習裡面,我們做降維有一個重點是可以用來規避「維度詛咒CurseofDimensionality」。
另外在特徵工程裡面,也常常把它當作一種提煉特徵的方法來使用。
接著來聊聊今天的主角:主成分分析 PCA吧!它有三個最主要的精神:
代表性(保有原來變數的資訊)
獨立性(主成份間不能重疊)
精簡性(以少數主成份代替原來多個變數)
做法上是對多個變數決定各變數權重而成加權平均,依此訂出總指標。
經由線性組合而得的主成份,能保有原來變數最多的資訊,即主成份有最大的變異數,也就是使受測者在這些主成份上會顯出最大的個別差異。
基本上可以把它分成三個主要步驟:
(1)計算數據的協方差矩陣;
(2)計算該協方差矩陣的特徵值和向量;
(3)通過特徵值和向量來只選擇最重要的特徵向量,然後將數據轉換為這些向量以降低維度。
BenFrantzDale(talk)(TransferredbyILCyborg)-Icreatedthisworkentirelybymyself.(Originallyuploadedonen.wikipedia)
上圖是維基百科上的範例為一個高斯分布,平均值於(1,3),標準差在(0.878,0.478)方向上為3、在其正交方向上為1的主成分分析。
黑色的兩個向量是此分布的共變異數矩陣的特徵向量,其長度為對應的特徵值之平方根,並以分布的平均值為原點。
看到這邊是不是覺得Jason前面寫的那些你好像都還看的懂,但一到維基百科範例那邊就矇掉了?
我想這應該是多數人的反應啦~第一次聽到PCA這東西,感覺它好像很厲害、很有趣,結果上網一查找到的網頁、文件、部落格文章、線上課程等等,都寫了、講了一堆數學or你沒看過的名詞,讓你都不禁懷疑自己是看不懂中文還是數學不好了xD
這也蠻真實的啦~畢竟它底層的數學原理如果你沒學過一點統計學、線性代數還真的看不懂。
Jason這邊就換個方式來跟大家講這個東西,如果不提數學的話那大概就剩兩個重點,分別是:
投影Projection
旋轉Rotation
說白一點,也就是要怎麼將高維度的資料投影到低維度表示?
一樣我們用一個影像處理的例子來讓各位更好理解「投影」這件事。
左圖是一張人工設計的黑白影像,右邊則是我把這張二維的影像根據垂直與水平兩個方向各別投影到一維向量中的結果。
看完上圖後,應該就能夠很直觀的理解「投影」做的事,再來另一個重點「旋轉」其實指的就是投影的方向,投影的時候它不一定要像上圖那樣用垂直、水平的方向來投影,它可以是任意角度的。
「橫看成嶺側成峰,遠近高低各不同。
」在處理資料上亦如是。
基本上的概念就是這樣,而PCA做的事就是拿你的資料,配合它底下複雜的數學原理做計算(上面提到的三大步驟),幫你找出它認為最好(上面提到的三大精神)的投影方向來投影。
最後在這個年代,其實我們也不需要重複的造輪子,只要站在巨人的肩膀上前行就可以了。
PCA這麼經典的方法,自然很多DataScienceLibrary都會把它包含在裡面搂~
相關的資源有很多啦~
Scikit-learn我覺得算是一個在做DataScience、MachineLearning時非常好用的一個Library。
使用上還蠻簡單的,如果想更清楚的了解 Scikit-learn裡面的PCA要怎麼用,可以參考註解裡面的文檔。
我想這篇寫到這邊應該是差不多了,好了那就下一篇再見了Bye~
0評論
發表回覆。
JasonChen
如果說懷才就像懷孕,時間久了才能讓人看出來。
那麼還有另一個相似的點就是..在開花結果之前,都要先給人幹到不要不要的Q_Q
文章分類
全部
介紹
分享
加密貨幣Cryptocurrency
影像處理DIP
教學
消息
演算法Algorithm
物聯網IoT
資料科學DataScience
遊戲Game
閒聊
封存檔
八月2021
七月2021
六月2021
五月2021
四月2021
三月2021
二月2021
一月2021
十二月2020
十一月2020
十月2020
九月2020
八月2020
七月2020
四月2020
三月2020
二月2020
一月2020
十二月2019
十一月2019
十月2019
九月2019
八月2019
七月2019
六月2019
五月2019
四月2019
三月2019
二月2019
一月2019
十二月2018
十一月2018
十月2018
九月2018
八月2018
七月2018
六月2018
五月2018
四月2018
三月2018
二月2018
一月2018
十二月2017
十一月2017
十月2017
RSS訂閱
提供者
使用自訂式範本建立您的專屬獨特網站。
開始吧
延伸文章資訊
- 1世上最生動的PCA:直觀理解並應用主成分分析 - LeeMeng
世上最簡單的降維:給我一個數字就好!
- 2【机器学习】降维——PCA(非常详细) - 知乎专栏
PCA(Principal Component Analysis) 是一种常见的数据分析方式,常用于高维数据的降维,可用于提取数据的主要特征分量。 PCA 的数学推导可以从最大可分型和最近重构 ...
- 3主成分分析PCA數據降維原理及python應用(葡萄酒案例分析)
數據降維的一種方法是通過特徵提取實現,主成分分析PCA就是一種無監督 ... 換言之,PCA技術就是在高維數據中尋找最大方差的方向,將這個方向投影到 ...
- 4機器學習- 降維- PCA主成分分析 - Jimmy Huang
機器學習- 降維- PCA主成分分析 ... 這兩者的差別主要是,PCA速度快,而且是線性降維,也就是彼此線性相關的資料很適合使用PCA降維,但是如果特徵與 ...
- 5主成分分析- 維基百科,自由的百科全書
在多元統計分析中,主成分分析(英語:Principal components analysis,PCA)是一種統計分析、 ... 通過使用降維來保存大部分數據訊息的主成分分析的觀點是不正確的。