1. PCA 的目标
- 降维:减少数据集的列(特征数量),尽量保留原始信息。
- 数据行(观测数量)不变 → 数据“同样高”但“更瘦”。
- 主要动机:
- 数据特征太多,处理成本高(几百、几千列)。
- 便于可视化,尤其是二维/三维分析。
2. 直接删列的问题
- 简单删除特征虽然降维了,但会丢掉很多有用信息。
- PCA 的思路:用新的少量特征代替原来的多特征,尽量保留信息。
3. 降维的数学方法:投影(Projection)
- 将数据点映射到低维空间(用更少的基向量表示)。
- 举例:二维数据 投影到直线 :
- 投影方向向量:
- 投影步骤:
- 与方向向量做点积(Dot Product) → 得到投影长度(即在该方向上的坐标值,也可理解为该方向的“权重/重要性”)。
- 方向向量归一化(长度变 1):。减少数值计算负担(去掉方向向量自身的长度影响,让投影长度只反映数据在该方向上的真实分量)。
- 投影公式:
- 投影后:原 2 列数据变成 1 列(沿该方向的坐标)。
4. 多方向投影
- 若投影到两个方向(平面),取两个单位向量 组成矩阵:
- 投影公式:
- 投影后数据:行数不变,列数减少(例如从 列变为 2 列)。
5. 核心思想
- PCA 的本质:
- 选择“最佳的投影方向”降维(保留最大方差信息)。
- 投影运算是 矩阵 × 单位向量(或向量组)。
- 关键问题:如何选最优投影向量 → PCA 后续主题。
PCA 投影与信息保留
1. 目标
-
降维:把二维数据(平面上的点)变成一维数据(线上的点)。
-
通过选择合适的投影方向,在减少特征数的同时保留尽可能多的信息。
2. 步骤示例
-
数据中心化
- 数据不一定以 为中心,所以先将数据平移,使均值在原点。
-
尝试不同投影方向
-
比较投影效果
- 投影后点的分布范围(spread)分布越大 → 保留的信息越多。
3. 核心思想
-
PCA 会自动找到那个让投影后数据最分散的方向 → 即最大化方差的方向。
-
第一主成分:方差最大方向
-
第二主成分:与第一主成分正交且方差次大的方向(依此类推)
4. 好处
-
数据更易管理(维度更小)
-
信息丢失最小化(最大化方差)
-
更易可视化(低维数据方便绘图、观察模式)
-
降低噪声影响(次要方向往往是噪声)
PCA 所需的统计基础
1. 均值(Mean)
- 定义:所有观测值的平均数。
- 对二维数据 :
- 几何意义:数据中心点(质心)。
2. 方差(Variance)
- 作用:衡量单个变量的“分散程度”。
- 公式(单变量 ):
- 几何意义:平均平方距离(越大 → 数据越分散)。
- 例子:
- 沿 轴数据更分散 → 较大
- 沿 轴数据较集中 → 较小
3. 方差的局限性
- 方差只能描述单个变量的分散程度,不能反映两个变量之间的关系。
- 两个不同数据集可能 、 一样,但模式完全不同。
4. 协方差(Covariance)
- 作用:衡量两个变量之间的变化关系(趋势方向)。
- 公式(变量 与 ):
- 符号含义:
- → 增大时 也增大(正相关趋势)
- → 增大时 减小(负相关趋势)
- → 无明显线性关系
- 几何解释:
- 数据中心化后,平面被分成四象限。
- 坐标差值 与 的乘积:
- 同号 → 对协方差贡献为正
- 异号 → 对协方差贡献为负
- 协方差本质上是平均正负象限的平衡结果。
5. 在 PCA 中的作用
- 方差:判断单个投影方向的数据分散程度(越大越好)。
- 协方差:反映不同特征之间的关联性。
- PCA 会用 Covariance Matrix 找出方差最大的方向(主成分方向),以最大限度保留信息。
PCA 从协方差矩阵到降维的全过程
1. 数据中心化
假设我们有 4 个二维点:
- 计算均值:
- 中心化:
2. 协方差矩阵
公式:
计算过程:
- 转置:
- 矩阵乘法:
- 除以 :
3. 特征值与特征向量
解 ,得到:
对应特征向量:
几何意义:
- → 方差最大的方向( 最大)。
- → 正交的次优方向。
4. 投影到主成分
只保留主成分 :
- 投影系数(投影长度):
- 得到一个 向量,表示每个点在 上的坐标。
5. 几何意义总结
- :平移数据到原点。
- :记录各方向的“协同变化量”,本质是变量对之间的点积表。
- 特征分解:找到数据最大延展的方向(特征向量)。
- 投影:在该方向上压缩数据维度,保留最大方差信息。
1. 从协方差矩阵到“拉伸变换”
-
协方差矩阵 是对称矩阵,可以看作一个线性变换:它会把空间的单位圆拉伸成一个椭圆。
-
不同方向的向量会被拉伸成不同长度。
-
方向 = 特征向量
拉伸长度 = 特征值的平方根(严格来说是范数比例)。
只拉伸不旋转是因为协方差矩阵 是一个实对称矩阵,而实对称矩阵有两个关键性质:
-
特征向量正交
-
实对称矩阵一定可以被正交对角化:
C=QΛQ^⊤
其中 是由单位长度且相互正交的特征向量组成的矩阵。
-
这意味着 在不同特征向量方向上的作用是彼此独立的,不会把一个方向“扭”到另一个方向去。
-
-
只在特征向量方向缩放
-
对任一特征向量 :
C v_k=λ_k v_k
结果还是沿着 的方向,只是长度变成了原来的 倍。
-
这就是“拉伸”而非“旋转”:方向不变,只是变长或变短。
-
几何直观:
-
一般的矩阵变换既可能旋转,也可能拉伸数据。
-
但如果矩阵是实对称的(比如协方差矩阵),它的“作用方向”就是那组正交的特征向量——在这些方向上不会发生旋转,只会按特征值进行拉伸/压缩。协方差矩阵是 ,会有 条正交特征轴,这些特征轴就是高维“椭球”的主轴,PCA 会按照这些轴的方差大小(特征值)进行排序,然后选前 条轴作为降维后的坐标系。
2. 单位圆 → 椭圆
-
把所有长度为 1 的向量(方向)都输入 ,输出向量的长度就是在这个方向上的“方差强度”。
-
拉伸最长的方向就是椭圆的长轴方向,这个方向的单位向量就是最大特征值对应的特征向量。
-
拉伸最短的方向就是椭圆的短轴方向,对应最小特征值。
3. 几何意义
-
特征向量:协方差矩阵作用下不改变方向的“固有方向”。
-
特征值:在这个方向上的方差(散布程度),也是拉伸比例。
-
最大特征值 → 最大散布方向 → 投影后保留信息最多。
4. 为什么不直接试遍所有方向?
-
试遍所有方向等价于在单位圆上每隔一点就计算一次投影方差,效率低。
-
特征分解直接告诉你椭圆的主轴方向,这就是方差最大的方向。
5. 例子(数值版)
假设
-
最大特征值 ,特征向量
-
最小特征值 ,特征向量
-
解释:
-
在 方向,数据被放大 倍(方差最大)
-
在 方向,数据只被放大 1 倍(方差最小)
-
投影到 → 1D 数据方差最大,信息保留最多,这就是 PCA 选它的原因。
PCA 全流程公式化步骤(以 5→2 维为例)
1. 原始数据矩阵
数据集 ( 矩阵):
- 行:每个观测样本
- 列:每个特征
2. 数据中心化
计算每列的均值:
中心化矩阵:
3. 协方差矩阵
公式:
- 是 矩阵
- 表示特征 与 的协方差
4. 特征分解
解:
得到:
- 特征值 (方差大小)
- 特征向量 (主成分方向)
5. 特征值排序与选取
按 从大到小排序,取前 个:
取对应的两个特征向量:
这里的 要归一化:
6. 数据投影
投影公式:
结果:
- 是 矩阵
- 每一行是原始数据在两个主成分上的坐标
7. 几何意义
- 中心化:平移数据到原点。
- 协方差矩阵:记录各特征之间的线性关系。
- 特征分解:找出数据最大方差的方向。
- 选取前 m 个主成分:保留最多的信息(最大方差)。
- 投影:将高维数据压缩到 m 维,同时最小化信息损失。
与t-SNE (t-distributed Stochastic Neighbor Embedding)的区别
1. 方法原理
-
PCA (Principal Component Analysis)
-
线性降维方法。
-
通过特征值分解/奇异值分解,寻找数据方差最大的正交方向。
-
投影后保留全局方差信息。
-
-
t-SNE (t-distributed Stochastic Neighbor Embedding)
-
非线性降维方法。
-
将高维相似度分布映射到低维相似度分布,最小化 KL 散度。
-
用学生 t 分布(t-distribution)来建模低维邻居概率,避免“拥挤问题”(crowding problem)。
-
2. 保留的信息
-
PCA:保留 全局结构(大方向的方差、线性关系)。
-
t-SNE:保留 局部结构(相似点邻居关系、局部簇)。
3. 可解释性
-
PCA:主成分是原始变量的线性组合,可解释、可复用(比如用于特征压缩)。
-
t-SNE:结果是嵌入坐标,不可解释、不可复用(仅用于可视化)。
4. 计算复杂度
-
PCA:快速(矩阵分解即可),适合大规模数据。
-
t-SNE:较慢(O(n²)),大样本时需近似算法(如 Barnes-Hut t-SNE、UMAP)。
5. 适用场景
-
PCA:
-
特征降维 → 后续机器学习模型输入
-
数据压缩、噪声去除
-
可解释性分析(主成分分析)
-
-
t-SNE:
-
高维数据可视化(图像特征、文本嵌入、基因表达数据)
-
发现潜在簇结构
-