Inverted Multi-Index
来源:互联网 发布:在线c语言编译器 编辑:程序博客网 时间:2024/05/29 03:50
Inverted Multi-Index
简介
Inverted Multi-index是Artem Babenko 和 Victor Lempitsky发表的一篇论文,论文起初发表在CVPR2012上,后来又增加了内容,又发表在2014的PAMI上,被引用的次数很高。
论文地址如下所示:
CVPR2012
PAMI 2014
引言
分析整篇文章,总结下来想法还是很直观。首先分析传统的倒排索引,在传统的倒排索引中,我们这样做:
- 首先N个M维的数据,首先进行K-means聚类,会生成K个聚类
- 将原始的每个M维的数据分别和K个聚类中心进行比较,然后找出距离最小的聚类。
- 会生成如下所示的索引结构,方框代表聚类中心,圆代表聚类中同一类的数据。
但是原始的倒排索引是在全维度上进行聚类,qurey时候先计算与聚类中心centroids的距离,然后计算centroids内的database与query的距离,避免了O(n)的搜索规模。然而,如果数据比较分散,没有出现明显的数据簇,直接进行聚类,数据将会非常稀疏。导致在查询的过程中,会只关注centroids内的点,然而忽视了实际很近的数据点。如下图所示:
所以,在论文中作者提出了一种新型的索引结构,将原始的数据进行维度划分,然后在各个维度中进行K-means聚类,将database中的数据映射到各个空间的centroids上,query时通过计算数据与database的centroids距离进行排序,返回K个紧邻。进行这种划分,一个最大的优势就是,采用了更精细的子空间划分,提高了检索的召回率。
Iverted Multi-Index
受到product quantization的思想启发,作者将原始的数据N×M维数据
上述的
索引表建立以后,来了查询q以后,我们要得到距离q最近的k个邻居,由于
经过试验发现Multi-D-ADC比Multi-ADC有更高的召回率,Multi-ADC比Multi-D-ADC的计算速度更快。
总结
和Inverted index相比,由于
参考文献
- The Inverted Multi-Index Artem Babenko 1,2 and Victor Lempitsky Pami 2014
参考博客1
参考博客2
- The Inverted Multi-Index
- Inverted Multi-Index
- Inverted Index
- Inverted Index
- Inverted Index in practice
- Python implement inverted index
- MapReduce Inverted index
- LintCode Inverted Index
- 反向索引(Inverted Index)
- 倒排索引(Inverted index)
- 倒排索引(Inverted Index)
- 反向索引(Inverted Index)
- 在信息检索中应用Inverted Index
- 倒排索引(Inverted File Index )
- Pinot中的Inverted Index源码分析
- Inverted Index(倒排索引)
- Boost 之Multi-index
- 搜索引擎技术之反向索引设计(inverted index):
- [Jquery]Cannot read property 'msie' of undefined
- UC/OS-II的中断和时钟
- java集合框架系列---Iterator和Enumeration比较
- Mongodb启动问题
- virtualenv的简单用法
- Inverted Multi-Index
- UVA 247 - Calling Circles(floyd判断包闭 ,dfs输出)
- vue.js视频教程,vue.js视频教程下载
- POJ 2155 Matrix
- an important method -- quicksort
- 大型SpringMVC,Mybatis,Redis,Solr,Nginx,SSM分布式电商项目视频教程下载
- Windwos密码导出的几种姿势
- DDC及EDID内容简介
- 门面模式