CCA典型相关分析
(canonical correlation analysis)利用综合变量对之间的相关关系来反映两组指标之间的整体相关性的多元统计分析方法。它的基本原理是:为了从总体上把握两组指标之间的相关关系,分别在两组变量中提取有代表性的两个综合变量U1和V1(分别为两个变量组中各变量的线性组合),利用这两个综合变量之间的相关关系来反映两组指标之间的整体相关性。

Canonical Correlation Analysis典范相关分析/Canonical Correspondence Analysis典范对应分析

简单相关系数描述两组变量的相关关系的缺点:只是孤立考虑单个X与单个Y间的相关,没有考虑X、Y变量组内部各变量间的相关。两组间有许多简单相关系数,使问题显得复杂,难以从整体描述。典型相关是简单相关、多重相关的推广。典型相关是研究两组变量之间相关性的一种统计分析方法。也是一种降维技术

1936年,Hotelling提出典型相关分析。考虑两组变量的线性组合, 并研究它们之间的相关系数p(u,v).在所有的线性组合中, 找一对相关系数最大的线性组合, 用这个组合的单相关系数来表示两组变量的相关性, 叫做两组变量的典型相关系数, 而这两个线性组合叫做一对典型变量。在两组多变量的情形下, 需要用若干对典型变量才能完全反映出它们之间的相关性。下一步, 再在两组变量的与u1,v1不相关的线性组合中, 找一对相关系数最大的线性组合, 它就是第二对典型变量, 而且p(u2,v2)就是第二个典型相关系数。这样下去, 可以得到若干对典型变量, 从而提取出两组变量间的全部信息。
典型相关分析的实质就是在两组随机变量中选取若干个有代表性的综合指标(变量的线性组合), 用这些指标的相关关系来表示原来的两组变量的相关关系。这在两组变量的相关性分析中, 可以起到合理的简化变量的作用; 当典型相关系数足够大时, 可以像回归分析那样, 由- 组变量的数值预测另一组变量的线性组合的数值。

典型关联分析(Canonical Correlation Analysis)

1. 问题

在线性回归中,我们使用直线来拟合样本点,寻找n维特征向量X和输出结果(或者叫做label)Y之间的线性关系。其中。然而当Y也是多维时,或者说Y也有多个特征时,我们希望分析出X和Y的关系。

当然我们仍然可以使用回归的方法来分析,做法如下:

假设,那么可以建立等式Y=AX如下

其中,形式和线性回归一样,需要训练m次得到m个

这样做的一个缺点是,Y中的每个特征都与X的所有特征关联,Y中的特征之间没有什么联系。

我们想换一种思路来看这个问题,如果将X和Y都看成整体,考察这两个整体之间的关系。我们将整体表示成X和Y各自特征间的线性组合,也就是考察之间的关系。

这样的应用其实很多,举个简单的例子。我们想考察一个人解题能力X(解题速度,解题正确率)与他/她的阅读能力Y(阅读速度,理解程度)之间的关系,那么形式化为:

 和 

然后使用Pearson相关系数

来度量u和v的关系,我们期望寻求一组最优的解a和b,使得Corr(u, v)最大,这样得到的a和b就是使得u和v就有最大关联的权重。

到这里,基本上介绍了典型相关分析的目的。

2. CCA表示与求解

给定两组向量(替换之前的x为,y为),维度为维度为,默认。形式化表示如下:

是x的协方差矩阵;左上角是自己的协方差矩阵;右上角是;左下角是,也是的转置;右下角是的协方差矩阵。

与之前一样,我们从的整体入手,定义

 

我们可以算出u和v的方差和协方差:

  

上面的结果其实很好算,推导一下第一个吧:

最后,我们需要算Corr(u,v)了

我们期望Corr(u,v)越大越好,关于Pearson相关系数,《数据挖掘导论》给出了一个很好的图来说明:

横轴是u,纵轴是v,这里我们期望通过调整a和b使得u和v的关系越像最后一个图越好。其实第一个图和最后一个图有联系的,我们可以调整a和b的符号,使得从第一个图变为最后一个。

接下来我们求解a和b。

回想在LDA中,也得到了类似Corr(u,v)的公式,我们在求解时固定了分母,来求分子(避免a和b同时扩大n倍仍然符号解条件的情况出现)。这里我们同样这么做。

这个优化问题的条件是:

Maximize 

Subject to: 

求解方法是构造Lagrangian等式,这里我简单推导如下:

求导,得

令导数为0后,得到方程组:

第一个等式左乘,第二个左乘,再根据,得到

也就是说求出的即是Corr(u,v),只需找最大即可。

让我们把上面的方程组进一步简化,并写成矩阵形式,得到

写成矩阵形式

那么上式可以写作:

显然,又回到了求特征值的老路上了,只要求得的最大特征值,那么Corr(u,v)和a和b都可以求出。

在上面的推导过程中,我们假设了均可逆。一般情况下都是可逆的,只有存在特征间线性相关时会出现不可逆的情况,在本文最后会提到不可逆的处理办法。

再次审视一下,如果直接去计算的特征值,复杂度有点高。我们将第二个式子代入第一个,得

这样先对求特征值和特征向量,然后根据第二个式子求得b。

待会举个例子说明求解过程。

假设按照上述过程,得到了最大时的。那么称为典型变量(canonical variates),即是u和v的相关系数。

最后,我们得到u和v的等式为:

 

我们也可以接着去寻找第二组典型变量对,其最优化条件是

Maximize 

Subject to: 

其实第二组约束条件就是

计算步骤同第一组计算方法,只不过是的第二大特征值。

得到的其实也满足

 即 

总结一下,i和j分别表示得到结果

3. CCA计算例子

我们回到之前的评价一个人解题和其阅读能力的关系的例子。假设我们通过对样本计算协方差矩阵得到如下结果:

然后求,得

这里的A和前面的中的A不是一回事(这里符号有点乱,不好意思)。

然后对A求特征值和特征向量,得到

然后求b,之前我们说的方法是根据求b,这里,我们也可以采用类似求a的方法来求b。

回想之前的等式

我们将上面的式子代入下面的,得

然后直接对求特征向量即可,注意的特征值相同,这个可以自己证明下。

不管使用哪种方法,

这里我们得到a和b的两组向量,到这还没完,我们需要让它们满足之前的约束条件

这里的应该是我们之前得到的VecA中的列向量的m倍,我们只需要求得m,然后将VecA中的列向量乘以m即可。

这里的是VecA的列向量。

因此最后的a和b为:

第一组典型变量为

相关系数

第二组典型变量为

相关系数

这里的(解题速度),(解题正确率),(阅读速度),(阅读理解程度)。他们前面的系数意思不是特征对单个u或v的贡献比重,而是从u和v整体关系看,当两者关系最密切时,特征计算时的权重。

典型相关分析原理(CCA)相关推荐

  1. 典型相关分析原理(例题+代码)

    一.典型相关分析背景介绍 1936年 Hotelling将线性相关性推广到两组变量的讨论中,提出了典型相关分析方法 .基本思想是仿 照主成分分析法中把多变量与多变量之间的相关化为两个变量之间相关的做法 ...

  2. 典型相关分析(CCA)代码分析

  3. 谷歌大脑团队新尝试 用奇异向量典型相关分析解释深度神经网络

    来源:ATYUN AI平台 深度神经网络(DNNs)在视觉.语言理解和语音识别等领域取得了前所未有的进展.但这些成功也带来了新的挑战.与许多以前的机器学习方法不同的是,深度神经网络可以很容易地在分类中 ...

  4. 典型相关分析(cca)原理_CCA典型关联分析原理与Python案例

    文章来源于"脑机接口社区" CCA典型关联分析原理与Python案例​mp.weixin.qq.com Rose今天分享一下CCA的相关原理以及Python应用,CCA在EEG等脑 ...

  5. 典型相关分析(Canonical Correlation Analysis,CCA)原理及Python、MATLAB实现

    随着对CCA的深入研究,是时候对CCA进行一下总结了. 本菜鸡主要研究方向为故障诊断,故会带着从应用角度进行理解. 典型相关分析 基本原理 从字面意义上理解CCA,我们可以知道,简单说来就是对不同变量 ...

  6. 典型相关分析 python_CCA典型关联分析原理与Python案例

    点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 Hello,大家好! Rose今天分享一下CCA的相关原理以及Python应用,CCA在EEG等脑电数据的特征提取中使用 ...

  7. 典型相关分析python实现_CCA典型关联分析原理与Python案例

    文章来源于"脑机接口社区"CCA典型关联分析原理与Python案例​mp.weixin.qq.com Rose今天分享一下CCA的相关原理以及Python应用,CCA在EEG等脑电 ...

  8. matlab CCA标准化,典型相关分析(CCA)附算法应用及程序

    <典型相关分析(CCA)附算法应用及程序>由会员分享,可在线阅读,更多相关<典型相关分析(CCA)附算法应用及程序(15页珍藏版)>请在人人文库网上搜索. 1.典范相关分析摘要 ...

  9. 基于典型相关分析(CCA)的多元变化检测算法(MAD)

    基于典型相关分析的多元变化检测算法 1 典型相关分析(CCA) 2 多元变化检测(MAD) 3 实验 链接 多元变化检测算法(Multivariate Alteration Detection,MAD ...

  10. 典型相关性分析(CCA)原理详细总结合集

    典型相关性分析(CCA) 最近研究CCA相关的算法,从头原理入手 推荐以下两位大佬的Blog,希望对你有所帮助. 刘建平Pinard 网名为JerryLead的大佬 第一位大佬的Blog: 第二位大佬 ...

最新文章

  1. labview实现简单的图片显示
  2. 标准库类型string的基本功能和使用
  3. ls 命令还能这么玩?看一下这 20 个实用范例
  4. arraylist 初始化_ArrayList(JDK1.8)源码解析
  5. BugkuCTF-Crypto题缝合加密
  6. dict过滤 python_小猿圈解析Python开发的技巧都有哪些?
  7. 总结几种简单实用的数据恢复技巧
  8. [POJ2796]Feel Good
  9. 计算机专业过度饱和,教育部:撤销518个本科专业,计算机专业也被撤销,市场饱和了?...
  10. opencv Library QUIRC is not linked解决办法
  11. 微信web中IOS系统手机摇一摇功能实现及问题解决
  12. Redis主从复制架构初步探索 http://www.sxt.cn/info-1750-u-324.html#SXT_h2_11
  13. 阿里EasyExcel对Excel复杂模版填充实现并设置单元格格式
  14. APICloud开发app学习(一)
  15. Spark RDD用法
  16. 人工智能在教育中的应用场景
  17. SQL管理员sss或navicat premium连接自定义非1433端口说明
  18. IDEA插件 阿里巴Java编码指南插件支持
  19. 异或和同或运算之间的等价关系
  20. word页面顺序倒过来_Word文字倒过来将每一个文字颠倒显示即更改文字显示方向...

热门文章

  1. 文件系统性能测试工具iozone
  2. journalctl清空日志
  3. css 固定宽度超出部分换行,css怎么超出宽度换行
  4. 基于matlab的自适应滤波器,基于MATLAB的自适应滤波器的设计与实现.doc
  5. bat文件转exe工具分享
  6. RFC2544测试指标
  7. 移动机顶盒migu-jt-u1 unt400c刷机 hi3798 root
  8. crazy programer
  9. Python三十个常见的脚本汇总
  10. GUID转换字符串的几种形式