[机器学习](八)cs229之主成分分析
来源:互联网 发布:多益网络二笔试题 编辑:程序博客网 时间:2024/05/29 07:43
主成分分析的代码和原理都比较简单,之前也用过很多次,转载的这篇博客的目的是通过实例来学习这个算法,方便之后可以快速上手,有关python的代码,可以见《机器学习实战》这本书。
对于PCA原理的理解,可以参考下面的博客:
1.最大方差理论:
2.最小平方差理论
参考:http://www.cnblogs.com/jerrylead/archive/2011/04/18/2020216.html
下面的内容转自:http://blog.csdn.net/u010480899/article/details/52263227
主成分分析(Principal Component Analysis,PCA),是一种统计方法。在处理实际问题中,多个变量之间可能存在一定的相关性,当变量的个数较多且变量之间存在复杂的关系时,增加了问题分析的难度。主成分分析是一种数学降维的方法,该方法主要将原来众多具有一定相关性的变量,重新组合成为一种新的相互无关的综合变量。例如,当选择第一个线性组合即第一个综合变量为F1,希望F1能够反映更多的信息,因此F1在所有线性组合中的方差是最大的,此时F1为第一主成分。如果F1作为第一主成分,不足以代表原来P个变量的信息,则继续选择F2作为第二个线性组合,为了更加有效的反映最初的信息,F1已经具有的信息不需要再次反映在F2中,那么要求此时Cov(F1,F2)=0,则F2可以称之为第二主成分。以此类推,可以构造出多个主成分。
主成分分析的主要步骤如下:
(1)对原始数据进行标准化处理,若样本数据矩阵如下:
对原始数据进行标准化处理:
(2)计算样本相关系数矩阵(注意这里假设原始数据标准化后仍用X表示,后面给出的计算该系数矩阵元素值的方法中设计到的Xi和Xj并不是原始数据矩阵X,而是标准化后的矩阵元素,这是这里依旧用了X表示而已!)
(3)计算相关系数矩阵R的特征值和相应的特征向量:
(4)选择重要的主成分:
由主成分分析可以得到P个主成分,根据前面的介绍,主成分F1包含的信息大于F2,且可以以此类推,因此各个主成分的方差也是递减的,包含的信息量也是递减的,所以实际使用该方法的时候不在选取所有的P个主成分,而是根据各个主成分累计贡献的大小选取前面K个主成分。这里的贡献率是指某个主成分的方差占据全部主成分方差的比重,也就是某个特征值占据全部特征值和的比重,即:
某个主成分的贡献率越大说明该主成分包含的原始信息量越大,主成分K值的选取,主要依据主成分 累计贡献率来决定,一般来说当累计贡献率达到85%以上时,可以认为这K个主成分包含了原始信息绝大多数的信息。
(5)计算主成分得分,其形式如下:
(6)根据主成分得分的数据对问题进行后续的分析和建模。
案例数据:对15家企业通过8个不同指标数据进行评估。
Matlab代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
Matlab运行结果:
思考:
在cs229中还讲到了SVD算法,现在说明PCA和SVD的关系:
对中心化处理之后的X的协方差矩阵,即
- [机器学习](八)cs229之主成分分析
- 因子分析、主成分分析(PCA)、独立成分分析(ICA)——斯坦福CS229机器学习个人总结(六)
- [机器学习](九)cs229之独立分量分析
- 三 机器学习之主成分分析
- 机器学习之主成分分析(PCA)
- 机器学习实例之PCA(主成分分析)
- 机器学习--主成分分析
- 【机器学习】主成分分析
- 数据科学之机器学习15: 主成分分析
- 机器学习之线性判别分析(LDA) 主成分分析(PCA)
- 机器学习之—主成分分析(PCA)
- 机器学习---降维之PCA主成分分析法
- 机器学习系列之———主成分分析
- 机器学习之主成分分析PCA及代码示例
- 机器学习(27)【降维】之主成分分析(PCA)详解
- 机器学习系列之独立成分分析
- 机器学习之降维算法2-主成分分析(PCA)
- [机器学习](七)cs229之混合高斯模型
- Android xutils3同时上传多张图片及上传服务的终止
- android:clipChildren属性
- java enum(枚举)使用详解 + 总结
- itoa 函数
- 线程间的通信 跨线程访问
- [机器学习](八)cs229之主成分分析
- 格子游戏(乙)
- C#绝对路径和相对路径的相互转换
- 关于js中使用call实现继承
- android developer tiny share-201704018
- linux学习记录关于tomcat,jdk,oracle,mysql安装
- 用云存储和CDN轻松搞定网站图片
- 【JZOJ5066】【GDOI2017第二轮模拟day2】中位数
- 数据结构:单链表(一)的创建、插入、删除、遍历,打印