t-分布随机邻域嵌入(t-SNE)算法的原理与降维可视化过程
字数 1552 2025-12-04 21:53:30
t-分布随机邻域嵌入(t-SNE)算法的原理与降维可视化过程
题目描述
t-SNE是一种非线性降维技术,特别适用于高维数据的可视化。它通过保持数据点之间的局部相似性,将高维数据映射到低维空间(通常是2D或3D)。其核心思想是:在原始高维空间中相似的点,在降维后的低维空间中应该彼此靠近;而不相似的点则应远离。t-SNE通过概率分布建模相似性,并使用t分布处理低维空间中的距离,有效缓解了“拥挤问题”。
解题过程
- 高维空间相似性建模
- 对于高维空间中的每个数据点 \(x_i\),计算其与所有其他点 \(x_j\) 的相似性,用条件概率 \(p_{j|i}\) 表示:
\[ 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 $ 是以点 $ x_i $ 为中心的高斯分布方差,通过困惑度(Perplexity)控制。困惑度定义为 $ \text{Perp}(P_i) = 2^{H(P_i)} $,其中 $ H(P_i) $ 是条件概率分布 $ P_i $ 的香农熵。
- 对称化条件概率,得到联合概率 \(p_{ij}\):
\[ p_{ij} = \frac{p_{j|i} + p_{i|j}}{2n} \]
这确保了 $ p_{ij} = p_{ji} $,且 $ \sum_{i,j} p_{ij} = 1 $。
- 低维空间相似性建模
- 在低维空间(如2D)中,为每个点 \(y_i\) 定义相似性概率 \(q_{ij}\),使用自由度为1的t分布(柯西分布):
\[ q_{ij} = \frac{(1 + \|y_i - y_j\|^2)^{-1}}{\sum_{k \neq l} (1 + \|y_k - y_l\|^2)^{-1}} \]
t分布的厚尾特性允许低维空间中较远的点保持较大距离,避免高维空间中距离较远的点在低维空间中拥挤在一起。
- 优化低维嵌入
- 目标是最小化高维和低维概率分布之间的KL散度:
\[ C = \sum_{i} \sum_{j \neq i} p_{ij} \log \frac{p_{ij}}{q_{ij}} \]
- 使用梯度下降法迭代更新低维点 \(y_i\)。梯度计算公式为:
\[ \frac{\partial C}{\partial y_i} = 4 \sum_{j \neq i} (p_{ij} - q_{ij})(y_i - y_j)(1 + \|y_i - y_j\|^2)^{-1} \]
梯度包含两部分:
- $ p_{ij} - q_{ij} $:当 $ p_{ij} > q_{ij} $ 时,高维相似点未在低维空间中靠近,梯度将拉近 $ y_i $ 和 $ y_j $;
- $ (1 + \|y_i - y_j\|^2)^{-1} $:t分布导数项,对近距离点赋予更大权重。
- 优化时常采用技巧(如早期压缩、动量加速)避免局部最优。
- 输出与可视化
- 最终得到低维坐标 \(y_1, y_2, \dots, y_n\),可直接绘制散点图。不同类别数据常以颜色区分,直观展示聚类结构或流形形状。
关键点
- t-SNE擅长保留局部结构,但全局结构可能失真。
- 超参数困惑度需调优:过小会忽略全局结构,过大会混淆局部细节。
- 结果具有随机性,多次运行可能产生不同布局。