我刚刚开始在 Matlab 中使用 CCA。我有两个向量X
and Y
维度的60x1920
and 60x1536
样本数为60
和不同向量集中的变量是1920
and 1536
分别。我想知道如何进行 CCA 将它们减少到子空间,然后进行特征匹配。
我正在使用这个命令。
%% DO CCA
[A,B,r,U,V] = canoncorr(X,Y);
我得到的输出是这样的:
Name Size Bytes Class Attributes
A 1920x58 890880 double
B 1536x58 712704 double
U 60x58 27840 double
V 60x58 27840 double
r 1x58 464 double
谁能告诉我这些变量的含义。我已经多次查看文档,但仍然不清楚。据我了解 CCA 找到两个线性投影矩阵Wx
and Wy
使得投影X
and Y
on Wx
and Wy
具有最大相关性。
1)谁能告诉我以下哪个矩阵是这些?
2)另外,我怎样才能在CCA的学习子空间中找到投影向量?
任何帮助将不胜感激。提前致谢。
据我了解,与X
and Y
是你的原始数据矩阵,A
and B
是执行基础更改以最大限度地关联原始数据的系数集。您的数据在新基数中表示为矩阵U
and V
.
所以回答你的问题:
您正在寻找的投影矩阵是A
and B
因为他们转变了X
and Y
进入新的空间。
由此产生的预测X
and Y
进入新空间将是U
and V
, 分别。 (这r
向量表示之间的相关矩阵的条目U
and V
,这是一个对角矩阵。)
The The MATLAB 文档 http://www.mathworks.com/help/stats/canoncorr.html说这个转换可以用下面的公式来完成,其中N
是观测值的数量:
U = (X-repmat(mean(X),N,1))*A
V = (Y-repmat(mean(Y),N,1))*B
这一页 https://onlinecourses.science.psu.edu/stat505/node/65很好地展示了该过程,以便您可以了解每个系数在转换过程中的含义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)