t-SNE 是一种非线性降维技术,擅长将高维数据映射到二维或三维空间进行可视化,特别适合揭示数据的聚类结构。
核心思想
t-SNE 的目标:在低维空间中,保持高维空间中相似点的邻近关系。
形象比喻:
- PCA:绘制世界地图,保持全局结构(大洲位置),但可能扭曲局部
- t-SNE:绘制城市街区地图,精确保持局部结构(邻近建筑),牺牲全局位置
工作原理
- 高维空间度量相似性:使用高斯分布计算点对之间的条件概率
- 低维空间构建相似性:使用 t 分布(尾部更厚重,解决"拥挤问题")
- 最小化分布差异:通过梯度下降最小化 KL 散度
特点与参数
| 特性 | 说明 |
|---|---|
| 优势 | 保留局部结构,能发现复杂聚类模式 |
| 局限 | 计算成本高,结果有随机性,坐标轴无明确含义,不能处理新数据 |
关键参数:
| 参数 | 说明 | 建议值 |
|---|---|---|
perplexity | 每个点考虑的近邻数 | 5-50 |
learning_rate | 优化步长 | 需调试 |
n_iter | 迭代次数 | 足够大确保收敛 |
与 PCA 对比
| 特性 | t-SNE | PCA |
|---|---|---|
| 核心思想 | 非线性,保留局部结构 | 线性,保留全局结构 |
| 最佳用途 | 数据可视化,探索聚类 | 数据压缩、去噪、特征提取 |
| 计算效率 | 较慢 | 非常快 |
| 可解释性 | 坐标轴无明确含义 | 主成分有方差贡献度 |
代码示例
| |
结果解读
- 同色点聚集清晰、异色点分离良好 → 聚类效果好
- 不同颜色混杂 → 聚类效果不理想,需调整参数
perplexity=30 对中等规模数据(约 1000 点)通常合理,可视效果不佳时可调整该参数和 learning_rate。
张芷铭的个人博客
Comments