看到t-SNE很好地分离了类别后,应该使用哪种分类算法?


12

假设我们有一个分类问题,首先我们要从数据中获取一些见识,然后进行t-SNE。t-SNE的结果很好地分隔了各个类。这意味着可以建立分类模型,该模型也可以很好地分离类(如果t-SNE不能很好地分离,则意味着没有太大的区别)。

知道t-SNE专注于局部结构并且可以很好地分离类:什么是分类算法才能很好地解决此问题?Scikit建议使用具有高斯RBF内核的SVM,但还有哪些呢?


3
(+1)个K近邻可能是一个非常简单且易于实现的自然选择。
变形虫说莫妮卡(Monica)恢复职权

Answers:


7

首先是一个简短的答案,然后是更长的评论:

回答

SNE技术以原始相似空间在对象对上形成概率分布的方式,在原始数据空间和低维嵌入空间中计算N×N相似性矩阵。具体而言,概率通常由根据输入数据或嵌入计算出的归一化高斯核给出。在分类方面,这立即使人想到基于实例的学习方法。您已列出其中之一:具有RBF的SVM,而@amoeba已列出kNN。还有径向基函数网络,我不是专家。

评论

话虽如此,我将仅在查看t-SNE图的情况下对数据集进行推断时会倍加小心。t-SNE不一定专注于本地结构。但是,您可以通过调整perplexity参数来调整它,以调节(宽松地)如何平衡数据的局部和全局方面之间的注意力。

在这种情况下,perplexity它本身就是黑暗中的刺探,即每个观测值可能具有多少个并且由用户提供的近邻。的原始论文中指出:“T-SNE的性能是相当稳健在困惑的变化,典型值是在5和50之间” 但是,我的经验是,从t-SNE中获得最大收益可能意味着分析具有不同困惑度的多个图。

换句话说,对于相同数量的训练步骤和使用相同的数据,调整learning rateperplexity,可以获得看起来非常不同的二维绘图。

蒸馏如何使用T-SNE有效地使T-SNE分析常见的陷阱的大汇总。总结点是:

  1. 这些超参数(例如学习率,困惑)确实很重要

  2. t-SNE图中的簇大小没有任何意义

  3. 群集之间的距离可能没有任何意义

  4. 随机噪声并不总是看起来随机。

  5. 有时您会看到一些形状

  6. 对于拓扑,您可能需要多个图

特别是从上面的第2、3和6点开始,我将三思而后行,通过查看各个t-SNE图来推断数据的可分离性。在许多情况下,您可以使用正确的参数“制造”显示清晰聚类的图。


1
Berkmeister:您所做的一切都有意义。我的问题很容易描述:我想使分类模型尽可能地好。如何使用它来改善模型的质量?我最好的猜测是t-SNE可以“建议”哪种方法可能与给定的问题有关。
Tomek Tarczynski

2
请参阅基于实例的学习方法的编辑,它将与您从t-SNE图中获得的任何线索兼容。
朱巴卜

2
(+1):感谢您的回答,我正是在寻找这个。我会在两天内接受答案。
Tomek Tarczynski
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.