典型关联分析(CCA)算法原理

典型关联分析(CCA)算法原理

1、问题的提出

我们知道,两个随机变量x、y之间的线性关系可以通过对这两个变量的N组样本对进行线性回归求得。但是,如果要求两组随机变量xy之间的线性关系,则可以用典型关联分析(Canonical correlation analysis)来求解。CCA是寻找两组变量对应的两个线性变换 wx,wy (分别和xy的维数相等),使得通过线性变换后的两个组合变量(即 wTxx,wTyy )之间的相关系数最大。

2、算法实现

假设两组随机变量有N个样本,把这N个样本都进行线性变换,得到以下两组数据:

Sxwx=(wTxx1,...,wTxxN)
Sywy=(wTyy1,...,wTyyN)

而CCA算法要做的就是最大化这两组数据之间的相关性,可以表示为下式:

ρ=maxwx,wycorr(Sxwx,Sywy)=maxwx,wySxwx,Sywy||Sxwx|||Sywy| ,(注意:已默认两组数据均值为零)

通过数学推导(详见《canonical correlation analysis: an overview with application to learning methods》),
可以得到如下两个公式:

wy=C1yyCyxwxλ , (2.1)

CxyC1yyCyxwx=λ2Cxxwx ,(2.2)

因为协方差矩阵 CxxCyy 是对称正定的,所以可以进行完整的Choleskey分解如下:

Cxx=RxxRxx

ux=Rxxwx ,代入2.2式可得:

R1xxCxyC1yyCyxR1xxux=λ2ux

这就是一个特征值求解问题 Ax=λ2x 。求出的特征向量就是 wx ,代入2.1式可以求出 wy,ρ=λ
得到以上结果后可算出 SxwxSywy 这两组数据的具体值,并可画图观察线性关系。

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值