高级 #ml#pca#dimensionality-reduction

主成分分析(PCA)

PCA 把高维数据投影到低维——保留数据"方差最大"的方向。用于降维、可视化、去噪,是机器学习中最常用的无监督方法之一

📉 100 维的数据——你根本”看”不到

一个数据可能有 100 个特征(维度)。你想看看这些数据长什么样——但人类最多理解 3 维。

如果告诉你:这 100 个维度中,90 个维度的变化很小——数据主要在前 10 个维度上”展开”。

PCA(主成分分析)就是找到数据”变化最大的方向”——把数据降维,同时尽量保留原始信息。

🏪 **类比:拍立影”

你给一个 3D 物体拍照——3D→2D,丢失了一个维度的信息。但你选好角度——从最能体现物体特征的方向拍——2D 照片仍然能看出 3D 物体的形状。

PCA 做的就是:找到”最好的拍照角度”——把高维数据投影到低维,保留尽可能多的”差异”。


🔧 PCA 的核心思想

from sklearn.decomposition import PCA

# 100 维的数据降到 2 维——只为了可视化
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)

# X_reduced 是 2 维的——可以画在平面上
# pca.explained_variance_ratio_ 告诉你"保留了多少信息"
步骤:
1. 数据中心化(每个维度减去均值)
2. 计算协方差矩阵(各维度之间的相关性)
3. 求特征值和特征向量(找到"变化最大的方向")
4. 选前 k 个特征向量作为新坐标轴
5. 把数据投影到新的 k 维空间

保留多少维度?累计解释方差比——选”保留 90% 以上方差”的维度数。


📝 小结

概念一句话
PCA找数据变化最大的方向——降维保留主要信息
主成分方差最大的方向——第 1 主成分最重要
解释方差比每个主成分”保留了多少信息”
应用可视化(高维→2D)、去噪、数据压缩

为什么先学这个? 预处理完数据,进入深度学习——神经网络与反向传播