t-SNE的SNE改进、困惑度与t分布引入
t-SNE是目前最流行的可视化降维算法。请解释t-SNE相比原始SNE的三大改进:对称SNE、t分布引入和梯度简化,并说明困惑度(Perplexity)参数的作用。
回答
苦行僧
t-SNE相比SNE的三大改进:
1. 对称SNE:
- 原始SNE用非对称条件概率p_{j|i} ≠ p_{i|j},梯度复杂
- t-SNE使用对称联合概率p_{ij} = (p_{j|i}+p_{i|j})/(2n)
- 梯度形式简化,优化更稳定
2. t分布引入(核心改进):
- 低维空间用t分布(自由度1的Student-t分布,即Cauchy分布)替代高斯分布
- t分布尾部更厚 → 低维空间中相距较远的点仍保持距离信息
- 解决"拥挤问题"(Crowding Problem):高维空间的中等距离在低维空间被过分挤压
- q_{ij} = (1+||y_i-y_j||²)^{-1} / Σ_{k≠l}(1+||y_k-y_l||²)^{-1}
3. 梯度简化:
- 梯度 = 4Σ(p_{ij}-q_{ij})(y_i-y_j)(1+||y_i-y_j||²)^{-1}
- 物理意义:所有点对之间的弹簧力,力的大小与概率差成正比
困惑度(Perplexity):
- 定义:perp = 2^{H(P_i)},H(P_i)为条件概率分布的熵
- 控制每个点考虑的有效邻居数,通常设为5-50
- 太小→局部结构(小簇繁多),太大→全局结构
- 对结果敏感,建议尝试多个困惑度值验证稳定性