首页 / 专利库 / 电脑编程 / K最近邻算法 / 一种高维矢量数据快速相似检索方法

一种高维矢量数据快速相似检索方法

阅读:290发布:2022-01-04

专利汇可以提供一种高维矢量数据快速相似检索方法专利检索,专利查询,专利分析的服务。并且本 发明 为一种高维矢量数据的快速相似性检索 算法 。在本发明中,提出了一种新的高维数据索引结构Ordered VA-File,它对VA-File中的近似矢量进行排序重组,将在高维空间中聚集在一起的数据尽量存储在文件的相邻 位置 中,并根据实际应用将Ordered VA-File自适应分割为一定数量的类,每一类的数据在文件中是连续存储的。查询时,仅选择距离查询矢量最近的几类数据进行查询处理,从而大大提高查询的效率,而且可根据实际应用对查询结果 精度 的不同要求调整需要查询的类数量。本发明方法可大大减少磁盘 访问 代价,提高查询效率。,下面是一种高维矢量数据快速相似检索方法专利的具体信息内容。

1、一种实现高维矢量数据快速相似检索的方法,其特征在于具体步骤如下:
(1)按照一定的规则将矢量近似文件中的近似矢量排序重组,该规则就是将待插入 近似矢量数据插入到这样的位置:待插入的近似矢量与该位置前后各m个近似矢量的平 均距离最小,称这种排序后的矢量近似文件为有序化矢量近似文件;
(2)对有序化矢量近似文件中进行聚类分割,每一类的近似矢量数据在有序化矢 量近似文件中是连续存储的,类内近似矢量数据的距离比较近,类间近似矢量数据的距 离较远,取每一类数据的均值为类中心矢量,并将所有类中心矢量存放在主存中;
(3)检索时首先计算待查询矢量和每个类中心矢量之间的距离;
(4)选择距离最小的L类,计算查询矢量与上面选择的L类中的近似矢量之间的距 离,选择距离最小的k个近似矢量所对应的对象作为近似k近邻查询的结果集,
步骤(2)中,有序化矢量近似文件进行聚类分割采用如下算法:设包含n个矢量的有 序化矢量近似文件记为 将其分隔为N类的方法如下:
A、计算每个近似矢量与其前一个位置的近似矢量之间的距离,记为 (dist1,dist2,...,distn-1),其中 dist i = D ( v i , v i - 1 ) , i>0,D为矢量之间距离度量方法;
B、对每个矢量,计算上面得到的距离与其前后各m个距离平均值之间的比例,记 为(ratio1,ratio2,...,ration-1),其中 ratio i = dist i / , Σ dist j max ( i - m , 0 ) j min ( i + m , n - 1 ) , j i , 其中i>0;
C、选择上一步中计算得到的最大的N-1个比例对应的位置,以这N-1个位置为分割 点,将整个有序化矢量近似文件分割为N类;
D、求每个类中近似矢量的均值作为类中心。
2、根据权利要求1所述的检索方法,其特征在于类划分数量N的确定原则:根据实际 应用中检索系统可使用的主存容量大小,选择尽可能大的N。
3、根据权利要求1所述的检索方法,其特征在于k近邻相似检索时访问的类数量L的 确定原则:如果对查询结果精度要求高,而不看重查询代价,则选择较大的L值;如果更 看重查询效率,则选择较小的L值。

说明书全文

技术领域

发明属于多媒体信息检索数据挖掘聚类分析数据处理领域,具体涉及一种用 于高维矢量数据快速相似检索的方法。

背景技术

最近10年来,高维矢量数据的相似性检索在多媒体信息检索领域、数据挖掘和聚类 分析等领域占据着越来越重要的地位。对于这些领域的很多实际应用来说,人们往往希 望从海量多媒体数据库中迅速找出与某个给定数据对象最相似或最相关的k个对象,即 所谓的k近邻查询。
实现k近邻查询的技术路线是:提取多媒体数据库中每个多媒体对象的特征矢量(通 常是高维的),用该矢量描述或刻画相应对象的内容,从而就得到特征矢量数据库;用同 样的特征提取算法抽取待查询对象的特征矢量;任意两个对象之间的相似或相关程度就用 它们所对应的特征矢量之间距离来度量;因此,k近邻相似查询就是在特征矢量数据库中 搜索k个最近距离的特征矢量,这k个特征矢量对应的多媒体对象就是期望的k近邻相似 查询的结果。
在实际应用中,描述对象内容的特征矢量维数从几十到几百甚至几千不等,实现k近 邻查询最简单直接的方法是顺序扫描(SScan),即:依次读取特征数据库中每个特征矢量, 计算每一个特征矢量和查询矢量之间距离,保留k个距离最小者,就得到最终查询结果。 当特征矢量的数据量较大时,整个特征数据库就必须存储在磁盘中,因此SScan就需要耗 费大量磁盘I/O和CPU计算代价。为了加速查询速度和提高查询效率,最常用方法就是借 助索引结构降低磁盘I/O和CPU计算代价。
人们为了实现高维矢量的快速相似性检索,提出了很多高维数据索引结构。R-Tree 类索引结构是受关注最多的一类多维索引结构。20世纪80年代Guttman将B+-Tree向多维 扩展提出了R-Tree[1],它利用树结构管理数据,每个内部节点为该节点中所有数据的最小 外接矩形(MBR:Minimal Bounding Rectangle),真实数据仅出现在叶子节点中。文[7]给 出了基于R-Tree的k近邻查询算法,它从根结点出发,通过计算查询矢量同各MBR之间 的最小距离MINDIST和最小最大距离MINMAXDIST实现对大量路径的取舍,仅查询可 能包含结果的子树,从而达到减少磁盘访问代价的目的。但是,R-Tree内部节点之间存在 着严重的重叠区域和死区域现象,影响了基于R-Tree的查询效率。为了提高R-Tree的性 能,相继提出R+-Tree[5]、R*-Tree[4]、X-Tree[6]、SS-Tree[2]、SR-Tree[3]等,但是这些树 形索引结构随着数据维数增加,查询性能迅速下降,当维数超过20后,甚至不如SScan 的性能,即面临所谓的“维数灾难”。
除采用树形索引结构之外,Webber等人在文[7]中提出了矢量近似文件(VA-File),它 将数据空间的每一维划分为若干量化区间,这样整个数据空间被分割为大量互不重叠的网 格,每个网格可用一个占用存储空间非常小的二进制比特串表示,每个高维矢量数据总是 落在其中一个网格中,就用这个网格对应的比特串近似表示原数据,这个比特串就称为近 似矢量,将这些近似矢量按照原顺序排列就形成VA-File。在VA-File上实现相似查询需经 过两个步骤:首先扫描VA-File中每一个近似矢量,根据查询矢量同每个近似矢量所代表 的网格之间的距离过滤除大量不符合查询条件的数据对象,保留候选者;然后再读取所有 候选者对应的原始矢量数据进行精确计算,就得到最终k近邻查询结果。可以看出,VA-File 只是采用简单的量化近似方法压缩原始矢量数据来减少磁盘IO代价,并没有采用任何复 杂的数据结构去组织管理量化后的近似矢量,对于许多实际应用中成簇分布的数据,查询 的第一步往往只能过滤掉比例不大的一部分数据,导致第二步的查询开销依然很大。此后, 为了继续提高查询效率,文[8]给出了基于VA-File实现近似k近邻检索的算法,其思想是 仅通过第一步查询得到的结果中与查询矢量下界距离最小的k个作为结果集返回,而不 读取原始数据进行精确的k近邻查寻,由于第一步计算得到的距离仅是一种近似距离, 因此这种查询得到的结果是近似k近邻。

发明内容

本发明的目的在于提出一种改进的VA-File近似k近邻查询算法,以进一步加快高维 矢量数据相似检索的速度。
本发明提出的高维矢量数据相似检索方法是在VA-File近似k近邻查询算法的基础 上,按照一定规则对VA-File进行排序重组,在进行近似k近邻查询时,不再像VA-File 那样对所有近似矢量进行扫描计算,而只是扫描和计算部分近似矢量,从而进一步加速 近似k近邻检索。我们称排序重组后的VA-File为Ordered VA-File(即有序化VA-File)。
本发明的步骤如下:(1)选用一定的规则对VA-File中的近似矢量进行组织:将待插 入近似矢量插入到一个特定位置,使得该矢量与这一位置附近的近似矢量的平均距离最 小,其目的是使得在高维空间中聚集在一起的数据尽量存放在文件相邻的空间中,其中 矢量间的距离计算可采用任意距离度量方法;(2)对排好序的近似矢量数据进行聚类分 割,得到若干个类中心矢量,每一类的近似矢量数据在Ordered VA-File中是连续存储, 类内近似矢量数据的距离比较近,类间近似矢量数据的距离比较远,并将类中心矢量存 储在系统主存中,每一个类中心矢量代表一段连续排列的近似矢量数据,即一个类中心 矢量与排序后的近似矢量数据文件中某个起始文件位置和结束文件位置二元组关联;(3) 检索时先计算待查询矢量与每个类中心矢量之间的距离,由于类中心矢量存储于主存中, 因此距离计算时不需要访问磁盘;(4)根据距离较小的那些类中心矢量得到它们在 Ordered VA-File中的起始位置和结束位置,扫描这些起始和结束位置之间连续存放的近 似矢量数据,就可以得到近似查询结果。因为不再扫描整个近似矢量数据文件,所以大 大减少磁盘访问代价,提高了查询速度。

具体实施方式

本发明中,对VA-File进行排序重组,构建Ordered VA-File可采用如下插入算法:向 Ordered VA-File中插入一个新的矢量,首先将该矢量量化压缩得到对应的近似矢量,然 后根据目前OrderedVA-File中是否已进行过聚类分割做不同处理:
1)如果当前尚未进行过聚类分割,则从整个Ordered VA-File中查找这样的一个位 置:待插入的近似矢量与该位置前后各m个近似矢量的平均距离最小,得到该位 置后,将新矢量插入到该位置
2)如果当前已经进行过聚类分割,此时首先计算新矢量与各个类中心之间的距离, 在选择距离最小的那一类中查找这样的位置:待插入的近似矢量与该位置前后各 m个近似矢量的平均距离最小;并将矢量插入到这个位置中
在本发明中,对构建好的Ordered VA-File进行简单聚类可采用如下聚类分割算法: 在Ordered VA-File中,已将高维空间中距离相近的矢量数据尽量存储在较近的位置上, 查询前,需将Ordered VA-File分割为一定数量(N)的类,每一类的近似矢量数据在Ordered VA-File中存放顺序是连续的,类中近似矢量数据之间的距离应比较小,而类间的近似矢 量数据的距离则比较大。这样在查询时可以仅查找若干各类中的近似矢量数据,就可快 速实现相似性检索。设包含n个矢量的Ordered VA-File记为 将其分隔为 N类的方法如下:
1)计算每个近似矢量与其前一个位置的近似矢量之间的距离,记为 (dist1,dist2,...,distn-1),其中 i>0,D为矢量之间距离度量方法。
2)对每个矢量,计算上面得到的距离与其前后各m个距离平均值之间的比例,记为 (ratio1,ratio2,...,ration-1),其中 rati o i = dist i Σdis t j max ( i - m , 0 ) j min ( i + m , n - 1 ) , j i , 其中i>0。
3)选择上一步中计算得到的最大的N-1个比例对应的位置,以这N-1个位置为分割 点,将整个OrderedVA-File分割为N类。
4)求每个类中近似矢量的均值作为类中心。
本发明中,近似k近邻查询的算法如下:Ordered VA-File将每一类的信息(包括类中 心矢量、该类在Ordered VA-File中起始和结束位置)始终保存在主存中,进行近似k近 邻查询时,不需要对整个文件扫描,而只需读取其中一小部分近似矢量数据进行距离计 算,实现步骤如下:
1)计算查询矢量与各类中心之间的距离,选择距离最小的L类;
2)计算查询矢量与上面选择的L类中的近似矢量之间的距离,选择距离最小的k个 近似矢量所对应的对象作为近似k近邻查询的结果集。
由于这一算法中仅选择与查询矢量最近的L类进行距离计算,因此效率将远高于传统 VA-File的近似k近邻查询算法,而所选择的L类通常就是距离查询矢量最近的,它们最 有可能包含查询矢量的k近邻,因此近似结果集可以保证比较高的质量
本发明中,有关参数的确定准则下:
1)N的确定:N越大,每一类中可能包含的数据数量越小,查询代价也就越小,但 保存在主存中的类信息所需要的空间必然越大。因此N的确定原则为:根据实际 应用中检索系统可使用的主存容量,选择尽可能大的N。在这一原则下会出现两 种极端情况:(1)内存足够大,N确定为数据库中数据量大小n,此时相当于将 整个Ordered VA-File读入内存,查询过程不进行一次磁盘读写操作,查询效率最 高;(2)内存极小,N选择为1,即整个Ordered VA-File中的数据为1类,此时 查询过程需从磁盘扫描所有近似矢量,查询效率等同于原始的VA-File。由此可 以看出,Ordered VA-File的最坏情况下性能等同于传统的VA-File;
2)L的确定:查询过程中,仅选择与查询矢量最近的L类的近似矢量进行查询,因 此L越大,查询结果精度越高,而查询代价越大;L越小,查询结果精度越小, 相应的查询代价也就越小,因此L的确定准则可根据用户的查询要求自适应调整: 如果对精度要求更高,则选择较大的L值;如果更看重效率,则选择较小的L值。 极端情况为L选择为N,此时查询效率和结果完全等同于传统的VA-File。
总之,本发明提出了通过对VA-File进行排序重组形成Ordered VA-File,并可根据用 户的实际需求进行聚类分割和快速查询,可取得很高的查询效率。在内存极小和查询精 度要求极高的最坏情况下,Ordered VA-File的效率等同于传统VA-File。
参考文献
1.Guttman A.“R-Trees:A dynamic index structure for spatial searching”,Proc.ACM SIGMOD Int.Conf.on Management of Data,Boston,MA,1984:47-57.
2.White D.A.,Jain R.“Similarity indexing with the SS-Tree”,Proc.12th Int Conf on Data Engineering,New Orleans,LA,1996.
3.N.Katayama and S.Satoh.“The SR-Tree:An index structure for high dimensional nearest neighbor queries”,Int.Proc.Of the ACM SIGMOD Int.Conf.on Management of Data, Tucson,Arizon USA,1997:369-380.
4.N.Beckmann and H.P.Kriegel and R.Schneider and B.Seeger.“The R*-Tree:an efficient and robust access method for points and rectangles”,Proc.of the SIGMOD Conf.,Atlantic City,NJ,June 1990:322-331.
5.Sellis T.,Roussopoulos N.and Faloutsos C.“The R+ Tree:A dynamic index for multidimensional objects”,Proc.13th Int.Conf.on Very Large Databases,Brighton,England, 1987:507-518.
6.Stefan Berchtold,Daniel A.Keim,and Hans-Peter Kriegel.“The X-Tree:An index structure for high dimensional data”,Proc.ofthe 22nd VLDB Conference,1996:28-39.
7.Roger Weber,Hans-J.Schek,Stephen Blott,“A Quantitative Analysis and Performance Study for Similarity Search Methods in High-Dimensional Spaces,”Proc.of the 24th VLDB Conference,New York,USA,1998.
8.R.Weber,K.Bohm,“Trading Quality for Time with Nearest Neighbor Search”,In Proc.Of the 7th Conf.On Extending Database Technology,Konstanz,Germany,March 2000.
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈