热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

一些特征选择方法(II)

LDAPCA参考:http:blog.codinglabs.orgarticlespca-tutorial.html假设我们只有a和b两个字段,那么

LDA

PCA

参考:http://blog.codinglabs.org/articles/pca-tutorial.html
假设我们只有a和b两个字段,那么我们将它们按行组成矩阵XX

X=(a1a2⋯amb1b2⋯bm)" role="presentation">X=(a1a2amb1b2bm)

然后我们用XX乘以X" role="presentation" >X的转置,并乘上系数1/m1/m:

1mXXT=(1mmi=1a2i1mmi=1aibi1mmi=1aibi1mmi=1b2i)1mXXT=(1m∑i=1mai21m∑i=1maibi1m∑i=1maibi1m∑i=1mbi2)


设我们有

mmn" role="presentation" >n维数据记录,将其按列排成

nnm" role="presentation" >m的矩阵

XX,设C=C=1mXXT,则

CC是一个对称矩阵,其对角线分别个各个字段的方差,而第i行j列和j行i列元素相同,表示i和j两个字段的协方差。

协方差矩阵对角化

设原始数据矩阵X" role="presentation" >X对应的协方差矩阵为

CC,而P" role="presentation" >P是一组基按行组成的矩阵,设

Y=PXY=PX,则

YYX" role="presentation" >X

PP做基变换后的数据。设Y" role="presentation" >Y的协方差矩阵为

DD,我们推导一下D" role="presentation" >D

CC的关系:

D=1mYYT=1m(PX)(PX)T=1mPXXTPT=P(1mXXT)PT=PCPT" role="presentation">D=1mYYT=1m(PX)(PX)T=1mPXXTPT=P(1mXXT)PT=PCPT


协方差矩阵C是一个是对称矩阵,在线性代数上,实对称矩阵有一系列非常好的性质:

1)实对称矩阵不同特征值对应的特征向量必然正交。

2)设特征向量λ重数为r,则必然存在r个线性无关的特征向量对应于λ,因此可以将这r个特征向量单位正交化。
由上面两条可知,一个n行n列的实对称矩阵一定可以找到n个单位正交特征向量,设这n个特征向量为e1,e2,,ene1,e2,⋯,en,我们将其按列组成矩阵:

E=(e1e2en)E=(e1e2⋯en)


则对协方差矩阵

CC有如下结论:
ETCE=Λ=(λ1λ2⋱λn)" role="presentation">ETCE=Λ=(λ1λ2λn)

PCA算法

总结一下PCA的算法步骤:

设有m条n维数据。

1)将原始数据按列组成n行m列矩阵X

2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值

3)求出协方差矩阵C=1mXXT
4)求出协方差矩阵的特征值及对应的特征向量

5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P

6)Y=PX即为降维到k维后的数据
LDALDA用于降维,和PCAPCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。

    首先我们看看相同点:

    1)两者均可以对数据进行降维。

    2)两者在降维时均使用了矩阵特征分解的思想。

    3)两者都假设数据符合高斯分布。

    我们接着看看不同点:

    1)LDALDA是有监督的降维方法,而PCAPCA是无监督的降维方法

    2)LDALDA降维最多降到类别数k1k−1的维数,而PCAPCA没有这个限制。

    3)LDALDA除了可以用于降维,还可以用于分类。

    4)LDALDA选择分类性能最好的投影方向,而PCAPCA选择样本点投影具有最大方差的方向。


推荐阅读
author-avatar
周俪劳伦瑶的瑶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有