Canonical Correlation Analysis(CCA)典型相關分析也是一種常用的降維算法。我們知道,PCA(Principal Component Analysis) 主分量分析將數據從高維映射到低維空間同時,保證了數據的分散性儘可能地大, 也就是數據的方差或者協方差儘可能大。而LDA(Linear Discriminant Analysis) 線性判別分析則利用了類標籤,利用一種監督學習的方法,將數據從高維空間映射到低維空間時,讓不同類的數據儘可能地分開而同一類的數據儘可能地聚合。
但是,有的時候,我們想探討多個線性空間之間的相關性。比如有的時候我們會從圖像中提取各種特徵,每一種特徵都可以構成一個線性空間,爲了分析這些空間之間的相關性,我們可以利用CCA 來做分析。
假設我們有兩個特徵空間,
可以看到,Σ12=ΣT21
可以進一步算出 u,v
可以計算出 u,v 的相關係數:
將u,v的表達式代入,可以得到:
我們的目標是讓相關係數Corr(u,v), 可以固定分母而讓分子最大化,所以上面的函數可以變成:
構造拉格朗日等式:
L 求導,可以得到:
根據約束條件,可以得到:
所以只要求出 λ1.
通過上面的偏導數,我們可以得到:
寫成矩陣形式:
令:
那麼,上式可以表示成:
所以,λ 的特徵值和特徵向量,然後利用特徵向量將原來的特徵
x1,x2 的求解,可以有更簡單的方法,從上面的偏導數,我們可以得到如下等式:
我們可以利用上面的表達式求出 λ.
λ 的特徵值從大到小排列,可以求出一系列的典型變量。特徵值越大,說明典型變量的相關性越強。
參考來源:
http://www.cnblogs.com/jerrylead/archive/2011/06/20/2085491.html
https://en.wikipedia.org/wiki/Canonical_correlation
<link rel="stylesheet" href="http://s.csdnimg.cn/static/markdown/markdown_views.css?v=2.0">
</div>