cca matlab代码,CCA的matlab小实验

最近在看CCA,为了证明CCA的性能,自己写了一个matlab代码

有关CCA的网页   http://www.cnblogs.com/jerrylead/archive/2011/06/20/2085491.html

0818b9ca8b590ca3270a3433284dd417.png

Y1=[1,0;1,0;1,1;0,1;0,1;1,1;1,0;1,0];

X1=[-5,3;-4,3;-2,2;-1,1;2,0.5;3,2;6,3;7,4];

mean1=mean(X1);%0均值处理

for i=1:8

X1(i,:)=X1(i,:)-mean1;

end

mean1=mean(Y1);

for i=1:8

Y1(i,:)=Y1(i,:)-mean1;

end

M=inv(X1'*X1+eye(2))*(X1'*Y1*inv(Y1'*Y1+eye(2))*Y1'*X1);%求得特征值分解目标函数

[D,I]=eigs(M);

w=D(:,1);%求得投影向量

X2=X1*w;%降维

0818b9ca8b590ca3270a3433284dd417.png

0均值处理后的Y1

0818b9ca8b590ca3270a3433284dd417.png

0均值处理后的X1

0818b9ca8b590ca3270a3433284dd417.png

降维后的X1

最后我们来看看降维后的数据,X2,X2中第1、2、7、8都是属于第一类,投影降维后的数据X2中就是比较近,第3、6个数据即属于第一类也属于第二类也比较近,第4、5数据属于第二类也是比较近的,可见他的投影方向完全不是PCA的样子,而是与LDA比较像,他是LDA在多标签情况下的延伸。bingo

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Deep CCA(Deep Canonical Correlation Analysis)是一种在深度学习领域中应用广泛的方法,用于学习两个不同领域之间高度相关的表示。Deep CCA的目标是学习到的两个表示能够最大化它们的互相关性,从而在不同领域之间找到有意义的对应关系。相比传统的CCA方法,Deep CCA能够处理更加复杂的非线性关系,因此在一些多模态数据分析任务中表现出更好的效果。 在MATLAB中,可以使用已经实现的Deep CCA模型进行研究和实验MATLAB提供了丰富的深度学习工具箱和函数,用于构建和训练深度神经网络。对于Deep CCA,可以使用MATLAB中的神经网络工具箱来构建多个特征提取器(encoder),分别处理不同领域的数据。然后,使用CCA分析这些特征提取器的输出,以最大化它们之间的互相关性。 在实际操作中,首先需要定义和配置神经网络模型,包括网络的结构和参数设置。然后,可以使用MATLAB提供的函数来训练模型,并根据需要进行调整和优化。在训练过程中,可以使用具有标签的训练数据进行监督学习,也可以使用无标签的数据进行自监督学习。训练完成后,可以使用训练好的模型对新的数据进行表示学习和匹配分析。 总之,Deep CCA是一种在深度学习中应用广泛的方法,用于学习不同领域之间的高度相关表示。在MATLAB中,可以利用神经网络工具箱构建和训练Deep CCA模型,以实现相关研究和实验
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值