python默认矩阵X每一行是一个向量,因此一共有m行个数据,对于每一个数据有统计的维度个数为列数n,因此无偏估计用的是对于某个维度的1/(m-1)来归一化得到矩阵A,然后用的是A转置矩阵乘A得到协方差矩阵,最终对协方差矩阵进行奇异值分解或者特征值分解(协方差矩阵一定的半正定的Hermite矩阵,一定可以对角化的)。

协方差矩阵计算方法 - Mr_HHH的博客 - CSDN博客​blog.csdn.net

一般都要用很多数据,即m要很多,相当于有一个库,然后采用PCA的流程来学习投影矩阵,再将要降维的数据采用投影矩阵进行矩阵乘来降维,类似于稀疏表示。此时右乘的是前k个主成分对应特征向量构成的n×k维矩阵,即可从原始维度n降到k。

根据SVD的原理

,由于
为方阵,

V 一定是酉矩阵(V的Hermite矩阵等于V的逆)。此时通过投影变换后在基空间中显然矩阵就是对角矩阵,也就是一个酉相似过程。进一步有

为什么能降维?由于特征向量构成的原始n×n矩阵 V 实际上是一种投影变换,将原始数据 A 映射到相互正交的

基空间中去(
列与列之间相互正交)。那若我们只需要

保留k个主要的投影结果,即模最大也就是对应奇异值最大的投影方向,因此投影矩阵也只需要保留前k个主成分对应的特征向量,故 V 也只需要n×k维即可。

这里比较容易混的是,若想采用类似于主成分分析的方法对于单张图像处理,例如去噪。这里我只有一个数据,也就是说 PCA 降维只有一个行向量,m=1(此时减均值为0,无偏估计也说不过去),此时PCA是无法使用的。那么对于这种情况,采用的就是奇异值分解(即不用PAC前面的求协方差矩阵),取前几个奇异值,再重新乘回特征向量即可。

python 正交矩阵_协方差矩阵的计算、PCA相关推荐

  1. python pca降维_协方差矩阵的计算、PCA

    python默认矩阵X每一行是一个向量,因此一共有m行个数据,对于每一个数据有统计的维度个数为列数n,因此无偏估计用的是对于某个维度的1/(m-1)来归一化得到矩阵A,然后用的是A转置矩阵乘A得到协方 ...

  2. python余弦定理_使用余弦定理计算两篇文章的相似性

    使用余弦定理计算两篇文章的相似性:(方法论,细致易懂版) http://blog.csdn.net/dearwind153/article/details/52316151 python 实现(代码) ...

  3. python 互质数_程序要计算最少数量的操作以使数字在Python中不是互质数?

    假设我们有两个数字A和B.现在在每个运算中,我们可以选择任意一个数字并将其递增1或递减1.我们必须找到所需的最小操作数,以使最大公约数最大在A和B之间不是1. 因此,如果输入像A = 8,B = 9, ...

  4. 商业数据分析模型及其核心Python代码_持续更新

    商业数据分析模型_持续更新 一.AARRR模型 二.PEST模型 理论 医美行业应用案例 三.RFM模型 理论 Python实战_核心指标计算 四.SWOT模型 五.5W1H模型 六.流程拆解法 七. ...

  5. pca算法python实现_三种方法实现PCA算法(Python)

    主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目 ...

  6. pca算法python代码_三种方法实现PCA算法(Python)

    主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目 ...

  7. python协方差阵转为相关阵_协方差矩阵、相关系数矩阵的EXCEL和python实现

    按照协方差矩阵中各元素cij的计算过程,我们可以得知要依次计算E(Xi),X - E(Xi),cij. 在得到协方差矩阵之后,可以根据相关系数公式:(其中D(X)为矩阵X的方差) 可以得出相关系数矩阵 ...

  8. python扩展库用于科学计算的有哪些_数据科学必备的十大 Python 库

    ​Python 已成为当今使用最广泛的编程语言之一,尤其是在数据科学领域. Python 是一种高性能的语言,易于学习和调试,并且具有广泛的库支持.这些库都有自己独特的功能,一些专注于数据挖掘,一些专 ...

  9. python支持强大的科学计算功能_用 Python 写高效科学计算程序设计

    1.科学计算中的突出问题及需求 概括一般科学计算的特点,主要包括四方面: 数值计算种类多 对于某个问题的求解,可能需要不同种类的函数,如三角函数,积分函数,概率统计函数以及某些特殊函数. 需要大量数值 ...

最新文章

  1. linux idea 启动报错StartupAbortedException: Fatal error initializing plugin idea.plugin.protoeditor
  2. @transactional注解失效情况
  3. 设计模式--缺省适配模式
  4. 设计师吃饭的家伙还问别人要?必要软件、效率工具、插件搜集给你
  5. JS获取JSON对象数组某个属性最大值
  6. 《恋上数据结构第1季》B树
  7. 创建基于存储过程的数据块
  8. html条纹填充色,HTML5/Canvas 上传图片的彩色斑马条纹遮罩效果
  9. InnoDB存储引擎介绍-(7) Innodb数据页结构
  10. 分类,等级,或者有序变量如何进行多因素Cox回归 变量的类型决定了最终结果的reference
  11. MyBatis Generator生成代码的几种方式
  12. 麦吉尔大学计算机科学,麦吉尔大学计算机专业
  13. 年薪30W+,数据库工程师凭什么?
  14. 深圳小汽车车牌竞拍价格预测
  15. TypeError: classification_report() takes 2 positional arguments but 3 were given的解决方案
  16. 小程序跳转无反应解决方法
  17. word中查询所有中文文本
  18. NVMe协议详解(一)
  19. 计算机较为安全的硬盘分区,电脑到底该不该进行硬盘分区? 原来我们都被骗了!...
  20. CSS实现div盒子水平垂直居中的方式

热门文章

  1. 连接数据库超时设置autoReconnect=true
  2. testlink(以及服务器)问题定位思路
  3. 1、图解Oracle Logminer配置使用
  4. install lsa package for R on ubuntu 10.04 lts lucid
  5. 数据库sql server 2008安装。
  6. 用户名错误则一直登录
  7. CAS 单点登录模块学习
  8. 微信支付之JSAPI开发-第二篇:业务流程详解与方案设计
  9. Ext中Grid重新load设置URL
  10. Ignite 配置更新Oracle JDBC Drive