为MinHash优于SimHash辩护
统计计算
2014-07-17 v1 数据结构与算法
信息检索
机器学习
机器学习
摘要
MinHash和SimHash是两种广泛采用的局部敏感哈希(LSH)算法,用于大规模数据处理应用。对于手头的特定问题,决定使用哪种LSH是一个重要问题,现有文献中没有明确答案。在本研究中,我们提供了一个理论答案(经实验验证):当数据为二进制时(如搜索中的常见情况),MinHash几乎总是优于SimHash。MinHash的碰撞概率是相似度(R)的函数,而SimHash的碰撞概率是余弦相似度(S)的函数。为了提供比较的共同基础,我们根据S评估MinHash和SimHash的检索结果。这种评估是有效的,因为我们可以证明MinHash是关于S的有效LSH,使用一般不等式S^2 ≤ R ≤ S/(2-S)。我们的最坏情况分析表明,在高相似度区域,MinHash显著优于SimHash。有趣的是,我们的密集实验表明,即使在大多数数据点彼此不太相似的数据集中,MinHash也明显优于SimHash。部分原因是,在实际数据中,通常R ≥ S/(z-S)成立,其中z仅略大于2(例如z≤2.1)。我们通过假设S/(z-S) ≤ R ≤ S/(2-S)进行限制性最坏情况分析,表明即使在低相似度区域,MinHash也确实显著优于SimHash。我们相信本文的结果将为实际搜索提供有价值的指导,特别是当数据稀疏时。
引用
@article{arxiv.1407.4416,
title = {In Defense of MinHash Over SimHash},
author = {Anshumali Shrivastava and Ping Li},
journal= {arXiv preprint arXiv:1407.4416},
year = {2014}
}