第15章、16章 奇异值分解和主成分分析
第15、16章实际上都是围绕“数据降维”这一主题展开的。
第16章 主成分分析(PCA)介绍了数据降维、压缩的基本思想及原理,具体的实现方法分为:特征值分解和奇异值分解。第15章则主要介绍了奇异值分解的原理。
书中的理论推导比较多,需要一定线性代数、概率论的基础知识,我把相关的基础知识单独整理出来,作为补充材料。
一、奇异值分解(SVD)
(一)预备知识
- 什么是正交矩阵?
正交矩阵是一个方阵,它的逆矩阵等于它的转置,即
它的每一列为标准正交向量,列的模长为1,即
正交矩阵具有“模长不变性”:
行列式
2. 特征值、特征向量和矩阵对角化(n阶方阵)
满足
特征方程:
齐次方程组:
如果把不同的特征值、特征向量联合起来写成矩阵形式(矩阵对角化):
n 阶方阵 A 可对角化 <=> A 有 n 个线性无关的特征向量 <= 有 n 个互异的特征值
3. 实对称矩阵
所谓实对称矩阵的元素均为实数,而且矩阵
它有非常好的性质:
一是特征值都是实数,二是不同特征值对应的特征向量“相互正交”,三是一定可以对角化(即使有相同特征值)。
即
4. 矩阵的四个子空间
设 A 为
列空间
行空间
零空间
左零空间
值得注意的是:列空间向量有 m 个分量,但列空间的维度是 r ,它是
对于对称矩阵有
![58bba19ab6061737059cbece031d73ba.png](https://i-blog.csdnimg.cn/blog_migrate/400059860cb971bcccbf70e51921a09f.png)
(二)什么是奇异值分解
定义 15.1 :矩阵的奇异值分解是指,将一个非零的
其中,U 为 m阶正交矩阵,V 为 n阶正交矩阵,
任意一个实矩阵A,其奇异值分解是一定存在的,但非唯一的。
定理 15.1 (基本定理,存在性证明)
此定理是“构造性”的,已知条件只有 A 是什么,然后人为构造出
其核心过程(省略细节)如下:
- 确定 V 和
由于 A 为
它的秩为
因此存在正交矩阵
其中对角阵
r 个正特征值对应的特征向量为
n-r 个零特征值对应的特征向量为
矩阵A的奇异值为
于是得到n阶正交矩阵
以及对角矩阵
下列公式是后续证明的关键(P275):
2. 确定 U
令
以矩阵形式表示为
再令
于是得到m阶正交矩阵
3. 证明
其中
如果将部分特征值去掉(一般特征值越小越不重要),使得对角阵由 r 阶下降到 k阶,同时只保留 U 和 V 的前 k 个特征向量,得到矩阵A的最优近似(有损压缩,即“降维”):
称为“截断奇异值分解”。
(三)几何解释
![88aa1cf23ea9141cf961ea27beb56785.png](https://i-blog.csdnimg.cn/blog_migrate/e58e51feff6bfb14d32c2691f04e20e8.png)
矩阵乘法 Ax 表示: 从 n 维空间到 m 维空间的一个线性变换,
A 的奇异值分解为
旋转或反射变换:
缩放变换:
旋转或反射变换:
V 和 U 的列向量分别是
这些结论源于“正交矩阵”的性质, V 是
![660e8fe666559c68a7f954906341cca0.png](https://i-blog.csdnimg.cn/blog_migrate/31960ae31e50f35ed632fe5b6e8f4b12.png)
(四)性质
- 正交矩阵 U 和 V:
- 正交向量:
3. A的子空间:
U 的前 r 列是 C(A) 的标准正交基(列空间);
U 的后 m-r 列是
V 的前 r 列是
V 的后 n-r 列是 N(A) 的标准正交基 (零空间)。
4. 奇异值的数量:
矩阵A的秩 rank(A) = r,等于正奇异值的个数;奇异值唯一,但矩阵 U 和 V 不唯一。
二、主成分分析(PCA)
(一)总体主成分分析
总体主成分分析以“m维随机变量”(即随机向量 x)为研究对象,不涉及由具体样本组成的数据矩阵。
- 预备知识
m维随机变量(向量):
x的期望值(均值向量):
x的协方差(矩阵):
系数向量(单位向量):
线性变换:
y的期望值:
y的方差:
y的协方差:
2. 主要性质
定理 16.1 设 x 是 m 维随机变量,
则 x 的第 k 个主成分是
x 的第 k 主成分的方差是
即协方差矩阵
定理证明的关键在于“约束最优化问题”(拉格朗日函数)的求解:
对拉格朗日函数 L 求
协方差矩阵
若在
因此,移项得到
从上述等式可知,如果
求解“第 2 主成分”的方法是类似的,不过增加了一些“等式约束”:
重复上述方法,最终证明:
推论16.1 若
(1)
(2)y的协方差矩阵是“对角阵”,即
即
(3)将
注意 x 与 y 的协方差矩阵:
根据矩阵“迹”的性质:
- n阶矩阵A的“迹”是矩阵所有对角线上元素之和,记作 tr(A);
-
-
-
,也就是说:“迹”等于所有特征值之和。
可以证明书中的主要性质(2)
定理16.2 从理论上阐述了通过主成分分析降维是怎么一回事。
主要通过构成一个系数矩阵 C,尺寸为q*m,然后证明它的主对角线上元素为1,其他为0。
最后的结论非常重要:
当
(二)样本主成分分析
- 基础概念
实际上,我们主要应用样本主成分分析对已知数据进行降维。
假设 m 维随机变量
不同的“特征”表示包含不同信息,不同统计规律的随机变量,“样本”则是这些随机变量的具体例子。这里用 m 表示特征数,n 表示样本数,与通常的用法相反。
“降维”的目的是去掉一部分“无用”的特征,一般来书,样本数 n > 特征数 m,因此样本矩阵 X 的秩最多为 m , 主成分最多有 m 个(不超过特征数),也可以压缩为一个更小的数。
2. 特征值分解算法
主成分分析主要有两种算法:特征值分解和奇异值分解。特征值分解基于样本矩阵的协方差矩阵(对称阵)进行,而奇异值分解则直接对样本矩阵(非对称)进行。由于奇异值分解的降维方法前面已经介绍过,下面主要讨论“特征值分解”:
(1)样本数据规范化(均值归零,方差归一)
第i个特征的样本均值:
第i个特征的样本方差(无偏估计):
此时数据的协方差矩阵(等于相关矩阵):
(2)求相关矩阵(对称阵)的特征值和特征向量
参考上一章的内容,通过求解特征方程:
以及齐次方程组
(3)求 k 个样本主成分
以 k 个单位特征向量为系数进行线性变换,求出 k 个样本主成分
(4)计算主成分的方差贡献率和累计方差贡献率
累计方差贡献率表明分解后的压缩比率。
第k主元的方差贡献率:
前 k 个主元的累计方差贡献率: