典型相关分析(CCA)附算法应用及程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
典型相关分析
摘要
利用典型相关分析的思想,提出了解决了当两组特征矢量构成的总体协方差矩阵奇异时,典型投影矢量集的求解问题,使之适合于高维小样本的情形,推广了典型相关分析的适用范围.首先,探讨了将典型分析用于模式识别的理论构架,给出了其合理的描述.即先抽取同一模式的两组特征矢量,建立描述两组特征矢量之间相关性的判据准则函数,然后依此准则求取两组典型投影矢量集,通过给定的特征融合策略抽取组合的典型相关特征并用于分类.最后,从理论上进一步剖析了该方法之所以能有效地用于识别的内在本质.该方法巧妙地将两组特征矢量之间的相关性特征作为有效判别信息,既达到了信息融合之目的,又消除了特征之间的信息冗余,为两组特征融合用于分类识别提出了新的思路.
一、典型相关分析发展的背景
随着计算机技术的发展,信息融合技术已成为一种新兴的数据处理技术,并已取得了可喜的进展.信息融合的3个层次像素级、特征级、决策级。
特征融合,对同一模式所抽取的不同特征矢量总是反映模式的不同特征的有效鉴别信息,抽取同一模式的两组特征矢量,这在一定程度上消除了由于主客观因素带来的冗余信息,对分类识别无疑具有重要的意义
典型相关分析(CanoniealComponentAnalysis:CCA)是一种处理两组随机变量之间相互关系的统计方法。它的意义在于:用典型相关变量之间的关系来刻画原来两组变量之间的关系!实现数据的融合和降维!降低计算复杂程度。 二、典型相关分析的基本思像
CCA 的目的是寻找两组投影方向,使两个随机向量投影后的相关性达到最大。具体讲,设有两组零均值随机变量 ()
T
c ...c c p 21x ,,=
和
()
T
d ...d d q 21y ,,=
CCA 首先要找到一对投影方向1
α和
1
β
,使得投影
y
v 11T
β=
和
x
u 11T
α=之间具有最大的相关性,1
u 和1v 为第一对典型变量;同
理,寻找第二对投影方向2
α和2
β,得到第二对典型变量2
u 和2
v
,使
其与第一对典型变量不相关,且2
u 和2
v
之间又具有最大相关性。这
样下去,直到x 与y 的典型变量提取完毕为止。从而x 与y 之间的相关性分析,只需通过分析少数几对典型变量的关系即可达到目的。 三、CCA 算法详解
考虑到:的极值只与
α
和
β
的方向有关,而与它们的大小无关,为了
得到唯一解不失一般性,加入限制条件:
1xx =ββ=ααyy T
T S S
问题变为在约束条件式下,求使准则函数式取最大值的典型投影矢量对
α
和
β
求解上述优化问题,可定义拉格朗日函数:
分别对α
和β求导数,并令为零,得到:
(1)
(2)
(3)
(4)
(5)
对H 进行奇异值分解:
(6)
(7)
再对上式两端分别左乘 和
得: 记为:
T
αT βρ=λ=λ21i
i T
u HH 2
u λ=i
i T
v H H
2
v λ=⎪⎩⎪⎨⎧
=β=α-
-i yy i
i xx i v
S u S 21
2
1
令
(8)
(9)
(10) (11)
(12)
(13)
分别将x T
1
α,x T2α,…x T dα与x T1β,x T2β,…x T dβ看做是变换后的特征分量:
投影后的组合特征用于分类,其中变换矩阵为:
四、典型相关分析应用实例
欲研究儿童形态与肺通气功能的关系,测得某小学40名8~12岁健康儿童(身高X1,体重X2,胸围X3)与肺通气功能(肺活量Y1,静息通气Y2和每分钟最大通气量Y3),分析儿童形态和肺通气指标的相关性,确定典型变量的对数。
x1 =[140.6,135.7,140.2,152.1,132.2,147.1,147.5,130.6,154.9,142.4,136.5,162, 148.9,136.3,159.5,165.9,134.5,152.5,138.2,144.2];
x2 =[43.7,39.5,48,52,36,45,47,38,48,42,38,58,42,33,49,55,41,53,35.5,42];
x3 =[77,63,75,88,62,78,76,61,87,74,69,95,80,68,87,93,61,83,66,76];
y1 =[2.6,2,2.6,2.8,2.1,2.8,3.1,2,2.9,2.33,1.98,3.29,2.7,2.4,2.98,3.1,2.25,2.96,
2.13,2.52];
y2 =[7,7,6.1,10.1,7.4,9.25,8.78,5.31,10.6,11.1,7.77,3.35,10.1,7.8,11.77,13.14,
(14)
(15)(16)
(17)
8.75,6.6,6.62,5.59];
y3 =[108,91,101,112,97,92,95,77,80,76,49,58,82,76,88,110,75,71,105,82];
(1)仿真结果分析结:
(实验平台:Matlab2014,程序见附录)
R1=0.9282
R2=0.5302
R3=0.0081
R1=0.9282