特征值分解与主成分分析
来源:互联网 发布:捷易通淘宝助理 编辑:程序博客网 时间:2024/06/06 02:03
转载自:http://blog.jqian.net/post/pca.html
协方差矩阵
协方差(Covariance)用于衡量两个变量的总体误差。设两个随机变量
和
的期望值分别为
和
,则其协方差定义为:
cov(X,Y)=E((X−E(X))(Y−E(Y))) cov(X,Y)=E((X−E(X))(Y−E(Y)))
方差是协方差的一种特殊情况,即当两个变量是相同时:
var(X)=cov(X,X)=E((X−E(X))2) var(X)=cov(X,X)=E((X−E(X))2)
协方差从随机标量推广到随机向量,则得到协方差矩阵(Convariance Matrix)定义:
cov(X)=E((X−E(X))(X−E(X))T) cov(X)=E((X−E(X))(X−E(X))T)
其中,
是一个随机向量。显然一个随机向量的协方差矩阵是一个方阵。
线性变换、特征值和特征向量
线性变换(线性映射)是在作用于两个 向量空间 之间的函数,它保持向量加法和标量乘法的运算。实际上线性变换表现出来的就是一个矩阵。
特征值和特征向量是一体的概念:
对于一个给定的线性变换,它的特征向量
经过这个线性变换之后,得到的新向量仍然与原来的
ξ ξ保持在同一條直線上,但其长度也许會改变。一个特征向量的长度在该线性变换下缩放的比例称为其特征值(本征值)。
ξ ξ
数学描述如下:
Aξ=λξ Aξ=λξ
在 线性变换
的作用下,向量
仅仅在尺度上变为原来的
倍。称
是线性变换
的一个特征向量,
是对应的特征值。
求解线性变换
的特征向量和特征值:
⇒⇒Ax=λxIAx=I⋅λx(A−λI)x=0 Ax=λx⇒IAx=I⋅λx⇒(A−λI)x=0
根据线性方程组理论,如果上式有非零解,则矩阵
的行列式为0:
|A−λI|=0 |A−λI|=0
该方程组称作矩阵的特征多项式,解该方程组可以求得所有的特征值
。矩阵
的非零特征值最大数目是该矩阵的秩
。对于每个特征值
都有如下特征方程(Characteristic equation)成立:
(A−λiI)x=0 (A−λiI)x=0
进一步可以解得相应的特征向量
。
顾名思义,特征值和特征向量表达了一个线性变换的特征。在物理意义上,一个高维空间的线性变换可以想象是在对一个向量在各个方向上进行了不同程度的变换,而特征向量之间是 线性无关 的,它们对应了最主要的变换方向,同时特征值表达了相应的变换程度。
特征值分解
矩阵对角化定理(Matrix diagonalization theorem):对于
方阵
,如果它有
个线性无关的特征向量,那么存在一个特征分解:
A=QΛQ−1 A=QΛQ−1
其中,
是
的方阵,且其第
列为
的特征向量
。
是对角矩阵,其对角线上的元素为对应的特征值,即
。
对称对角化定理(Symmetric diagonalization theorem):更进一步,如果方阵
是对称方阵,可得
的每一列都是
的互相正交且归一化(单位长度)的特征向量,即
。
主成份分析
主成份分析(PCA, Principal Component Analysis)有多种推导方法,最大化方差是一种比较直观的方法。比如给出一坨数据,如果你想给出一条坐标轴可以尽量清晰的描述这些数据,即更容易把它们分类,那么直观来看,肯定会选择与数据方差最大的那条直线,才能最大化数据的差异性。
实际的做法就是将数据的高维坐标投影到这条直线,也就是向量上去,然后最大化投影后的方差。
首先定义原始数据的中心点:
x¯=1N∑n=1Nxn x¯=1N∑n=1Nxn
定义投影向量
,不失一般性,可以令
。每个数据点
投影之后的的值为
,投影之后的方差可表示为:
1N∑n=1N(uT1xn−uT1x¯)2=uT1Su1 1N∑n=1N(u1Txn−u1Tx¯)2=u1TSu1
其中,
是数据的协方差矩阵。现在需要最大化投影方差
,利用微积分中常用的求极值方法拉格朗日乘子法,引入标量
变为求下式的极值:
uT1Su1+λ1(1−uT1u1) u1TSu1+λ1(1−u1Tu1)
求导,取零,可得:
Su1=λ1u1 Su1=λ1u1
很明显上式的含义是
是矩阵
的特征向量,这就转换成一个矩阵特征值分解问题。我们将特征值从大到小排列,保留前M个特征向量,即实现了从原来N维空间到M维新空间的降维。
参考
- PRML 12.1. Principal Component Analysis
- Introduction to IR 18. Dimensionality reduction and latent semantic indexing
- 特征值分解与主成分分析
- 特征值分解、奇异值分解(SVD)、主成分分析(PCA)
- 矩阵分析-奇异值分解与特征值
- PCA 主成分分析 奇异值分解
- 主成分分析和奇异值分解
- 主成分分析法及特征值的含义
- SVD与PCA,奇异值分解与主成分分析的比较
- 主成分分析(Principal Component Analysis)与 奇异值分解(Singular Value Decomposition)
- 奇异值分解(SVD)与主成分分析(PCA)
- 特征值分解与奇异值分解
- 奇异值分解与特征值分解
- 特征值分解与奇异值分解
- 特征值分解与奇异值分解含义
- 特征值分解与奇异值分解
- 协方差矩阵的几何解释--协方差矩阵的特征值分解部分,很好的解释了奇异值分解主成分选择的原因
- 特征值分解
- 矩阵特征值与奇异值分解
- 矩阵分析 特征值分解 奇异值分解 PCA
- 身份实名认证返照
- 欢迎使用CSDN-markdown编辑器
- web前端 | 一条“不归路” - 学习路线
- 4道过滤菜鸟的iOS面试题
- nginx 使用
- 特征值分解与主成分分析
- MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明
- Restore IP Addresses
- Effective Java 之通用程序设计
- Android 从一个应用跳转到另外一个应用中的问题
- HDU 2098 分拆素数和
- 继承和派生
- 删除数组中相同的元素
- Error 1402. Could not open key: