典型关联分析CCA(canonical correlation analysis)

先看两个数学概念:

相关系数(参看百度百科)

     相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度

相关关系是一种非确定性的关系,相关系数是研究变量之间线性相关程度的量。由于研究对象的不同,相关系数有如下几种定义方式:

简单相关系数:又叫相关系数或线性相关系数,一般用字母r 表示,用来度量两个变量间的线性关系。

复相关系数:又叫多重相关系数。复相关是指因变量与多个自变量之间的相关关系。例如,某种商品的季节性需求量与其价格水平、职工收入水平等现象之间呈现复相关关系。

典型相关系数:是先对原来各组变量进行主成分分析,得到新的线性关系的综合指标,再通过综合指标之间的线性相关系数来研究原各组变量间相关关系。

相关系数矩阵(也叫相关矩阵)

设(X1,X2,X3...Xn)是一个n维随机变量,任意Xi和Xj的相关系数Pij(I,j=1,2,3…n)存在,则以Pij为元素的n阶矩阵称为该维随机向量的相关矩阵,记作R,即


其中


在一元统计分析中,用相关系数来衡量两个随机变量的线性相关关系,用复相关系数研究一个随机变量与多个随机变量的线性相关关系。而CCA则是利用综合变量对之间的相关关系来反应两组指标之间的整体相关性的多元统计分析方法。
CCA典型关联分析CCA的基本原理:CCA从整体上把握两组指标之间的相关关系,首先,在每组变量中寻找出变量的线性组合,使得两组的线性组合之间具有最大的相关系数;然后选取和已经挑选出的这对线性组合不相关的另一对线性组合,并使其相关系数最大,如此下去,直到两组变量的相关性被提取完毕为止。被选出的线性组合配对称为典型变量,它们的相关系数称为典型相关系数。
CCA简单相关系数描述两组变量的相关关系的缺点:只考虑了组与组的相关,并没有考虑组内的相关。两组简单相关系数很多,使问题显得复杂,难以从整体描述。     典型相关是简单相关,多重相关的推广。典型相关是研究两组变量之间相关性的一种统计学习方法,也是一种降维技术。
典型相关分析的实质就是在两组随机变量中选取若干个有代表性的综合指标(变量的线性组合),用这些指标的相关关系来表示原来的两组变量的相关关系。这在两组变量的相关分析中,可以起到合理的简化作用。当典型相关系数足够大时,可以像回归分析一样由一组变量的数值预测另一组变量的线性组合的数值。
计算方法:
第一步假设每组变量的线性组合和求得已知变量的相关系数矩阵,matlab里面有函数cov可以计算协方差:

第二步求得假设的线性组合的方差,协方差和相关系数:

第三步引入限制条件,求相关系数的最大值,这是其中的一种限制条件,可以求得第一对典型变量。





从上式就可以看出问题转化为了求特征值问题,λ²就是特征值,a和b就是对应的特征向量。也就是求出最大特征值及其对应的特征向量。
这就是第一对典型变量对的求法
第二对的典型变量对的求法就是更改一下第一对的求法里面的限制条件,在第三步里面
第二对典型变量对的求法:



按照求第一对的方法解此方程就可以求得第二对典型变量对。
以此类推,然后可以得到最终的一条规律,那就是:

其中
matlab自带CCA函数
>> [A,B,R,U,V] = canoncorr(X,Y);
参考文献:
http://www.cnblogs.com/boostable/p/lec_canonical_correlation_analysis.html
http://blog.csdn.net/u012409883/article/details/17091861   此文章有实例


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kullback–Leibler divergence(相对熵,KL距离,KL散度)

1 前言 注意两个名词的区别: 相对熵:Kullback–Leibler divergence 交叉熵:cross entropy KL距离的几个用途: ① 衡量两个概率分布的差异。 ② 衡量利用概率分布Q 拟合概率分布P 时的能量损耗,也就是说拟合以后丢失…

李宏毅机器学习课程11~~~为何要深?

为何要“深”? pluskid的博客 Deep Learning and Shallow Learning Bengio Y. Learning deep architectures for AI. Foundations and trends in Machine Learning, 2009 Deeper is Better? 模型有更多的参数会有更好的结果,这是毋庸置疑的。 深瘦的模…

没事随便写写——matlab图像与矩阵的转换与存储为txt文件

<span style"font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">刚开课&#xff0c;上了一节计算机图像处理&#xff0c;想了一下把图像转换成矩阵表示&#xff0c;然后存储到txt文档中去。图片用的 lena.jpg</span> …

李宏毅机器学习课程12~~~半监督学习

Semi-supervised Learning The distribution of the unlabeled data tell us something. Usually with some assumptions. Semi-Supervised Generative Model 对比学习见 李宏毅机器学习课程&#xff14;~~~分类&#xff1a;概率生成模型 EM算法思路来最大化似然函数。 Self-tr…

计算机视觉、机器学习相关领域论文和源代码大集合--持续更新……

原文地址&#xff1a;http://blog.csdn.net/whaoXYSH/article/details/16886109 一、特征提取Feature Extraction&#xff1a; SIFT [1] [Demo program][SIFT Library] [VLFeat] PCA-SIFT [2] [Project] Affine-SIFT [3] [Project] SURF […

Tensor数据相关的运算、函数讲解及与numpy区别

Tensor tensorflow 中使用它来表示数据。可以看做多维数组或者list。 标量是张量&#xff0c;向量是张量&#xff0c;矩阵是张量&#xff0c;矩阵的矩阵是张量。 常用几种定义方法 1. variable变量&#xff0c;一般是可以被更更新或更改的数值&#xff0c;即在流图运行过程中…

Python程序设计—车万翔

程序设计入门—Python 对象和类型 五种基本对象类型 字符串 &#xff08;string&#xff09;&#xff0c;简记为 str 使用 ’ ’ 或 ” ” 括起来的一系列字符 整数&#xff08;integer&#xff09;&#xff0c;简记为 int 十进制&#xff1a;21&#xff0c;八进制&#xf…

【重大修改】动态时间规整(Dynamic Time Warping)

本文只是简单的介绍DTW算法的目的和实现。具体的DTW可以参考一下文献&#xff1a; 离散序列的一致性度量方法&#xff1a;动态时间规整&#xff08;DTW&#xff09; http://blog.csdn.net/liyuefeilong/article/details/45748399 动态时间归整/规整/弯曲(Dynamic time warpi…

python中的深拷贝与浅拷贝

浅拷贝的时候&#xff0c;修改原来的对象&#xff0c;深拷贝的对象不会发生改变。 对象的赋值 对象的赋值实际上是对象之间的引用&#xff1a;当创建一个对象&#xff0c;然后将这个对象赋值给另外一个变量的时候&#xff0c;python并没有拷贝这个对象&#xff0c;而只是拷贝了…

从机器学习谈起

很好的一篇文章&#xff0c;转载自博客园&#xff1a;http://www.cnblogs.com/subconscious/p/4107357.html 在本篇文章中&#xff0c;我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习&#xff0c;并且上手相关的实践。这篇文档也算…

核函数

由于下一篇要学机器学习的另外一种模型——核模型&#xff0c;里面涉及到核函数&#xff0c;所以先找了一下核函数的相关知识。 在知乎上看到了一些比较好的解答&#xff0c;详细参考&#xff1a;http://www.zhihu.com/question/24627666 首先举一个核函数把低维空间映射到高…

关于Matlab编程的思考(待续)

Matlab编程的规范化思考 1.并行化 2.释放内存 3.需要调参的变量太多&#xff0c;可考虑将变量都放到一个结构体里面。 4.find(y),就是要找到y中那些非零项的指引 5.代码运行出现问题的时候&#xff0c;在命令行输入why就可以得到答案 6.输入bench可以给电脑跑分。 7.hom…

拉普拉斯锐化图像

在图像增强中&#xff0c;平滑是为了消除图像中噪声的干扰&#xff0c;或者降低对比度&#xff0c;与之相反&#xff0c;有时为了强调图像的边缘和细节&#xff0c;需要对图像进行锐化&#xff0c;提高对比度。 图的边缘是指在局部不连续的特征。 简要介绍一下原理&#xff1…

运动捕捉数据的描述ASF/AMC

运动捕捉数据有多种格式&#xff1a;ASF/AMC&#xff0c;BVH&#xff0c;C3D等&#xff0c;这三个是比较常用的&#xff0c;一般的matlab实验用的是ASF/AMC&#xff0c;其次就是BVH。 ASF/AMC文件格式是Acclaim Games公司设计开发的&#xff0c;全称是Acclaim Skeleton File/A…

应用深度学习(台大陈蕴侬李宏毅) Part1

History of Deep Learning Big Data & GPU 端到端 Universality Theorem Core Factors for Applied Deep Learning 参考文献 http://v.qq.com/vplus/578e2d6f5e1fadc1/foldervideos/8n1000201qzzkx5 Deep Learning ◦Goodfellow, Bengio, and Courville, “Deep Learning…

世界坐标

世界坐标是最直观反映人体在世界坐标系下运动位置的变化信息&#xff0c;对分析运动行为有重要的作用。下面介绍如何根据ASF/AMC文件计算人体各个关节的世界坐标。 根据前面讲的ASF/AMC文件的格式&#xff0c;可以知道人体运动可以看做是通过根节点root的平移以及其他关节绕其父…

12bit灰度图像映射到8bit显示及python 实现

图像显示和打印面临的一个问题是&#xff1a;图像的亮度和对比度能否充分突出关键部分。这里所指的“关键部分”在 CT 里的例子有软组织、骨头、脑组织、肺、腹部等等。 技术问题 1、显示器往往只有 8-bit&#xff0c; 而数据有 12- 至 16-bits。 2、如果将数据的 min 和 max…

人工神经网络——径向基函数(RBF)神经网络

此博客排版不好&#xff0c;重新用Markdown写了一篇&#xff0c;同时附上了代码&#xff0c;戳这里 本文摘自&#xff1a;《模式识别与智能计算——matlab技术实现第三版》与《matlab神经网络43个案例分析》 【注】蓝色字体为自己的理解部分 径向基函数神经网络的优点&#xf…

基于RBF简单的matlab手写识别

GetFeature.m %将图像分为25块&#xff0c;计算每一块的空白部分所占比例 function dataGetFeature(I) [row,col]find(I0); %返回数字的上下左右的边界 II(min(row):max(row),min(col):max(col)); %截取手写数字图像&#xff0c;使其紧包含数字边界&…

李宏毅机器学习课程-Transfer Learning

深度学习 -> 强化学习 ->迁移学习&#xff08;杨强教授报告) 李宏毅机器学习课程&#xff0d;Transfer Learning 迁移学习&#xff0d;吴恩达 freeze 待处理的 理解深层神经网络中的迁移学习及TensorFlow实现 Transfer Learning模式 Similar domain, different task…