510 likes | 685 Views
学习内容. 探索性因子分析法 (EFA), 及相关实验。 主成份分析法 (PCA), 以及基于高维空间主成份分析法的人脸识别实验。 多维尺度分析 (MDS), 及相关实验 。. EFA. EFA:Exploratory Factor Analysis ( 探索性因子分析法 ) EFA 和主成份分析法类似,都是针对于已有的特征变量进行分析, 目标是希望能够找到更少的,且对已有信息量减小较少的因素,方便后续分析。. EFA 数学原理. 已知 n*p 的样本矩阵 Xs , n 是样本数, p 是特征数,特征名为 x1,x2,…,xp 。
E N D
学习内容 探索性因子分析法(EFA),及相关实验。 主成份分析法(PCA),以及基于高维空间主成份分析法的人脸识别实验。 多维尺度分析(MDS),及相关实验。
EFA • EFA:Exploratory Factor Analysis (探索性因子分析法) • EFA和主成份分析法类似,都是针对于已有的特征变量进行分析,目标是希望能够找到更少的,且对已有信息量减小较少的因素,方便后续分析。
EFA数学原理 • 已知n*p的样本矩阵Xs,n是样本数,p是特征数,特征名为x1,x2,…,xp。 • 分析:EFA假设存在m个潜在因子f1,f2,…,fm,线性组合大体构成了原本的p个特征。即:
表示成矩阵形式: X=AF+Delt 其中,X=[x1,x2,..,xp]’,F=[f1,f2,…,fm]’, 称为因子载荷阵 为原始特征上的特征因子。
EFA假设条件 • Xs是标准化后数据,即var(xi)=1,E(xi)=0; • 公共因子是相互独立的,即cov(fi,fj)=0,(i!=j); • 公共因子是标准化的,即var(fi)=1; • 特殊因子间是相互独立的,即cov(di,dj)=0; • 特殊因子和公共因子是不相关的。
目标:F • 发现: cov(X)=A’cov(F)A+cov(Delt) =A’A+cov(Delt). 令R=cov(X),则 R`=R-cov(Delt)=A’A 。 cov(Delt)是对角阵,R-cov(Delt)是实对称阵。 所以:通过特征值分解能够计算出载荷矩 阵A。 R`=L’DL=A’A A=D^(1/2)*L 忽略Delt的影响,可以得到每一个样本的公共因子坐标,即因子得分:F=Xs*pinv(A)
EFA算法 • 样本数据标准化 • 计算载荷矩阵,构造因子变量 • 旋转因子变量,以便对公共因子作出合理解释 • 计算因子得分
因子载荷阵 • 前面知道因子载荷阵可以通过R`的特征值分解求得,那么R`如何得到呢?? • 关键在于共同度的选取。 • 主成份法。 不考虑特殊因子产生的方差影响,即共同度的初始值为1 ,适用于变量的共同度较大的数据集。
主轴因子法。 该方法认定共同度不为1,设法取较合理的初值。 • 在相关阵R的第i行上除对角元外的最大元素作为共同度。 • 取相关阵R第i行除对角元外的元素平均值。 • 取R逆的对角元的倒数作为相应的特殊因子方差。 • 若R第i行除对角元外的前两个最大值rij,rik 则共同度为sqrt(rij*rik/rjk).
3.迭代主轴因子法(实验方法) 把主轴因子法得到的载荷阵计算特殊因子的方差,然后得到共同度,作为初值,再次计算载荷阵,直到特殊因子方差不变。 4. 极大似然法 假设原变量,公公因子,特殊因子都服从正态分布,构造因子载荷和特殊因子方差的似然函数,求其极大值,得到唯一解。
前面得到了R`的特征向量和特征值,那么如何选取m(m<p)个特征向量,构造载荷矩阵A呢??前面得到了R`的特征向量和特征值,那么如何选取m(m<p)个特征向量,构造载荷矩阵A呢?? • 方差贡献率: ,反映了第j个共公因子对原始特征的影响,越大则越符合目标。 • 发现: 所以特征值越大,方差贡献率越大。由此选取特征向量计算载荷矩阵。
因子载荷阵旋转 • Why? 载荷矩阵中元素aij反映了xi对fj的依赖程度,因此,为了了解每个主因子的意义,我们希望载荷因子两极分化,采用因子旋转的办法。 • How? 方差最大正交旋转。 斜交旋转。
方差最大正交旋转 • 基本思想:使共公因子的相对负荷的方差之和最大且保持原共公因子的正交性和公共方差总和不变。可以使每个因子具有大载荷的变量数量减少,简化因子解释。 • 算法: 1.先对任两列进行旋转。如r、g列 xi=air/hi, yi=aig/hi, hi=sum(aij) j是变量 vi=xi^2+yi^2,wi=2*xi*yi, a=sum(vi), b=sum(wi) c=sum(vi^2-wi^2), d=2*sum(vi*wi); Tg (4*theta)=(d-2ab/p)/(c-(a^2-b^2)/p)旋转角度
方差最大正交旋转 2. 遍历所有的r、g组合,把所有的正交旋转矩阵相乘,最终得到的即方差最大正交旋转矩阵。
原始相关矩阵R: • 迭代主轴因子法迭代次数count=2, • 公共因子个数 m=2
迭代后的公共因子相关矩阵为: • 特殊因子方差为:
正交旋转矩阵为: T= 分析:我们观察未经因子旋转的载荷矩阵,发现第1、4、7行差别不大,对于1、4、7的原始特征就解释不清到底依赖于哪个公公因子。而经过旋转后的载荷阵我们可以解释为f1表征了x1,x2,x3,x5,x6,x9,而f2表征了x4,x7,x8特征。
原始数据因子得分为: 因子得分分布图
PCA • PCA:Principal Component Analysis (主成份分析法) • 思想:对已经存在的特征变量进行线性正交变换,目标是希望在不过分影响信息量的前提下,用尽可能少的维数来描述原始样本点。 • 样本点的不同,即差异体现在方差上。所以希望获得的成份分量的方差尽可能大。
PCA数学原理 • 已知样本点Xi=[x1,x2,x3,…,xp] • 我们目标得到的成份分量是已知特征的线性组合,设为zi,则 zi=Xi*u, u=(u1,u2,u3,…,up)’ 那么var(zi)=u’*var(X)*u=u’*S*u • PCA目标:max var(zi)=max (u’S*u) subject to u’u=1?? 因为我们要把u组成正交旋转阵C,不改变原始特征的正交性和差异。
采用拉格朗日乘数法,分析上述最优问题。 • 发现:u,即线性组合的系数,是S,即X的协方差矩阵的特征向量。 • 结论:我们只需要对S进行特征值分解就能够得到线性组合的相关系数,进一步得到成份分量。
??:PCA主要用来降维,那么我们怎么选取成份分量作为主成份分量呢???:PCA主要用来降维,那么我们怎么选取成份分量作为主成份分量呢? • 令C是正交旋转矩阵,则 Z=XC,cov(Z)=C’cov(X’X)C=C’SC=C’C’DCC 所以成份分量的方差就是S的特征值,特征值越大,成份的方差越大。 • 第i个成份的方差占方差总和的比重成为该分量的方差贡献率。 • 我们取累积方差贡献率>0.9的最少个数的成份分量作为主成份分量。
PCA算法 • 中心化数据 • 计算数据的协方差矩阵 • 对协方差矩阵进行特征值分解 • 按照特征值大小选取主成份分量系数 • 计算主成份
高维空间的PCA • 当数据点的特征维数p远远大于样本点个数时,计算样本的协方差阵X’X将非常困难,这是我们可以考虑计算XX’的特征值和特征向量。 • 奇异值分解定理:A=UDV’,则U是AA’的特征向量,V是A’A的特征向量,D是特征值的平方根。且 Ui=A*Vi/Dii ;Vi=A’Ui/Dii • 因此,我们计算出K=XX’的特征向量就能够计算出S=X’X的特征向量。
基于ORL人脸库的PCA人脸识别 • ORL人脸库是由英国剑桥Olivetti实验室从1992年4月到1994年4月期间拍摄的一系列人脸图像组成,共有40个不同年龄、不同性别和不同种族的对象。每个对象10幅图像共计400幅灰度图像组成,图像尺寸是92×112,图像背景为黑色。其中人脸部分表情和细节均有变化,例如笑与不笑、眼睛睁着或闭着,戴或不戴眼镜等,人脸姿态也有变化,其深度旋转和平面旋转可达20度,人脸尺寸也有最多10%的变化。该库是目前使用最广泛的标准数据库,它含有大量的比较结果。
实验安排 • 实验一:我们把400张人脸作为样本,每张人脸的像素数112*92作为样本的特征数,计算平均脸、特征脸、和重构脸。 • 实验二:我们把每个人的前5张人脸作为训练样本,后5张人脸作为测试样本,使用KNN近邻法,来比较主成份分量个数对人脸识别正确率的影响。
相关概念 • 平均脸:所有样本的所有特征都取该特征的平均值形成的人脸图像。 • 特征脸:由主成分分量的系数矩阵给出的人脸。 • 人脸重构: 我们知道了人脸在主成分分量下的坐标,希望得到原始坐标。 • 人脸识别:相似度小于某个阈值时,就认为两张人脸是同一个人的。本文使用欧氏距离相似度。
实验一 • 平均脸 • 特征值曲线
特征向量的累积贡献率曲线 • 我们发现,采用极少量的特征分量就能够表示出人脸的差异性。
KNN下不同PCs人脸识别正确率 • 分析上表,我们可以知道在同一种分类器下,主成分分量个数越多,信息损失越小,识别率越高,但是适当减少PC个数,可以做到对正确率影响极小,本例我们可以把特征数从200降到10.
MDS • MDS:Multidimensional Scaling (多维尺度分析) • MDS是已知样本点之间的相似关系,目标是能够找到一个多维空间,在这个空间中描述这些样本点。当然希望这个多维空间的维度越小越好。
MDS数学原理 • 假设已知有n个样本点, 样本点之间的相似度 为D. • 假设可以在p维空 间表示这些样本点X.
X D • MDS目标就是希望通过相似矩阵D求解出样本矩阵X。 • 假设相似矩阵D中相似度由欧氏距离相似度表示,则 • 我们发现:若B=X’X,则 那么能否通过D求出B,再特征分解求X呢??
矩阵B的性质 • 对称性 • 非负定性 设V=(I-1*1’/n),即中心化系数矩阵,若D是距离相似度矩阵,则Dij=0,Dii=0,VDV非正定 (Schoenberg 给出)。 VDV=V(diag B *1’+1*(diagB)’-2B )V =-2VBV =-2X’X
计算X • B=X’X=L’AL,那么X=sqrt(A)*L • 如何保证位数尽可能少呢?? 我们可以参考PCA类似方法,选择特征值较大的向量作为特征空间。
实验结果 • 特征向量的累积方差贡献率