人有时候走着走着,放不下的东西太多,就会迷失自己。其实回归初心,换一个角度去看待问题,一切就变得豁然开朗了。

PCA的思想是把过度关联在一起事务视为“噪声”,认为它们干扰试听,并占据不必要的运算空间,故有“去关联”这一操作。而这种“去关联”又是站在“有关联”的角度上解决问题的。

找到原本的关联规律,“俯视”这个规律,一切就清晰可见了。

空间分散的点,换个角度,可以用一个平面穿过它们。

俯视点到平面的投影,我们实际上得到压缩后的最大信息量数据

“去关联”,是最后达成的目的;寻找以及压缩内在关联,是实质操作。

注意,PCA的目的是得到一些无关联的新特征,但是这些“无关联”的新特征实际上是线性“融合有关联”的旧特征

类似与上一个3D图例,下图二维平面中的点实际上是沿着一条轴,散落其周围

而我们的目的,就是找到这个轴的方向,同时也是最佳数据投影/压缩方向

回忆PCA(中)所阐述的算法步骤:

1. 计算出代表了变量之家关联的协方差矩阵

2. 找出这个矩阵最重要的本征向量(较大本征值对应的本征向量)

3. 两两正交的本征向量(主成分)构成新的坐标系。

4. 原数据在新坐标平面/直线下投影为降维后的点。

而我们知道,本征向量对应的本征值的大小,决定了在其本征向量维度对整个协方差矩阵的贡献,我们是不是可以理解为,寻找这个矩阵的较重要本征向量,这就是在寻找最大关联的方向?

下图是一个比较理想的例子,两个维度特征呈严格正比关系,所有的点经过坐标旋转后都落在主成分上。

主成分其实就是代表了两个特征关系——y=ax——直线方向。

若情况不是这样呢?

有些点不在这条直线上,而是散落在这条直线的周围,那这条直线的方向依然是主成分方向,只不过问题从“点落在主成分上”转变为“点投影在主成分方向上”

可以观察得出:

1)最佳投影方向,实际上就是使数据点经过投影后最分散的方向。反过来,我们要寻找最佳投影方向,就是使旋转坐标后使数据点最分散。

2)数据点的分散程度是由数据点的方差来决定的,方差越大,点越分散。

问题转化为,寻找一个坐标变换,使得变换后数据点的方差大,协方差小(关联小)

而在协方差矩阵中,包含了方差以及协方差:对角线上的元素是某个特征方差值;非对角线上的是两两特征间的协方差值。

问题再次转化为,寻找一种正交变换,使变换后的协方差矩阵,对角线上值最大,非对角线上元素为0——矩阵对角化

协方差矩阵对角化的直接结果,就是对角线上的值就是本征值,找的就是最大或较大的本征值。

而这个/些本征值对应的本征向量组成的矩阵就是我们要最终寻找的正交变换矩阵

以上是通俗地解释了PCA(中)——算法操作步骤里,为什么协方差矩阵最大本征值对应的本征向量可以“抽取”出数据的主成分,即最佳投影方向。

我们已经知道:从几何意义上说,PCA的目的是寻找新的坐标系,使数据点降维后“去关联”,增加数据点之间的分散程度;从代数意义上说,PCA的目的是寻找正交矩阵P,使原数据点A,经过变换后

B在每个正交轴pi方向上投影

方差最大。即

回忆上式就是求二次型极值问题

其中

为样本矩阵A的协方差矩阵Cov(A)

回忆PCA(下)求解二次型极值问题,最终为求解二次型矩阵最大本征值问题。分解出的本征向量又是图形最大拉伸的方向,也是最佳投影方向。

二次型矩阵对应现在的协方差矩阵(都为对称矩阵),求解协方差矩阵Cov(A)的主要本征向量,得到数据投影(降维)后最分散的方向,就是解决问题的关键。

至此为止,我们将PCA从直觉感悟到理性分析,梳理了一遍。

本人学识浅薄,加上融入了自己的一些理解,有疏漏之处,请各位同好谅解并指正

PCA主成分分析(完结)相关推荐

  1. PCA主成分分析教程(origin分析绘制,无须R语言)

    PCA主成分分析教程(origin分析&绘制,无须R语言) 相关性分析,相关的介绍内容大家自行搜索资料即可,这里不给大家过多阐述. 案例解读 PCA作为常见的一种聚类分析方法,在很多SCI论文 ...

  2. R语言PCA主成分分析(Principle Component Analysis)实战2

    R语言PCA主成分分析(Principle Component Analysis)实战2 目录 R语言PCA主成分分析(Principle Component Analysis)实战2 #案例分析

  3. R语言PCA主成分分析(Principle Component Analysis)与线性回归结合实战

    R语言PCA主成分分析(Principle Component Analysis)与线性回归结合实战 目录 R语言PCA主成分分析(Principle Component Analysis)与线性回归 ...

  4. R语言PCA主成分分析(Principle Component Analysis)实战1

    R语言PCA主成分分析(Principle Component Analysis)实战1 目录 R语言PCA主成分分析(Principle Component Analysis)实战1 #案例分析

  5. 【数学与算法】PCA主成分分析(降维)的通俗理解

    1.PCA降维 PCA主成分分析简单的理解,就是把某物的很多个能直接获取到的特征,经过变换得到很多个新特征,这些新特征对该物体来说,有的影响很大,有的影响很小,只需要使用这些影响大的新特征,舍弃很多影 ...

  6. 统计学习方法第十六章作业:PCA主成分分析算法 代码实现

    PCA主成分分析 import numpy as np class PCA:def __init__(self,x,R=None):self.x = np.array(x)self.dim = sel ...

  7. PCA主成分分析 特征降维 opencv实现

    最近对PCA主成分分析做了一定的了解,对PCA基础和简单的代码做了小小的总结 有很多博客都做了详细的介绍,这里也参考了这些大神的成果: http://blog.sina.com.cn/s/blog_7 ...

  8. pca 主成分分析_超越普通PCA:非线性主成分分析

    pca 主成分分析 TL;DR: PCA cannot handle categorical variables because it makes linear assumptions about t ...

  9. pca 主成分分析_六分钟的主成分分析(PCA)的直观说明。

    pca 主成分分析 Principle Component Analysis (PCA) is arguably a very difficult-to-understand topic for be ...

  10. canoco5主成分分析步骤_R语言 PCA主成分分析

    微信公众号:生信小知识 关注可了解更多的教程及生信知识.问题或建议,请公众号留言; R语言 PCA主成分分析 前言统计学背景知识协方差相关系数函数总结实例讲解1.载入原始数据2.作主成分分析3.结果解 ...

最新文章

  1. 本地计算机上的 postgresql 服务启动后停止解决方法
  2. [120_移动开发Android]005_android开发之数据存储之文件操作
  3. 【专栏】好Leader和差Leader的8个区别
  4. C++ sodoku solve数独算法(附完整源码)
  5. MyBatis 插件原理与自定义插件
  6. .NET 搭建简单的通知服务
  7. 难以理解的软件工程师:几千行代码能搞定为什么要写几万行?
  8. getchar(关于键盘缓冲区)
  9. 编译U-boot时,make[1]: *** 没有规则可以创建mkimage.o”
  10. user and group
  11. Qt安装教程(Qt 6.4)
  12. Spring常用注解详解大全(建议收藏)
  13. 洛谷 P2466 Sue的小球 解题报告
  14. html5四季特点,成都气候:成都温度、成都天气、成都常年气温、成都四季特点,chengdu weather...
  15. 采用非常规方法(非gprecoverseg) 恢复greenplum数据库
  16. RxJava学习资源
  17. java窗体中添加图片_在java窗体程序中添加图片的方法
  18. r语言remarkdown展示图_为什么Markdown R有较大概率成为科技写作主流? ← 阳志平的个人网站::技术...
  19. php 表单必选改为选填,织梦dedecms自定义表单选项必填修改解决方法
  20. 浅谈JS之text/javascript和application/javascript

热门文章

  1. iOS 集成一网通支付的坑
  2. 蛋白质组学技术与常见分析培训班火热招生中!
  3. Kontent Machine英文SEO文章自动采集生成软件
  4. 投资不大低成本适合个人的小本创业项目有哪些?
  5. [sql]大型网站MySQL深度优化揭秘
  6. 冲压线自动化改造必学资料
  7. 自动生产线拆装与调试实训装置QY-JDYT31
  8. calcite简单入门
  9. 40套MiniIcon分享
  10. 重置 macOS 启动台图标 (删除空白文件夹)