微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在非标记数据集上使用 MLP 进行聚类

如何解决在非标记数据集上使用 MLP 进行聚类

如何使用多层感知器在非标记数据集上进行 K-Means 等聚类。 我有标签的 MNIST 数据集,但我想用 MLP 执行聚类算法。 有什么想法吗?

解决方法

编辑:如果问题仅限于仅使用 MLP,我认为您正在寻找可区分的聚类目标。 (由于找到质心部分,K-Means 目标是不可微的)。我认为这不是聚类的“主流”方法,但肯定似乎有一些工作可以使用深度网络来优化聚类(可微分)目标:

  1. Differentiable Deep Clustering with Cluster Size Constraints "我们利用最优传输和 k-means 之间的联系,并依靠熵正则化来 推导出一个完全可微的聚类损失,可以是 在 (P) 中使用并直接使用 SGD 进行优化”。因此您可以将 SGD 应用于 MLP,MLP 是使用这种损失的最佳架构吗?取决于您的数据。

我能想到的另一种使用 ANN 的方法是 self-organizing maps (or Kohonen maps)。这取决于你对 MLP 的定义有多宽松,你当然可以在输入层和输出特征图之间添加一堆层。

您可以潜在地使用 MLP 将您的数据嵌入到向量空间中,您可以使用它来计算 KMeans 期间的某些度量(例如欧几里德距离),这可能有意义也可能没有意义,具体取决于您如何计算嵌入和数据集。

您可以在没有标签的情况下使用自动编码器来完成此操作,尽管这比简单的 MLP 稍微复杂一些:

enter image description here

虽然这可能有点矫枉过正,但这确实取决于问题。考虑首先对您的数据进行 KMeans(无 MLP)。如果问题足够复杂,将数据移动到潜在空间是可行的,这基本上就是 word2vec 所做的,人们用它进行聚类和各种事情(参见 this

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。