奇异值分解(SVD)和主成分分析(PCA)
来源:互联网 发布:lua软件使用 编辑:程序博客网 时间:2024/06/06 00:05
矩阵的奇异值是一个数学意义上的概念,一般是由奇异值分解(Singular Value Decomposition,简称SVD分解)得到。如果要问奇异值表示什么物理意义,那么就必须考虑在不同的实际工程应用中奇异值所对应的含义。
奇异值往往对应着矩阵中隐含的重要信息,且重要性和奇异值大小正相关。每个矩阵都可以表示为一系列秩为1的“小矩阵”之和,而奇异值则衡量了这些“小矩阵”对于的权重。奇异值的几何含义为:这组变换后的新的向量序列的长度
奇异值分解,就是把矩阵分成多个“分力”
奇异值的大小,就是各个“分力”的大小
设X是一个n*m的数据矩阵(在此不把它理解成变换),每一列表示一个数据点,每一行表示一维特征。
对X做主成分分析(PCA)的时候,需要求出各维特征的协方差,这个协方差矩阵是。
(其实需要先把数据平移使得数据的均值为0,不过在此忽略这些细节)
PCA做的事情,是对这个协方差矩阵做对角化:
可以这样理解上式右边各项的物理意义:用一个均值为0的多维正态分布来拟合数据,则正交矩阵P的每一列是正态分布的概率密度函数的等高线(椭圆)的各个轴的方向,而对角矩阵的对角线元素是数据在这些方向上的方差,它们的平方根跟椭圆各个轴的长度成正比。
现在来看数据矩阵X的奇异值分解:,其中U、V各列是单位正交的,S是对角阵,对角元非零。
由此式可以得到。
也就是说,SVD中的矩阵U相当于PCA中的矩阵P,不过仅保留了的非零特征值对应的那些特征向量,而(也只保留了非零特征值)。
所以,SVD中的U代表了X中数据形成的正态分布的轴的方向(一组单位正交基),代表了这些轴的长度(分布的标准差)。
那么V呢?可以把US放在一起看成一个由伸缩和旋转组成的坐标变换(不包括平移),数据矩阵X是由数据矩阵经此变换得来的,而的各列(V的各行)则服从标准正态分布。这也就是说,的各维特征(的各行,V的各列)是互不相关的且各自的方差均为1,也就是说V的各列是单位正交的。
现在换一个角度,把X中的各行看作数据,那么就也有了新的理解。
现在,的各行(V的各列)就成了X的各行形成的正态分布的轴向(单位正交基),是这些轴的长度,而U中的各行数据服从标准正态分布,U的各列单位正交。
- 奇异值分解(SVD)和主成分分析(PCA)
- 特征值分解、奇异值分解(SVD)、主成分分析(PCA)
- 奇异值分解(SVD)与主成分分析(PCA)
- PCA 主成分分析 奇异值分解
- 主成分分析(PCA)和奇异值分解(S…
- SVD与PCA,奇异值分解与主成分分析的比较
- 16.PCA续,奇异值分解SVD,独立成分分析ICA
- 主成分分析和奇异值分解
- 【推荐系统】特征值分解(谱分解)和奇异值分解(SVD),即在PCA上的应用
- 奇异值分解(SVD)
- svd(奇异值分解)
- 奇异值分解(SVD)
- 奇异值分解(SVD)
- 奇异值分解(SVD)
- 奇异值分解(SVD)
- 奇异值分解(SVD)
- SVD奇异值分解:主成分分析的矩阵论解释
- 特征值分解(EVD)和奇异值分解(SVD)
- springBoot idea 热部署
- LWC 56:719. Find K-th Smallest Pair Distance
- 【C++】将罗马数字转换成阿拉伯数字
- 1-关于他的四本书
- Java实现图的深度优先遍历和广度优先遍历
- 奇异值分解(SVD)和主成分分析(PCA)
- java基础
- 原生javascript截取url中的参数方法
- Hibernate持久化对象的三个状态
- linux下安装mysql以及远程sql工具连接mysql
- 安卓各版本代号与API级别对应表
- 苹果丽黑字体下载 Hiragino Sans GB W3/W6 ttf格式
- Python_选择Python2还是Python3
- jetty8不能编译jsp:PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required