数据降维技术全解析
1. 主成分分析(PCA)基础
主成分分析(PCA)是一种常用的数据降维技术。对于每个主成分,PCA会找到一个以零为中心的单位向量,该向量指向主成分的方向。不过,由于两个相反的单位向量位于同一轴上,PCA返回的单位向量方向并不稳定。若对训练集进行微小扰动后再次运行PCA,单位向量可能会指向与原始向量相反的方向,但它们通常仍位于同一轴上。在某些情况下,一对单位向量甚至可能旋转或交换(如果这两个轴上的方差接近),不过它们所定义的平面通常保持不变。
1.1 寻找主成分
可以使用奇异值分解(SVD)这一标准矩阵分解技术来找到训练集的主成分。SVD能将训练集矩阵 $X$ 分解为三个矩阵 $U$、$\Sigma$ 和 $V^⊺$ 的乘积,其中 $V$ 包含了定义所有主成分的单位向量。
以下是使用NumPy的 svd() 函数获取训练集所有主成分,并提取定义前两个主成分的单位向量的Python代码:
import numpy as np
X_centered = X - X.mean(axis=0)
U, s, Vt = np.linalg.svd(X_centered)
c1 = Vt.T[:, 0]
c2 = Vt.T[:, 1]
需要注意的是,PCA假设数据集以原点为中心。如果自己实现PCA或使用其他库,别忘了先对数据进行中心化处理。
1.2 投影到d维空间
确定所有主成分后,可以通过将数据集投影到由前 $d$ 个主成分定义的超平面上,将数据集的维度降
超级会员免费看
订阅专栏 解锁全文
870

被折叠的 条评论
为什么被折叠?



