http://blog.sina.com.cn/s/blog_a8fead9b01016jdm.html
典型相关分析(Canonical Correlation Analysis)是统计学习方法中一个经典算法,它和PCA,LDA等等矩阵分析算法非常类似,在CCA中我们所关心的问题是找到一个基向量,使得在空间内的两个随机变量在这个基向量上的投影的相关性最大。
考虑一个多维随机向量(x,y),我们关于这个向量有若干组观测:
我们用Sx和Sy分别表示x和y的观测:
关于一个向量w_x,我们计算所有向量x_i在w_x上的投影:
同理,
在CCA中,我们试图寻找w_x和w_y使得上述两式的相关系数最大:
由于S_x和S_y是x和y的观测向量组,因此上式有其平均期望层面上的意义:
借助Covariance矩阵,上式可以写成如下形式:
求解CCA的算法很简单,注意到目标函数和w_x与w_y的Scale无关,因此可以假设:
此时目标函数的Lagrangian如下:
上式关于w_x和w_y求导:
将上面一式乘w_x减去二式乘w_y可得:
由此可得lambda_x等于lambda_y,于是:
代入一式:
这是一个广义特征值问题,因此可以使用相关算法进行求解。