典型相关分析python实现_机器学习: Canonical Correlation Analysis 典型相关分析

Canonical Correlation Analysis(CCA)典型相关分析也是一种常用的降维算法。我们知道,PCA(Principal Component Analysis) 主分量分析将数据从高维映射到低维空间同时,保证了数据的分散性尽可能地大, 也就是数据的方差或者协方差尽可能大。而LDA(Linear Discriminant Analysis) 线性判别分析则利用了类标签,利用一种监督学习的方法,将数据从高维空间映射到低维空间时,让不同类的数据尽可能地分开而同一类的数据尽可能地聚合。

但是,有的时候,我们想探讨多个线性空间之间的相关性。比如有的时候我们会从图像中提取各种特征,每一种特征都可以构成一个线性空间,为了分析这些空间之间的相关性,我们可以利用CCA 来做分析。

假设我们有两个特征空间,S1=x1∈Rd1, S2=x2∈Rd2, 我们可以将两个特征向量合并。

x=(x1x2)E(x)=(μ1μ2)Σ=(Σ11Σ21Σ12Σ22)

可以看到,Σ12=ΣT21,Σ 称为协方差矩阵。我们引入投影向量 a, b, 假设投影之后的变量满足:

u=aTx1v=bTx2

可以进一步算出 u,v 的方差和协方差:

var(u)=aTΣ11a,var(v)=bTΣ2b,cov(u,v)=aTΣ12b

可以计算出 u,v 的相关系数:

Corr(u,v)=cov(u,v)var(u)−−−−−√var(v)−−−−−√

将u,v的表达式代入,可以得到:

Corr(u,v)=aTΣ12baTΣ11a−−−−−−√bTΣ22b−−−−−−−√

我们的目标是让相关系数Corr(u,v) 尽可能地大。为了求解a,b, 可以固定分母而让分子最大化,所以上面的函数可以变成:

maxa,baTΣ12b

s.t.aTΣ11a=1,bTΣ22b=1

构造拉格朗日等式:

L=aTΣ12b−λ12(aTΣ11a−1)−λ22(bTΣ22b−1)

L 分别对a,b 求导,可以得到:

∂L∂a=Σ12b−λ1Σ11a=0

∂L∂b=Σ21a−λ2Σ22b=0

根据约束条件,可以得到:

λ1=λ2=aTΣ12b

所以只要求出 λ1 或者 λ2 就可以得到最大的相关系数。令 λ=λ1=λ2.

通过上面的偏导数,我们可以得到:

Σ−111Σ12b=λa

Σ−122Σ21a=λb

写成矩阵形式:

(Σ−11100Σ−122)(0Σ21Σ120)(ab)=λ(ab)

令:

B=(Σ1100Σ22),A=(0Σ21Σ120)w=(ab),

那么,上式可以表示成:

B−1Aw=λw

所以,λ 和 w 就是B−1A 的特征值和特征向量。我们可以求出 B−1A 的特征值和特征向量,然后利用特征向量将原来的特征

x1,x2做映射。对应特征值 λ 的求解,可以有更简单的方法,从上面的偏导数,我们可以得到如下等式:

Σ−111Σ12Σ−122Σ21a=λ2a

我们可以利用上面的表达式求出 λ 和 a,然后再待会上面的偏导数等式求出 b.

λ 就是 u,v的相关系数,u,v 就是一对典型变量(canonical variables)。按照 B−1A 的特征值从大到小排列,可以求出一系列的典型变量。特征值越大,说明典型变量的相关性越强。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
典型相关分析是一种多元统计分析方法,用于研究两组变量之间的相关关系。它通过将两组变量进行线性组合,找到最大相关系数,从而得到两组变量之间的典型相关变量。 以一个典型相关分析的案例来说明。假设我们想研究体质指标与心理健康之间的关系。我们收集了100名成年人的体质指标数据(如身高、体重、腰围等)和心理健康指标数据(如抑郁倾向、幸福感等)。我们希望通过典型相关分析找到体质指标和心理健康指标之间的关联。 首先,我们将两组变量进行标准化处理,以消除单位的影响。然后,我们将体质指标和心理健康指标分别进行线性组合,得到两个典型变量。这两个典型变量分别代表了体质指标和心理健康指标的主要共同方差。 在典型相关分析中,我们计算典型相关系数来衡量两个典型变量的相关性。该系数的取值范围为-1到1,越接近1表示两个典型变量之间的相关性越强。 通过典型相关分析,我们可能发现体质指标和心理健康指标之间存在显著的正相关关系。例如,我们可能发现第一个典型变量代表了一个既高体质指标又高心理健康指标的模式,这表明身体健康和心理健康呈正相关。而第二个典型变量可能代表了一个低体质指标和低心理健康指标的模式,这表明身体健康和心理健康呈负相关。 此外,我们还可以通过典型相关分析得到两个典型变量的贡献度,以及每个变量对典型变量的权重系数。这些信息可以帮助我们理解体质指标和心理健康指标之间的相关机制,并为进一步的研究提供线索。 总之,典型相关分析是一种有效的统计方法,可以揭示出两组变量之间的相关性,并为研究者提供有关变量之间关系的有用信息。在不同领域中,典型相关分析都可以被广泛应用,以帮助我们更好地理解变量之间的关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值