特征值,特征向量,SVD分解,PCD分解

特征值,特征向量:

对于n阶方阵A,在A张成的空间里,存在非零向量v, 该向量转换到A张成的空间时,方向不变,大小变为λ倍。

① Av = λv

变换一下:

② (A - λI)v = 0

对于A向量,特征向量存在非零解的充要条件是下面的行列式值为0:

det(A - λI) = 0

计算出特征值λ。

λ可能有多个值,分别将每个值代入公式②,计算向量v,v是个表达式,也就是可以是多个向量。

向量v只会被伸缩而不会改变方向。代入任意一个值,得到一个特征值λ的特征向量v。

  • 特征值性质:

特征值λ相加 = 矩阵迹相加

特征值λ相乘 = 矩阵的行列式

A矩阵的特征值分解:

其中W为特征向量组成的矩阵,Σ为对应特征值组成的对角矩阵


主成分分析 PCA

主成分可以看作是数据的新坐标系中的基向量,将原始数据投影到这些主成分上,可以实现数据降维。

步骤:

  1. 将原点放到数据的中心位置。
  2. 找到方差最大的方向

也就是:先将坐标轴的原点移动到数据的中心,再将坐标系旋转到方差最大的方向。这样大多数数据被压缩到一个低维度的X轴上。

关键步骤是找到方差最大的方向,假设手里的数据是D',符合正态分布的数据是D:

手上的数据D'的协方差:

找出旋转矩阵R就可以知道坐标轴应该旋转的角度

将C'进行特征分解得到:

C' = WΣW(-1)

可见R = W

W为C'的特征向量组成的矩阵。

L值为特征值组成的矩阵,为S矩阵在两个方向拉伸倍数的平方,为旋转后的坐标系下,数据的方差。此时在该坐标系下方差最小。


奇异值分解 SVD

任意一个形状的矩阵M,可以分解成如下的形式:

  • M 的形状为m*n,U的形状为m*m的方阵,V为n*n的方阵,Σ为m*n形状矩阵。
  • U 是 得到的结果矩阵的特征向量组成的m*m的方阵
  • Σ对角为奇异值,该值的平方等于特征值,而且依次从大到小排列。
  • V 是 得到的结果矩阵的特征向量组成的n*n的方阵,公式用的是其转置,numpy中提供的函数:np.linalg.svd(),给出的结果也是转置后的结果。
    V也是PCA主成分的方向
  • U和V都是酉矩阵,即满足:

求解步骤:

相关推荐
2601_962099081 分钟前
在Python中使用LSTM和PyTorch进行时间序列预测
pytorch·机器学习·lstm·时间序列预测·数据预处理
论文复现现场5 分钟前
单卡RTX 3090能训练,切到4卡却OOM:Accelerate多卡训练怎么排查?
人工智能·pytorch·云计算·gpu算力·多卡训练
2601_956319886 分钟前
看到“2026年量化学习”时,交易想法要先拆成条件和动作
人工智能·python
武哥聊编程9 分钟前
【AI实战项目】AI Agent数据分析平台,基于SpringAI+Springboot+Vue+Agent的电商数据分析平台
人工智能·spring boot·数据分析·springai
衡石科技11 分钟前
衡石 Data Agent 选型指南:企业级 AI 分析智能体怎么选?
人工智能
GeWeAPI技术支持13 分钟前
私域自动回复机器人怎么配:规则、时机、转人工实战
人工智能
江畔柳前堤32 分钟前
云原生 × AI 全景图谱:从 Kubernetes 到 Agent 基础设施的一次认知跃迁
人工智能·分布式·gpt·云原生·kubernetes·原型模式·agi
大模型码小白40 分钟前
Harness Engineering 驾驭工程:从使用到项目实战
大数据·数据库·人工智能·python·spring
学习日记5251 小时前
第 5 章:自定义 Skill——把重复操作封装成一键命令
人工智能·ai·prompt
云上工程笔记1 小时前
AstraFlow + React/Vite:如何用自然语言开发并部署一个 AI 咖啡网站原型
前端·人工智能·react.js