前端analysis | 知其所以然

数据分析算法

2025-10-13

降维(Dimensionality Reduction)” 是数据分析和机器学习中一个非常重要但常被误解的概念。
我们可以从直觉、数学、算法、应用场景四个层面,一步步讲清楚它。


🧭 一、核心定义(一句话理解)

降维就是把“高维数据”压缩到“低维空间”,同时尽量保留原有信息。

换句话说:
你有一个包含几十、几百个特征(维度)的数据集,
降维的目标是:

  • 减少维度(压缩数据)
  • 保留主要结构(保留最有用的信息)
  • 消除噪声和冗余

🧩 二、通俗类比:从三维到二维的影子 🪞

想象你拿一个苹果在阳光下晒出影子 🍎→🕳️。

  • 苹果是三维的;
  • 影子是二维的;
  • 虽然降了一维,但你仍能看出形状特征(圆的、凸起的)。

这就是降维的本质:

从高维“投影”到低维,保留主要信息,舍弃次要细节。


🧮 三、为什么要降维?

问题 原因 降维后的好处
数据维度太多 特征数量>样本数量,容易过拟合 提高模型泛化能力
特征冗余 多个变量表达相似信息 去冗余、提升计算效率
可视化困难 超过3维人脑无法直接理解 2D/3D 可视化聚类或趋势
噪声干扰 无关特征掩盖真实规律 提升模型解释性

📘 比喻:

你采访1000人,问了100个问题(维度)。
但其实“学历、职位、收入”就能代表大多数差异。
降维就是找到那“关键几问”。


🧠 四、主要降维算法类型

1️⃣ 线性降维:用线性变换压缩信息

📘 主成分分析(PCA,最常用)

  • 思想:
    找出“信息量最大”的方向(称为主成分)。
    把原始数据投影到这些方向上。
  • 结果:
    新维度是旧维度的线性组合。
  • 应用:
    图像压缩、特征提取、可视化。

📈 示例:
原始数据:年龄、收入、房价、储蓄 →
PCA 找出 2 个主成分能解释 90% 的差异 →
画二维图就能区分用户群体。

📘 线性判别分析(LDA)

  • 目标:找出能区分不同类别的方向。
  • 常用于:分类前的降维(如人脸识别)。

2️⃣ 非线性降维:适合复杂结构的高维数据

算法 核心思想 应用场景
t-SNE(t-Distributed Stochastic Neighbor Embedding) 保留邻近样本的相对距离 高维可视化,如人脸特征聚类
UMAP(Uniform Manifold Approximation and Projection) 建模流形结构,速度快于t-SNE NLP、图像嵌入可视化
Isomap 保留全局几何结构 高维曲面展开
Autoencoder(自编码器) 神经网络自动学习压缩特征 图像压缩、异常检测

3️⃣ 特征选择 vs 特征提取

降维有两种思路:

方法 代表算法 思想
特征选择 相关系数、LASSO 从原特征中挑出重要的
特征提取(真正的降维) PCA, t-SNE, Autoencoder 创建新的特征(组合或映射)

📘 比喻:

  • 特征选择 = “删掉多余题目”
  • 特征提取 = “把多题综合成几道关键题”

📊 五、应用场景举例

场景 降维算法 作用
🧬 基因数据(上千维) PCA / t-SNE 提取主成分用于聚类
📸 图像识别 PCA / Autoencoder 压缩图片特征,加快训练
🛍️ 用户行为分析 PCA / UMAP 提取关键行为特征
🔍 异常检测 PCA + Isolation Forest 降维后检测异常点
📈 可视化 t-SNE / UMAP 将高维嵌入映射到2D空间展示

🧮 六、一个例子看懂 PCA 降维

假设你有3个变量:

1
2
3
收入(Income)
消费(Spend)
储蓄(Savings)

它们高度相关。

用 PCA:
1️⃣ 找到最大方差方向(例如收入+消费-储蓄)
2️⃣ 新的“主成分1”能解释 95% 信息
3️⃣ 于是你可以用1个特征替代原3个 → 降维成功!

1
2
3
4
5
6
7
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
import pandas as pd

X_scaled = StandardScaler().fit_transform(X)
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X_scaled)

🧩 七、降维的可视化直观图(概念上)

1
2
3
4
原始高维空间 (3D) → PCA 投影到 2D
* * *
* * * ---> * * * *
* * * → * *

左:难以理解的高维点分布
右:投影后的二维结构,更清晰发现聚类关系


✅ 八、总结一句话

降维 = 压缩信息维度,揭示数据核心结构。

  • 对分析师来说,它是“信息提炼”的过程;
  • 对算法来说,它是“去噪、提速、提质”的手段;
  • 对AI来说,它是“嵌入与表示学习”的基础。
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏