12.1 主成分分析原理(PCA)

主成分分析步骤如下:

设有维数据

  1. 将原始数据按列组成列矩阵

  2. 将矩阵 的每一行进行零均值化;

  3. 求出协方差矩阵

  4. 求出协方差矩阵的特征值及对应的特征向量;

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

  6. 即为降维到维后的数据。

如果对线性代数的实对成矩阵的相似对角化熟悉的人可以很好的了解上面的步骤,根据线性代数的求解步骤如下(也可以是代码步骤,python的np有求解方法):

  1. 将原始数据按列组成列矩阵

  2. 将矩阵 的每一行进行零均值化;

这里的每一行零均值化就是每一行的元素减去该行的均值,均值可以用np.mean()求解。

3.求出协方差矩阵;这个矩阵实际上就是实对称矩阵。

4.求出协方差矩阵的特征值及对应的特征向量;

这里其实就是对实对称矩阵相似对角化,在相似对角化的过程中会得到特征值和对应的特征向量,得到的对角矩阵的对角线上的元素就是特征值,对角线以外的元素都为0。(当然,要对这组特征向量进行正交化,因为我们最终要的是正交向量,如果在这里不求,也可以在最后一步求个向量的正交向量,计算量肯定比现在求小,因为现在要求个向量,而最后只需要求个)。

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

6.这里就是对特征值做从大到小的排序,可以用np.sorted()函数排序。

7.然后根据排序取前行的向量组成一个新的矩阵。

相关推荐
兮山与1 分钟前
算法20.0
算法
弗朗凌戈4 分钟前
机器学习-导师优选
人工智能·python·机器学习
hans汉斯9 分钟前
基于机器学习的商业银行信贷风险评估系统构建与实证研究
大数据·人工智能·爬虫·算法·yolo·机器学习·支持向量机
aneasystone本尊11 分钟前
重温 Java 21 之分代式 ZGC
人工智能
深度之眼12 分钟前
“LSTM+时间序列异常检测”老树开新花!新玩法=发文密码,快来学呀!
人工智能·机器学习·idea
无敌少年小旋风13 分钟前
05-面试解析 Agent 理论 + 实践(Spring AI Alibaba)
人工智能·spring·面试
laocooon52385788628 分钟前
一个蛇形填充n×n矩阵的算法
数据结构·算法
岑梓铭34 分钟前
《考研408数据结构》第六章(5.4树和森林)复习笔记
数据结构·笔记·考研·算法·408·ds
飞哥数智坊37 分钟前
看完 Cursor 2.0,我感觉国产 AI 编程又有希望了
人工智能·ai编程·cursor
凤年徐39 分钟前
Work-Stealing 调度算法:Rust 异步运行时的核心引擎
开发语言·算法·rust