局部敏感哈希

局部敏感哈希Locality Sensitive Hashing, LSH()

匿名 (未验证) 提交于 2019-12-02 22:56:40
LSH最根本的目的是能高效处理海量 高维数据 的 最近邻 问题。在信息检索,数据挖掘以及推荐系统等应用中,我们经常会遇到的一个问题就是海量的高维数据查找最近邻。不同于我们在数据结构教材中对哈希算法的认识,哈希最开始是为了减少冲突方便快速增删改查,在这里LSH恰恰相反,它利用的正是哈希冲突加速检索,并且效果极其明显。 LSH(局部敏感哈希)函数使得2个相似度很高的数据以较高的概率映射成同一个hash值,而2个相似度很低的数据以极低的概率映射成同一个hash值。 定义 3 : 给定一族哈希函数 H H , H H 是一个从欧式空间 S S 到哈希编码空间 U U 的映射。如果以下两个条件都满足,则称此哈希函数满足 ( r 1 , r 2 , p 1 , p 2 ) ( r 1 , r 2 , p 1 , p 2 ) 性。 如果 d ( O 1 , O 2 ) < r 1 d ( O 1 , O 2 ) < r 1 ,那么 P r [ h ( O 1 ) = h ( O 2 ) ] ≥ p 1 P r [ h ( O 1 ) = h ( O 2 ) ] ≥ p 1 如果 d ( O 1 , O 2 ) > r 2 d ( O 1 , O 2 ) > r 2 ,那么 P r [ h ( O 1 ) = h ( O 2 ) ] ≤ p 2 P r [ h ( O 1 ) = h ( O 2

局部敏感哈希LSH(Locality-Sensitive Hashing)——海量数据相似性查找技术

旧巷老猫 提交于 2019-12-01 17:16:22
一、 前言     最近在工作中需要对海量数据进行相似性查找,即对微博全量用户进行关注相似度计算,计算得到每个用户关注相似度最高的TOP-N个用户,首先想到的是利用简单的协同过滤,先定义相似性度量(cos,Pearson,Jaccard),然后利用通过两两计算相似度,计算top-n进行筛选,这种方法的时间复杂度为 \(O(n^2)\) (对于每个用户,都和其他任意一个用户进行了比较)但是在实际应用中,对于亿级的用户量,这个时间复杂度是无法忍受的。同时,对于高维稀疏数据,计算相似度同样很耗时,即 \(O(n^2)\) 的系数无法省略。这时,我们便需要一些近似算法,牺牲一些精度来提高计算效率,在这里简要介绍一下MinHashing,LSH,以及Simhash。 二、 MinHashing     Jaccard系数是常见的衡量两个向量(或集合)相似度的度量: \[ J(A,B)=\frac {\left | A\cap B \right |}{\left | A\cup B \right |} \]     为方便表示,我们令A和B的交集的元素数量设为 \(x\) ,A和B的非交集元素数量设为 \(y\) ,则Jaccard相似度即为 \()\frac x {(x+y)}\) 。 所谓的MinHsah,即进行如下的操作: 对A、B的 \(n\) 个维度,做一个随机排列(即对索引 \(

(转载)图像检索:基于内容的图像检索技术

Deadly 提交于 2019-11-28 12:28:21
图像检索:基于内容的图像检索技术 背景与意义 在Web2.0时代,尤其是随着Flickr、Facebook等社交网站的流行,图像、视频、音频、文本等异构数据每天都在以惊人的速度增长。例如, Facebook注册用户超过10亿,每月上传超过10亿的图片;Flickr图片社交网站2015年用户上传图片数目达 7.28亿 ,平均每天用户上传约200万的图片;中国最大的电子商务系统淘宝网的后端系统上保存着286亿多张图片。针对这些包含丰富视觉信息的海量图片,如何在这些浩瀚的图像库中方便、快速、准确地查询并检索到用户所需的或感兴趣的图像,成为多媒体信息检索领域研究的热点。基于内容的图像检索方法充分发挥了计算机长于处理重复任务的优势,将人们从需要耗费大量人力、物力和财力的人工标注中解放出来。经过十来来的发展,基于内容的图像检索技术已广泛应用于搜索引擎、电子商务、医学、纺织业、皮革业等生活的方方面面。 图像检索按描述图像内容方式的不同可以分为两类,一类是基于文本的图像检索(TBIR, Text Based Image Retrieval),另一类是基于内容的图像检索(CBIR, Content Based Image Retrieval)。 基于文本的图像检索方法始于上世纪70年代,它利用文本标注的方式对图像中的内容进行描述,从而为每幅图像形成描述这幅图像内容的关键词,比如图像中的物体、场景等