草稿
随机邻居嵌入
通过匹配高维和低维中的邻居概率来保留局部邻域。
algorithm intermediate machine-learningdimensionality-reductionvisualization
钩子问题:全局距离要求太高
在高维中,想把每个距离都准确保留到二维地图里,往往不现实。为了探索数据,一个更有用的承诺是局部的:让每个点可能的邻居仍然靠近。
随机邻居嵌入(Stochastic Neighbor Embedding,SNE)把邻域变成概率,并尝试匹配这些概率。
低维邻居相似度
低维邻居相似度
低维邻居相似度
第一个朴素想法:保留精确距离
保距离地图会同时对抗许多约束。如果学习者主要想看局部群组,精确全局距离可能不是正确目标。
核心发明:匹配邻居概率
对点 i,SNE 定义点 j 被选为它邻居的概率:
然后它搜索低维点,使低维概率接近高维概率,并最小化二者之间的 KL 散度。
追踪实验室
SNE 询问高维中哪些点会把彼此当作邻居。
近邻对概率更高
实现草图
convert high-dimensional distances into neighbor probabilities;
initialize low-dimensional coordinates;
compute low-dimensional neighbor probabilities;
move points to reduce KL divergence;
常见混淆
- SNE 更擅长保留局部邻域,而不是全局比例。
- 图中的坐标轴没有原始特征含义。
- 二维拥挤问题会引出 t-SNE 的重尾修补。
保留中心化数据变化最大的方向。
摆放点,让低维距离尽量模仿原始距离表。
先用邻居图最短路估计流形距离,再做类似 MDS 的布局。
利用标签寻找投影方向,让类均值分开,同时让类内保持紧。
让每个类别保留自己的协方差,形成二次边界,而不是一个共享投影。
匹配高维与低维中的邻居概率。
用低维重尾相似度修补 SNE 的拥挤问题。
构造模糊邻居图,再优化具有相似成员强度的低维图。
练习
- SNE 为什么使用概率,而不是直接使用原始距离?
- 较高的
p_{j|i}表示什么? - t-SNE 修补了什么失败?
图谱连接 : 随机邻居嵌入