pca與ica學習與理解

本文是在學習後的理解,將數學和原理進行的總結。


pca閱讀資料來自http://blog.jobbole.com/109015/

主成分分析(Principal Component Analysis,PCA)

最近複習了線性迴歸,在概率論書中講解兩個變量之間的關係,變量x和y是否有關係?當然書裏設x是一個變量,y是一個隨機變量,並且假設y是服從正太分佈的。那麼假設他們線性相關的話,他們的關係必然是y=ax+b。因此是一條直線,說明他們相關。但是由於y是一個隨機變量,它有隨機性,因此數據點應該是一個橢圓形。圖的話就是閱讀資料裏的圖。

現在想一下假如他們沒關係的話他們的圖會是什麼樣子?比如x和y都無關,他們都是0到1之間的均勻分佈,因此是在一個正方形內的均勻分佈的點。

假如x和y都是變量而不是隨機變量,他們是否相關的話,相關肯定就是成一條直線。當然也不能這麼說,我覺得這裏應該利用線性無關這一說法,或者用物理學裏面的自由度。也就是說給我們3維的點,假如其中x和y線性相關,那麼我只需要x和z就可以表示這些點,根本不需要y了。


接下來的問題是我們如何找到某一個方向是最優的,讓所有向量投影到我這個方向上,得到的向量值是最大的。

那麼我就首先假設這些點都是向量,然後有一個單位向量是r,r的方向c是最好的角度。求這個單位向量的做法是求最大值唄:

a1點乘r+a2點乘r+a3點乘r+。。。+an點乘r=T

什麼是點乘?請閱讀高等數學下空間解析幾何那一章。

當然如果是向量的長度那肯定加一個範數(平方)。那麼T就是一個最小二乘的公式了,當然這裏我們不是求T的最小值,要求他的最大值,因此什麼梯度下降或者牛頓都行,當然資料裏用了矩陣輪裏的知識,反正就是求最大值了。

基本上算法的思想就是這樣。


具體算法過程與思想2

一堆數據構成一個表,每一行是一個案例,每一列是某一屬性。在有三個屬性時是三維空間的一堆向量,找一個方向進行投影,投影后的得到的向量的長度即是一個新的維度。因此一個投影方向緊能得到一個維度。

根據https://blog.csdn.net/cxmscb/article/details/66473130

中的推導,假如原數據有3個屬性,那麼我們可以找到三個方向,利用這三個方向可以完全表達原數據而不丟失任何信息。這種方向也可以稱爲線性空間的一組基向量,有很多個。我們認爲投影后方差最大的方向即是最好的,經過文中推倒得到一個公式來求最優方向,即是求期特徵向量與特徵值。3個屬性會得到3個投影方向,投影后得到3個維度,我們要降維的話那就只採用裏面重要程度比較大的幾個。基本原理就是這樣。






————————————————————————————————————————————————————

ica獨立成分分析(independent component analysis)


相互獨立和不相關:首先這兩個概念理解時不要與自然語言裏的獨立和相關進行聯繫。他們的定義我參考浙江大學概率論與數理統計裏的定義是:

協方差cov(X,Y)=0表示獨立;相關係數deta=cov(X,Y)/(方差X乘以方差Y);deta=1表示線性相關,0表示不相關,0到1表示有點相關。

很自然若協方差是0那麼deta肯定0,因此獨立推出不相關。書中109頁說明相關係數是表示線性相關程度的量。舉出一個例子,X和Y的關係是二次平方關係,但是deta卻等於0,說明它們不相關卻獨立。所以此相關不是咱們理解的不相關,而是線性相關。

給定m個不是高斯分佈的隨機變量s的線性組合x,欲求s。s就是m個不是高斯分佈的信號,x是他們的線性組合。這個問題是一個無窮多解的問題,具體參考https://wenku.baidu.com/view/ad0973b94028915f804dc2aa.html

其實神經網絡也是一個無窮多解的問題,但是我們找到一個最好的解,比如我這個解與所有待分類的點平均距離最大,因爲如果想找到可以分類所有點的平面,那有無窮多個,而最好的只有一個。

因此解決這個問題的切入點就是,概率論中有一個李雅普諾夫定理,說無窮多個隨機變量加到一起就是高斯分佈,因此我讓x變回s,並且變回去以後s是最不是高斯分佈的。

這就轉化爲一個求極值的問題,找到一個矩陣乘以x然後得到的新矩陣讓他最不是高斯分佈。

而目標函數(代價函數)就是形容這個矩陣到底有多不是高斯分佈,假如這個代價函數是T,然後以W爲參數我們最大話T就可以得到最後的解。當然具體計算需要把以上概念轉化成數學公式,具體公式請看參考資料。









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章