原文地址:https://blog.csdn.net/guoziqing506/article/details/53019049 LSH(Locality Sensitive Hashing)翻译成中文,叫做“局部敏感哈希”,它是一种针对海量高维数据的快速最近邻查找算法. 在信息检索,数据挖掘以及推荐系统等应用中,我们经常会遇到的一个问题就是面临着海量的高维数据,查找最近邻.如果使用线性查找,那么对于低维数据效率尚可,而对于高维数据,就显得非常耗时了.为了解决这样的问题,人们设计了一种特殊的ha…
1. 基本思想 局部敏感(Locality Senstitive):即空间中距离较近的点映射后发生冲突的概率高,空间中距离较远的点映射后发生冲突的概率低. 局部敏感哈希的基本思想类似于一种空间域转换思想,LSH算法基于一个假设,如果两个文本在原有的数据空间是相似的,那么分别经过哈希函数转换以后的它们也具有很高的相似度:相反,如果它们本身是不相似的,那么经过转换后它们应仍不具有相似性. 假设一个局部敏感哈希函数具有10个不同的输出值,而现在我们具有11个完全没有相似度的数据,那么它们经过这个哈希函…
局部敏感哈希(Locality Sensitive Hashing,LSH)算法是我在前一段时间找工作时接触到的一种衡量文本相似度的算法.局部敏感哈希是近似最近邻搜索算法中最流行的一种,它有坚实的理论依据并且在高维数据空间中表现优异.它的主要作用就是从海量的数据中挖掘出相似的数据,可以具体应用到文本相似度检测.网页搜索等领域. 1. 基本思想 局部敏感哈希的基本思想类似于一种空间域转换思想,LSH算法基于一个假设,如果两个文本在原有的数据空间是相似的,那么分别经过哈希函数转换以后的它们也具有很高…
局部敏感哈希 转载请注明http://blog.csdn.net/stdcoutzyx/article/details/44456679 在检索技术中,索引一直须要研究的核心技术.当下,索引技术主要分为三类:基于树的索引技术(tree-based index).基于哈希的索引技术(hashing-based index)与基于词的倒排索引(visual words based inverted index)[1]. 本文主要对哈希索引技术进行介绍. 哈希技术概述 在检索中.须要解决的问题是给定一…
from:https://www.cnblogs.com/maybe2030/p/4953039.html 阅读目录 1. 基本思想 2. 局部敏感哈希LSH 3. 文档相似度计算 局部敏感哈希(Locality Sensitive Hashing,LSH)算法是我在前一段时间找工作时接触到的一种衡量文本相似度的算法.局部敏感哈希是近似最近邻搜索算法中最流行的一种,它有坚实的理论依据并且在高维数据空间中表现优异.它的主要作用就是从海量的数据中挖掘出相似的数据,可以具体应用到文本相似度检测.网页搜…
Motivation The task of finding nearest neighbours is very common. You can think of applications like finding duplicate or similar documents, audio/video search. Although using brute force to check for all possible combinations will give you the exact…
1. 概述 LSH是由文献[1]提出的一种用于高效求解最近邻搜索问题的Hash算法.LSH算法的基本思想是利用一个hash函数把集合中的元素映射成hash值,使得相似度越高的元素hash值相等的概率也越高.LSH算法使用的关键是针对某一种相似度计算方法,找到一个具有以上描述特性的hash函数.LSH所要求的hash函数的准确数学定义比较复杂,以下给出一种通俗的定义方式: 对于集合S,集合内元素间相似度的计算公式为sim(*,*).如果存在一个hash函数h(*)满足以下条件:存在一个相似度s到概…
1. 引言 - 近似近邻搜索被提出所在的时代背景和挑战 0x1:从NN(Neighbor Search)说起 ANN的前身技术是NN(Neighbor Search),简单地说,最近邻检索就是根据数据的相似性,从数据集中寻找与目标数据最相似的项目,而这种相似性通常会被量化到空间上数据之间的距离,例如欧几里得距离(Euclidean distance),NN认为数据在空间中的距离越近,则数据之间的相似性越高. 当需要查找离目标数据最近的前k个数据项时,就是k最近邻检索(K-NN). 0x2:NN的…
一. 近邻搜索 从这里开始我将会对LSH进行一番长篇大论.因为这只是一篇博文,并不是论文.我觉得一篇好的博文是尽可能让人看懂,它对语言的要求并没有像论文那么严格,因此它可以有更强的表现力. 局部敏感哈希,英文locality-sensetive hashing,常简称为LSH.局部敏感哈希在部分中文文献中也会被称做位置敏感哈希.LSH是一种哈希算法,最早在1998年由Indyk在[1]上提出.不同于我们在数据结构教材中对哈希算法的认识,哈希最开始是为了减少冲突方便快速增删改查,在这里LSH恰恰相…
在对大批量数据进行图像处理的时候,比如说我提取SIFT特征,数据集为10W张图片,一个SIFT特征点是128维,一张图片提取出500个特征点,这样我们在处理的时候就是对5000万个128维的数据进行处理,这样处理所需要的耗时太长了,不符合实际生产的需要.我们需要用一种方法降低运算量,比如说降维. 看了一些论文,提到的较多的方法是LSH(Locality Sensitive Hash),就是局部敏感哈希.我们利用LSH方法在5000万个特征点中筛选出极少量的我们需要的特征点,在对这些极少量的数据进…
Locality Sensitive Hash是一种常见的用于处理高维向量的索引办法.与其它基于Tree的数据结构,诸如KD-Tree.SR-Tree相比,它较好地克服了Curse of Dimension,能够将KNN的时间复杂度缩减到sub-linear.LSH多被用于文本.多媒体(图像.音频)的相似性判断.请看下图: 参考上图,如果我们要返回距离中心为r的点,LSH会返回给我们范围更远.更多的点,也就是说,LSH返回的结果会带有一定的false positive.我们或许需要使用linea…
原理介绍: consistent hashing原理介绍来自博客:http://blog.csdn.net/sparkliang/article/details/5279393, 多谢博主的分享 consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛: 1 基本场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 objec…
Is there any Java library that provides an implementation (or several) of a Locality Preserving Hash Function for Strings? 有没有Java类库提供Locality Perserving Hash方法的实现? ABSTRACT摘要State-of-the-art hashing methods, such as the kernelised locality-sensitive…
引入 在业务开发中,我们常把数据持久化到数据库中.如果需要读取这些数据,除了直接从数据库中读取外,为了减轻数据库的访问压力以及提高访问速度,我们更多地引入缓存来对数据进行存取.读取数据的过程一般为: 图1:加入缓存的数据读取过程 对于分布式缓存,不同机器上存储不同对象的数据.为了实现这些缓存机器的负载均衡,可以使用式子1来定位对象缓存的存储机器: m = hash(o) mod n ——式子1 其中,o为对象的名称,n为机器的数量,m为机器的编号,hash为一hash函数.图2中的负载均衡器(l…
一. 前言     最近在工作中需要对海量数据进行相似性查找,即对微博全量用户进行关注相似度计算,计算得到每个用户关注相似度最高的TOP-N个用户,首先想到的是利用简单的协同过滤,先定义相似性度量(cos,Pearson,Jaccard),然后利用通过两两计算相似度,计算top-n进行筛选,这种方法的时间复杂度为\(O(n^2)\)(对于每个用户,都和其他任意一个用户进行了比较)但是在实际应用中,对于亿级的用户量,这个时间复杂度是无法忍受的.同时,对于高维稀疏数据,计算相似度同样很耗时,即\(O…
图像检索中,对一幅图像编码后的向量的维度是很高.以VLAD为例,基于SIFT特征点,设视觉词汇表的大小为256,那么一幅图像编码后的VLAD向量的长度为$128 \times 256 = 32768 $.通常要对编码后的VLAD向量进行降维,降维后的向量长度应该根据图像库中图像量的大小来,如果只是几百张的小的图像库,那么可以降维到128甚至是64维,在这种情况下降维后的VLAD向量仍然有很好的区分度:但是如果图片库的数量是几千,几万张,如果VLAD降维的维度太低,损失的信息过多,就不能有很好的区…
华盛顿大学 <机器学习> 笔记. knn k-nearest-neighbors : k近邻法 给定一个 数据集,对于查询的实例,在数据集中找到与这个实例最邻近的k个实例,然后再根据k个最邻近点预测查询实例的类别. <统计学习方法>中这样描述的: K近邻模型是基于训练数据集 对 特征空间的一个划分. 当k =1 ,为一种特殊情况,称为最邻近法. Knn算法实现的三个重要问题: 距离度量选择.k值选择,分类决策方法. 1. 距离度量选择 常用的距离度量有欧式距离.曼哈顿距离等. &l…
目标 在本章中,我们将看到BRIEF算法的基础知识 理论 我们知道SIFT使用128维矢量作为描述符.由于它使用浮点数,因此基本上需要512个字节.同样,SURF最少也需要256个字节(用于64像素).为数千个功能部件创建这样的向量会占用大量内存,这对于资源受限的应用程序尤其是嵌入式系统而言是不可行的.内存越大,匹配所需的时间越长. 但是实际匹配可能不需要所有这些尺寸.我们可以使用PCA,LDA等几种方法对其进行压缩.甚至使用LSH(局部敏感哈希)进行哈希的其他方法也可以将这些SIFT描述符中的…
对于有想法改良描述子却无从下手的同学还是比较有帮助的. Abstract 在这个文章中我们提出了一种嵌入continues and selector(感觉就是analogue和digital的区别)线索到binary feature descriptor (比如ORB用的BRIEFF) 这种嵌入方式是通过一个二进制string来延长描述子,这个二进制string编码了这个cues,并且支持hamming distance metric. (厉害了,一直想学学看如果设计描述子,如果能把语义的信息编…
Minhash算法及其应用 一.引言 MinHash算法属于Locality Sensitive Hashing,用于快速估计两个集合的相似度.最早由Broder Andrei Z. 在1997年提出,最初在AltaVista搜索引擎中用于在搜索结果中检测并消除重复Web页面.如今广泛应用于大数据集的相似检索.推荐系统.聚类分析等中. Minhash算法 计算两个集合相似度最简单的方法之一是Jaccard距离,其公式如下: 例如集合A = {s1, s2, s3, s4, s5}和B = {s1…
摘要:近来,增大模型规模成为了提升模型性能的主要手段.特别是NLP领域的自监督预训练语言模型,规模越来越大,从GPT3的1750亿参数,到Switch Transformer的16000亿参数,又是一个数量级的增加. 本文分享自华为云社区<一文带你了解MindSpore支持的万亿级参数超大模型关键技术!>,原文作者:HWCloudAI . 前言 近来,增大模型规模成为了提升模型性能的主要手段.特别是NLP领域的自监督预训练语言模型,规模越来越大,从GPT3的1750亿参数,到Switch Tr…
http://blog.csdn.net/pipisorry/article/details/48858661 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Leskovec courses学习笔记之 Locality-Sensitive Hashing(LSH) 局部敏感哈希 {This is the first half of discussion of a powerful technique for focusing search on things…
感谢大神们的无私奉献精神........因此笔者要坚持开源,专注开源,开源就像在HPU的考试中不像其他人作弊一样,长远来看,会有巨大收获. 一.背景介绍 1.1 相似性搜索简介 高维相似性搜索在音频.图形和传感器数据等特征丰富的数据的基于内容的检索中日益重要,一般来说应用在KNN和ANN. 一个针对相似性搜索的理想索引策略应满足如下特性. 准确性:返回的结果要和BF返回的结果近似,用查全率表示. 时空:查询时间要是o(1)或者o(logn),空间上不能比源数据还要多,对于大数据,要在主存的容忍范…
原文链接:http://grunt1223.iteye.com/blog/828192 参考:人工智能,一种现代方法 第 617页,且原始论文给出了完整的证明过程.在ANN方法中,LSH算一种可靠的紧邻算法.少量检索使用KNN.大量检索使用K-Dtree.海量检索使用LSH,超海量检索使用...... 一.引言 多媒体识别是信息检索中难度较高且需求日益旺盛的一个问题.以图像为例,按照图像检索中使用的信息区分,图像可以分为两类:基于文本的图像检索和基于内容识别的图像检索(CBIR:Content…
一.引入 在做微博文本挖掘的时候,会发现很多微博是高度相似的,因为大量的微博都是转发其他人的微博,并且没有添加评论,导致很多数据是重复或者高度相似的.这给我们进行数据处理带来很大的困扰,我们得想办法把找出这些相似的微博,再对其进行去重处理. 如果只是要找到重复的微博,我们可以用两两比较所有的微博,对相同的微博值保留一条即可:但这只能在数据量很小的情况下才有可能,当我们有1000万条微博时,需要两两比较的微博有10^6亿(n*(n-1)/2)对,这个计算量是惊人的,即便你用map-reduce,拥…
CVPR14 图像检索papers——图像检索 1.  Triangulation embedding and democratic aggregation for imagesearch (Orals) 2.  Collaborative Hashing (post) 3.  Packing and Padding: Coupled Multi-index for Accurate ImageRetrieval (post) technical report 4.  Bayes Merging…
下面的这份哈希算法小结来源于本周的周报,原本并没有打算要贴出来的,不过,考虑到这些资源属于关注利用哈希算法进行大规模图像搜索的各位看官应该很有用,所以好东西本小子就不私藏了.本资源汇总最主要的收录原则是原作者主页上是否提供了源代码,为了每种方法的资料尽可能完整,本小子会尽可能的除提供源码下载地址外,还会给出PDF文章的链接.项目主页,slide等. 对哈希方法重新进行调研,右图是找到的提供有部分源码的哈希方法,这其中包含了比较经典的哈希方法,比如e2lsh.mih,同时也包含有最近几年一直到13…
阅读目录 1. SimHash与传统hash函数的区别 2. SimHash算法思想 3. SimHash流程实现 4. SimHash签名距离计算 5. SimHash存储和索引 6. SimHash存储和索引 7. 参考内容 在之前的两篇博文分别介绍了常用的hash方法([Data Structure & Algorithm] Hash那点事儿)以及局部敏感hash算法([Algorithm] 局部敏感哈希算法(Locality Sensitive Hashing)),本文介绍的SimHas…
位姿检索使用了LSH方法,而不使用PNP方法,是有一定的来由的.主要的工作会转移到特征提取和检索的算法上面来,有得必有失.因此,放弃了解析的方法之后,又放弃了优化的方法,最后陷入了检索的汪洋大海. 0:转自wiki:http://en.wikipedia.org/wiki/Locality_sensitive_hashing 以下参考资料仅供参考:LSH理解及相关资料:http://s99f.blog.163.com/blog/static/35118365201262691335382/ 有一…
what has been done: This paper proposed a novel Deep Supervised Hashing method to learn a compact similarity-presevering binary code for the huge body of image data. Data sets:  CIFAR-10: 60,000 32*32 belonging to 10 mutually exclusively categories(6…