k-means与LSH算法

时间:2016-12-12 10:49:16

标签: machine-learning cluster-analysis data-mining k-means

我是数据挖掘和ML的新手。我想了解LSH的k-means有多么不同。在阅读了几篇在线提供的论文和其他资料后,似乎两种算法都试图实现类似文档的分组/聚类。对于垃圾邮件检测等用例,其中任何一种都被用于许多论文中。但是我不太清楚它们是如何不同的,如果我们将它用于垃圾邮件检测这样的用例,那么结果会有什么不同呢?

1 个答案:

答案 0 :(得分:1)

LSH不会对您的数据进行聚类。

适用于近似重复(!)检测。

  1. 设计LSH可能会产生误报" (哈希变种)根本不相似。
  2. LSH有一个阈值t,它只会尝试为低于此阈值的对象产生哈希冲突。为获得良好的性能,您需要选择尽可能小的阈值。对于群集,你需要能够在你的桶外找到对象(远远超过t) - 你不能用LSH可靠地做到这一点。
  3. LSH将随机放置铲斗边界;你没有注意到这一点的唯一原因是你多次这样做,并希望并非所有这些都被严重挑选。所以你只能几乎所有近邻。甚至可能只有90%,具体取决于您的参数。由于每个对象都在多个存储桶中,它的集群会是什么?你会得到大量重叠的集群'每个只包含数据的某些部分。它很清楚如何从中有效地找到好的集群。
  4. LSH 真的关于"几乎相同"对象,而不是在数据中找到更大的结构。

    我不认为垃圾邮件检测是一个很好的用例 - 你知道任何垃圾邮件过滤器实际上会这样做吗? 例如,近似重复的新闻检测。然而谷歌新闻与某种LSH有关;据说他们正在使用minhashing。