降维——PCA(主成分分析)
来源:互联网 发布:linux 分辨率 编辑:程序博客网 时间:2024/06/05 15:07
降维技术使得我们可以用低维向量表示高维向量。PCA是降维技术的一种,它的思想是,把一个高维向量投影到低维子空间中,子空间基的选择原则是尽量使得投影前不同的向量在投影后依旧不同。接下来,我们就具体介绍PCA的工作原理。
假设有m个
这些向量为列组成矩阵B:
另外,有
于是有
(1)B中不同列向量投影到A中行向量上时,应该尽量是不同的,也就是说,B中所有列向量投影到A中任意行向量后应该是尽量分散的,可以用投影后的值的方差来衡量分散程度。方差越大越分散,越小越集中,对我们来说,方差是越大越好。
(2)降维后的矩阵的不同行应该尽量独立。每一行,代表了相应属性在所有数据点中的值,也就是说,每一行代表了一个属性,不同行尽量独立,行与行之间相关性很弱,信息冗余少,表达各自的信息也会更多。可以用两行的协方差来表示两行的相关性,我们知道,当协方差大于0时,两行正相关,当协方差小于0,两行负相关,当协方差等于0时,两行独立,所以我们希望两行的协方差等于0。
子空间的什么样的基可以使得
矩阵B的协方车矩阵是这样得到的:
首先,每一行减去每一行对应的均值avg_i(这里的B展开了):
X矩阵叫做B的平均偏差形式。
然后, 得到协方差矩阵
可以看出,协方差矩阵是一个对称矩阵,协方差矩阵的对角线元素就是B矩阵对应行的方差值,非对角线元素,比如第i第j列元素,i != j, 就是第B矩阵第i行和第j行的协方差值。
假设
也就是说,基向量作用在原矩阵的平均偏差形式上的,而不是原矩阵上;也许我们把X看作是每一行的平均数都为0的原矩阵,Y是每一行的平均数都为0的变换后的矩阵,并且X和B,Y与B’的协方差矩阵一样。
可以看出,如果D的非对角线元素都为0,D实际上就是C对角化的结果,而且我们知道到D的对角线元素就是C的特征值,A的每一行解释对应于D中特征值的特征向量。因为我们需要D对角线元素足够大,所以,我们只需要选择D中较大的特征值对应的特征向量作为子空间的基就好了(注意:因为C是对称矩阵,所以A的各行可以是正交的,而且可以将其单位化,这里假设我们已经对A做了这样的处理),从而得到我们需要的子空间的基A。
虽然我们推导出的A是基于B的偏差形式的,但是将它作用在B上,也能刚好达到我们想要的效果。仔细考虑一下X的形成,它其实来自于B的每一列向量减去向量
也就是将B中所有列向量平移了M,并没有改变所有向量的分布情况,B和X投影到A上,都能达到“方差最大,协方差为0”的效果。
参考资料:
1.《线性代数及其应用》第3版,(美)莱(Lay,D.C.) 著,刘深泉 等译
2. 降维方法(一):PCA原理
0 0
- 降维——PCA(主成分分析)
- 机器学习算法(降维)—主成分分析(PCA)
- PCA降维——主成分分析(principal component analysis,PCA)与LDA(线性判别分析)
- PCA主成分分析(降维)
- 降维--主成分分析(PCA)
- PCA——主成分分析
- 降维:主成分分析(PCA)
- 降维-主成分分析(PCA)
- 聚类算法——主成分分析(PCA)
- PCA(主成分分析)前叙——LDA
- 机器学习——PCA(主成分分析)
- 机器学习基础——PCA(主成分分析)
- 主成分分析(PCA)
- 主成分分析(PCA)
- 主成分分析(PCA)
- 主成分分析(PCA)
- 主成分分析(PCA)
- 主成分分析(PCA)
- how to install flash player for Mozilla firefox on Kali linux 2.0
- Burnside引理和polay计数学习笔记
- 准备解决的Java问题。
- Gitbook 电子书 静态博客制作
- sudo apt-get install安装的php bin目录在什么位置
- 降维——PCA(主成分分析)
- 冒泡排序
- “远程温度多点温度采集卡”的笔记
- BFS广度优先搜索(7)--poj3126(基础题)
- C/C++进阶学习笔记(一) 枚举类型
- 洛谷 P1214 [USACO1.4] 等差数列 Arithmetic Progressions
- Android 多Dex分包机制
- POJ 1625 Censored! AC自动机+DP+高精度 *
- ubuntu16.04 mxnet