t-分布随机邻域嵌入(t-SNE)算法的原理与降维可视化过程
字数 1407 2025-10-30 11:52:22

t-分布随机邻域嵌入(t-SNE)算法的原理与降维可视化过程

题目描述
t-SNE是一种专门用于高维数据可视化的非线性降维算法。假设你有一个包含1000个样本的数据集,每个样本有100个特征(即100维空间),你想在二维平面上直观展示这些样本的自然分组情况。t-SNE通过保留样本间的局部相似性关系,将高维数据映射到低维空间(如2D或3D),使得在原始空间中相似的点在低维图中距离相近,而不相似的点则相距较远。


解题过程

1. 核心思想
t-SNE的核心是分别在高维和低维空间构建概率分布,通过优化使两个分布尽可能相似:

  • 高维空间:用高斯分布描述样本间的相似性,关注局部结构(邻近点关系)
  • 低维空间:用t分布描述样本间相似性,解决高维映射中的“拥挤问题”

2. 高维空间相似性计算

  • 计算条件概率 \(p_{j|i}\):表示在 \(x_i\) 邻域内选择 \(x_j\) 作为邻居的概率

\[ p_{j|i} = \frac{\exp(-\|x_i - x_j\|^2 / 2\sigma_i^2)}{\sum_{k \neq i} \exp(-\|x_i - x_k\|^2 / 2\sigma_i^2)} \]

  • \(\sigma_i\) 通过困惑度(Perplexity)确定,控制每个点的有效邻居数
  • 对称化处理:\(p_{ij} = (p_{j|i} + p_{i|j}) / 2N\) 确保 \(p_{ij} = p_{ji}\)

3. 低维空间相似性计算

  • 在低维映射空间(如2D)中,使用自由度为1的t分布计算相似性 \(q_{ij}\)

\[ q_{ij} = \frac{(1 + \|y_i - y_j\|^2)^{-1}}{\sum_{k \neq l}(1 + \|y_k - y_l\|^2)^{-1}} \]

  • t分布的厚尾部特性允许远距离点在低维空间更分散,缓解拥挤问题

4. 优化目标函数

  • 使用KL散度衡量高维分布 \(P\) 和低维分布 \(Q\) 的差异:

\[ KL(P\|Q) = \sum_{i \neq j} p_{ij} \log\left(\frac{p_{ij}}{q_{ij}}\right) \]

  • 通过梯度下降最小化KL散度,更新低维坐标 \(y_i\)
  • 梯度计算:

\[ \frac{\partial KL}{\partial y_i} = 4\sum_j (p_{ij} - q_{ij})(y_i - y_j)(1 + \|y_i - y_j\|^2)^{-1} \]

5. 优化技巧

  • 早期压缩:初始阶段增加一个放大因子,避免初始点过于分散
  • 动量梯度下降:加速收敛并避免局部最优
  • 随机初始化:通常用高斯分布随机初始化低维坐标

6. 结果解读

  • 完成优化后,每个高维样本 \(x_i\) 对应一个二维点 \(y_i\)
  • 在散点图中,距离近的点表示原始特征相似,自然形成聚类
  • 注意:t-SNE仅适合可视化,不能用于特征提取或降维后的定量分析

关键特点

  • 保留局部结构,但全局结构可能失真
  • 对困惑度敏感,需调试参数(通常5-50之间)
  • 计算复杂度高(\(O(N^2)\)),大数据集需优化算法(如Barnes-Hut t-SNE)
t-分布随机邻域嵌入(t-SNE)算法的原理与降维可视化过程 题目描述 t-SNE是一种专门用于高维数据可视化的非线性降维算法。假设你有一个包含1000个样本的数据集,每个样本有100个特征(即100维空间),你想在二维平面上直观展示这些样本的自然分组情况。t-SNE通过保留样本间的局部相似性关系,将高维数据映射到低维空间(如2D或3D),使得在原始空间中相似的点在低维图中距离相近,而不相似的点则相距较远。 解题过程 1. 核心思想 t-SNE的核心是分别在高维和低维空间构建概率分布,通过优化使两个分布尽可能相似: 高维空间 :用高斯分布描述样本间的相似性,关注局部结构(邻近点关系) 低维空间 :用t分布描述样本间相似性,解决高维映射中的“拥挤问题” 2. 高维空间相似性计算 计算条件概率 \( p_ {j|i} \):表示在 \( x_ i \) 邻域内选择 \( x_ j \) 作为邻居的概率 \[ p_ {j|i} = \frac{\exp(-\|x_ i - x_ j\|^2 / 2\sigma_ i^2)}{\sum_ {k \neq i} \exp(-\|x_ i - x_ k\|^2 / 2\sigma_ i^2)} \] \(\sigma_ i\) 通过困惑度(Perplexity)确定,控制每个点的有效邻居数 对称化处理:\( p_ {ij} = (p_ {j|i} + p_ {i|j}) / 2N \) 确保 \( p_ {ij} = p_ {ji} \) 3. 低维空间相似性计算 在低维映射空间(如2D)中,使用自由度为1的t分布计算相似性 \( q_ {ij} \): \[ q_ {ij} = \frac{(1 + \|y_ i - y_ j\|^2)^{-1}}{\sum_ {k \neq l}(1 + \|y_ k - y_ l\|^2)^{-1}} \] t分布的厚尾部特性允许远距离点在低维空间更分散,缓解拥挤问题 4. 优化目标函数 使用KL散度衡量高维分布 \( P \) 和低维分布 \( Q \) 的差异: \[ KL(P\|Q) = \sum_ {i \neq j} p_ {ij} \log\left(\frac{p_ {ij}}{q_ {ij}}\right) \] 通过梯度下降最小化KL散度,更新低维坐标 \( y_ i \) 梯度计算: \[ \frac{\partial KL}{\partial y_ i} = 4\sum_ j (p_ {ij} - q_ {ij})(y_ i - y_ j)(1 + \|y_ i - y_ j\|^2)^{-1} \] 5. 优化技巧 早期压缩 :初始阶段增加一个放大因子,避免初始点过于分散 动量梯度下降 :加速收敛并避免局部最优 随机初始化 :通常用高斯分布随机初始化低维坐标 6. 结果解读 完成优化后,每个高维样本 \( x_ i \) 对应一个二维点 \( y_ i \) 在散点图中,距离近的点表示原始特征相似,自然形成聚类 注意:t-SNE仅适合可视化,不能用于特征提取或降维后的定量分析 关键特点 保留局部结构,但全局结构可能失真 对困惑度敏感,需调试参数(通常5-50之间) 计算复杂度高(\(O(N^2)\)),大数据集需优化算法(如Barnes-Hut t-SNE)