[机器学习复习笔记] PCA 主成分分析(特征值分解、SVD分解)

PCA 主成分分析

1. 特征值分解

1.1 特征值分解的前提

  • 矩阵是 方阵

  • 矩阵是 可对角化的,即通过相似变化转化为对角矩阵。(相似变换 不会改变矩阵的特征值和特征向量

  • 矩阵的特征向量 线性无关,保证了特征值分解的 唯一性


1.2 特征值分解

给定一个矩阵 ARn×n , 存在非零向量 v 和 系数 λ 使得:

Avi=λivi

则称 λi 是矩阵 A 的一个特征值,vi 是特征值 λ 对应一个的特征向量。

特征向量具有某种不变性:矩阵 A 乘特征向量,不会改变特征向量的方向。特征向量同样是线性变换的不变轴,所有输入向量沿着这条轴 压缩延伸。一般来说几阶方阵就有几个特征向量,n 阶方阵有 n 个特征向量,每一个特征向量表征一个维度上的线性变换方向。

可以将 A特征值特征向量 向量化表示为:

特征值

Λ=[λ100λn]

特征向量

V=[v1,v2,,vn]

由此:

AV=A[v1,v2,,vn]=[λ1v1,λ2v2,,λnvn]=[v1,v2,,vn]Λ=VΛ

由于矩阵 Vn 个特征向量线性无关,所以 V 可逆,由此可以推导出对角化以及特征值分解公式:

V1AV=ΛA=VΛV1

此时,可以看成矩阵 A 被分解了。

一般会将 V 进行 标准化,满足 ||vi||2=1,或者 viTvi=1,此时 Vn 个特征向量为 标准正交基,满足 VTV=I,由此可得 VT=V1,此时 V酉矩阵,故此时可以将特征分解表达式写为:

A=VΛVT


1.3 计算方法

Avi=λivi(λiIA)vi=0

根据线性方程组理论,只有 det(λiIA)=0 (det表示行列式),方程才有 非零解

计算出所有 λ 取值后,再代回 (λiIA)vi=0,求出最终的 特征向量 vi


2. SVD分解

2.1 奇异值分解

奇异值分解(Singular Value Decomposition) 并 不要求矩阵为方阵

假设有 ARm×n,此时定义矩阵 ASVD 为:

A=UΣVT

其中 URm×m,ΣRm×n,VRn×n

Σ 除了对角线以外元素都是 0,主对角线上每个元素称为 奇异值。并且 UV 都是 酉矩阵,即满足 UTU=I,VTV=I

2.2 计算方法

  • 求解 V

    构造 n×n 的方阵 ATA,进行 特征值分解

    (ATA)vi=λivi

    由此可以得到 ATA 对应的 n 个特征向量 vi,从而得到特征向量矩阵 V,以及对应的特征值矩阵 Λ。一般称其为 A右奇异矩阵

  • 求解 Σ

    A=UΣVTAT=VΣUTATA=VΣUTUΣVTUTU=IATA=VΣ2VT

    显然,此时可以发现矩阵 ATA 的特征向量构成矩阵 VΣ2 明显是 等于 Λ 的,那么显然 ATA特征值A奇异值 满足如下关系:

    σi=λi

  • 求解 U

    在上面两个部分的求解中,得到了由 vi 构成的特征向量 V 和 奇异值 σi

    A=UΣVTAV=UΣVTVVTV=IAV=UΣAvi=σiuiui=Aviσi

    从而得到特征向量矩阵 U。称其为 A左奇异矩阵


3. PCA

3.1 特征值分解求解PCA

假设有样本数据集 X={x1,x2,,xm},XRm×n, 为 mn 维数据。

  • 去中心化,每一特征 减去各自的平均值

  • 计算 协方差矩阵 1m1XXT,协方差矩阵可以满足特征值分解的前提条件(这里乘 1m1 或者 1m 与否不影响最终结果)

  • 特征值分解求出 协方差矩阵 1m1XXT特征值特征向量

  • 特征值排序,选取 k 大的特征向量,组成特征向量矩阵 Vk

  • 将数据转换到 k 个特征向量构建的空间中,Yk=XVk,得到压缩后的数据。注意 0<k<rank(A)


3.2 SVD分解求解PCA

假设有样本数据集 X={x1,x2,,xm},XRm×n

  • 去中心化,每一特征 减去各自的平均值

  • 使用 奇异值分解 (SVD) 求出 右奇异矩阵 V奇异值对角矩阵 Σ,进而推出 左奇异矩阵 U

  • 选取 k 大的奇异值,构成 Σk

  • 将数据转换到 k 个奇异值构建的空间中,Yk=UΣk,得到压缩后的数据。


参考文章

奇异值分解(SVD)

一文解释 矩阵特征分解

SVD是如何给PCA减负的?

posted @   MarisaMagic  阅读(689)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示