PCA与SVD
来源:互联网 发布:ubuntu 查看当前路径 编辑:程序博客网 时间:2024/06/06 04:28
一. PCA算法
1.1 转载:PCA的数学原理
PCA的算法步骤:
设有m条n维数据。
1)将原始数据按列组成n行m列矩阵X
2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值
3)求出协方差矩阵
4)求出协方差矩阵的特征值及对应的特征向量
5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P
6)
1.2 主成分分析(PCA)原理及推导
Tips:
a.A与B的内积等于A到B的投影长度乘以B的模。
b.两个矩阵相乘的意义是将右边矩阵中的每一列列向量变换到左边矩阵中每一行行向量为基所表示的空间中去。更抽象的说,一个矩阵可以表示一种线性变换。
二. SVD
奇异值分解(SVD) --- 几何意义
Tips:
a. SVD分解公式:M = UΣVT
这表明任意的矩阵 M 是可以分解成三个矩阵。V 表示了原始域的标准正交基,u 表示经过 M 变换后的co-domain的标准正交基,Σ 表示了V 中的向量与u 中相对应向量之间的关系。
三. PCA与SVD之间的关系
机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
Tips:
a. 特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,对于普通矩阵,只能用SVD。
b. PCA几乎可以说是对SVD的一个包装,如果我们实现了SVD,那也就实现了PCA了,而且更好的地方是,有了SVD,我们就可以得到两个方向的PCA,如果我们对A’A进行特征值的分解,只能得到一个方向的PCA。
c.SVD分解基本方法:
我们将一个矩阵A的转置 * A,将会得到一个方阵,我们用这个方阵求特征值可以得到: 这里得到的v,就是我们上面的右奇异向量。此外我们还可以得到:
这里的σ就是上面说的奇异值,u就是上面说的左奇异向量。奇异值σ跟特征值类似,在矩阵Σ中也是从大到小排列,而且σ的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上了。也就是说,我们也可以用前r大的奇异值来近似描述矩阵,这里定义一下部分奇异值分解:
- PCA与SVD
- SVD分解与PCA
- SVD与PCA
- PCA与SVD
- SVD & PCA
- PCA,SVD
- pca与svd的好文
- PCA与SVD简洁解析(参考CS231n)
- PCA与SVD学习之路
- 奇异值分解SVD与PCA
- SVD 与 PCA 的直观解释(2): 特征值与特征向量
- SVD 与 PCA 的直观解释(1): 线性变换
- SVD和PCA
- PCA SVD LDA
- SVD and PCA
- PCA and SVD
- SVD、PCA小结
- SVD分解和PCA
- 初学51单片机--网上教程(51自学网)
- 21. Merge Two Sorted Lists(java)
- POP3、SMTP和IMAP之间的区别和联系
- CSS清除因为浮动布局导致父元素height值为0的三种方法
- 外卖系统(用户端App+商家端App+后端云服务器)二 [2016年文章误删恢复]
- PCA与SVD
- 学习线段树-【线段树-单点更新,区间求和】hdu 1166 -敌兵布阵
- HDU 5101 Select(二分)
- SQL编程--概念
- linux定时任务的设置 crontab 配置指南
- Linux下的cp指令
- 操作系统下spinlock锁解析、模拟及损耗分析
- wpa_supplicant源码分析
- 深入解析URL类