CN113590889B - 度量空间索引树构建方法、装置、计算机设备及存储介质 - Google Patents

度量空间索引树构建方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113590889B
CN113590889B CN202110870027.6A CN202110870027A CN113590889B CN 113590889 B CN113590889 B CN 113590889B CN 202110870027 A CN202110870027 A CN 202110870027A CN 113590889 B CN113590889 B CN 113590889B
Authority
CN
China
Prior art keywords
data
point
candidate
index tree
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110870027.6A
Other languages
English (en)
Other versions
CN113590889A (zh
Inventor
毛睿
林恺
刘林锋
花勇
王海涛
陆敏华
王毅
刘刚
陆克中
陈倩婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen University
Original Assignee
Shenzhen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen University filed Critical Shenzhen University
Priority to CN202110870027.6A priority Critical patent/CN113590889B/zh
Publication of CN113590889A publication Critical patent/CN113590889A/zh
Application granted granted Critical
Publication of CN113590889B publication Critical patent/CN113590889B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了度量空间索引树构建方法、装置、计算机设备及存储介质,该方法包括:将度量空间中的元素集合作为每一待划分数据集的候选集;在所述候选集中为每一待划分数据集选取对应的多个候选支撑点;利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点;通过所述目标支撑点对对应的待划分数据集进行划分,以此构建索引树的各个节点,并基于所述索引树查询数据。本发明通过将度量空间的元素集合作为候选集来选取支撑点,可以使选取到的支撑点性能更加优异,进而可以在划分数据时更加精准,从而使最终构建的索引树性能得到提升。

Description

度量空间索引树构建方法、装置、计算机设备及存储介质
技术领域
本发明涉及度量空间技术领域,特别涉及度量空间索引树构建方法、装置、计算机设备及存储介质。
背景技术
度量空间索引(metric space indexing)是一种适用性非常广的解决相似性搜索的通用方法。它把复杂的数据对象抽象成度量空间中的点,利用用户定义的距离函数的三角不等性来去除无关数据并减少直接距离计算的次数,以实现高速搜索。度量空间索引只要求用户提供满足度量空间性质的距离函数,而距离函数的具体实现和数据的表达都是透明的,同样的算法可以应用于不同的数据,因而具备了更广泛的适用范围。近年来,多媒体技术的推广应用和生物学研究的蓬勃发展产生了大量新型的多媒体和生物数据,度量空间索引技术也因为其不断展现出的普遍适应性成为一个国内外较为热门的研究领域。
长期以来,度量空间索引的研究重点偏向于数据划分。支撑点选取的重要性一直没有得到充分的认识,这方面的研究开展得很少。M-tree采取随机选择的方法。SA-tree先随机选取一个点,然后选取Voronoi图上相邻单元的中心作为支撑点。Farthest-first-traversal(FFT)是一种常用于支撑点选取的k-center聚类方法。它是一种快捷方便地找出数据中的周边点的方法。FFT的目标是使聚类得到的分类的最大半径最小。已经证明,FFT得到的结果不会超过最优化结果的2倍。而它的时间复杂度是线性的。Google创始人之一的Brin在GNAT中按照数据的多少采用不同数目的支撑点。Amato等研究了基于排列组合的距离函数的支撑点选取问题。Yianilos研究了为单位正方形内随机分布的点选取一个支撑点的问题认为边角点是较好选择。Bustos等认为好的支撑点应该使支撑点空间中点对之间距离的平均值最大,方差最小。
树结构索引方法的基本思想是数据分割和分而治之。在树的每一层,利用三角不等性来排除一些子树,然后递归搜索其余子树。按照数据分割和子树表示方法的不同,度量空间树结构索引方法可以分为优势点(Vantage Point:VP)树、超平面(GeneralizedHyper-plan:GH)树和覆盖半径(Covering Radius:CR)树。
相似性查询广泛应用于多媒体和生物数据管理分析中。在大数据时代,通用的相似性索引是解决大数据多样性问题的有利方法之一。度量空间索引将新的数据抽象成统一的度量空间的点,根据用户定义距离函数的三角不等性实现数据排除。不需要数据具有坐标,距离函数也不止于欧氏距离,具有较好的通用性。度量空间索引的构建可分为支撑点(参考点)选取和数据划分两个基本步骤,支撑点选取对索引的性能具有极大影响。
优势点树,在每个结点数据选择合适的支撑点,进而根据选择的支撑点进行均衡的划分。
超平面树,树的每个结点数据选择两个支撑点,依据数据到两个支撑点距离将数据划到距离较近的支撑点分块。
覆盖半径树,则是每个结点选择合适的支撑点使用圆形(二维情况)覆盖空间区域进行划分。
递归的构建度量空间索引树以选择支撑点、依据支撑点进行数据划分和将划分结果存储成新的结点的流程构建,这里需要注意每次重复时选择支撑点的范围是在该结点的全体数据,即每次支撑点只能选择当前结点的数据集,存在独立性或可以称为局限性,导致最终选取的支撑点性能并不是最佳,进而影响数据划分效果以及后续的数据查询效果。
发明内容
本发明实施例提供了一种度量空间索引树构建方法、装置、计算机设备及存储介质,旨在提高支撑点选择精度,进而提高索引树的查询性能。
第一方面,本发明实施例提供了一种度量空间索引树构建方法,包括:
将度量空间中的元素集合作为每一待划分数据集的候选集;
在所述候选集中为每一待划分数据集选取对应的多个候选支撑点;
利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点;
通过所述目标支撑点对对应的待划分数据集进行划分,以此构建索引树的各个节点,并基于所述索引树查询数据。
第二方面,本发明实施例提供了一种度量空间索引树构建装置,包括:
候选集设置单元,用于将度量空间中的元素集合作为每一待划分数据集的候选集;
第一选取单元,用于在所述候选集中为每一待划分数据集选取对应的多个候选支撑点;
第二选取单元,用于利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点;
第一划分单元,用于通过所述目标支撑点对对应的待划分数据集进行划分,以此构建索引树的各个节点,并基于所述索引树查询数据。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的度量空间索引树构建方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的度量空间索引树构建方法。
本发明实施例提供了一种度量空间索引树构建方法、装置、计算机设备及存储介质,该方法包括:将度量空间中的元素集合作为每一待划分数据集的候选集;在所述候选集中为每一待划分数据集选取对应的多个候选支撑点;利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点;通过所述目标支撑点对对应的待划分数据集进行划分,以此构建索引树的各个节点,并基于所述索引树查询数据。本发明实施例通过将度量空间的元素集合作为候选集来选取支撑点,可以使选取到的支撑点性能更加优异,进而可以在划分数据时更加精准,从而使最终构建的索引树性能得到提升。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种度量空间索引树构建方法的流程示意图;
图2为本发明实施例提供的一种度量空间索引树构建方法的子流程示意图;
图3为本发明实施例提供的一种度量空间索引树构建方法中支撑点映射效果图;
图4为本发明实施例提供的一种度量空间索引树构建方法的实验效果图;
图5为本发明实施例提供的一种度量空间索引树构建方法的另一实验效果图;
图6为本发明实施例提供的一种度量空间索引树构建装置的示意性框图;
图7为本发明实施例提供的一种度量空间索引树构建装置的子示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
下面请参见图1,图1为本发明实施例提供的一种度量空间索引树构建方法的流程示意图,具体包括:步骤S101~S104。
S101、将度量空间中的元素集合作为每一待划分数据集的候选集;
S102、在所述候选集中为每一待划分数据集选取对应的多个候选支撑点;
S103、利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点;
S104、通过所述目标支撑点对对应的待划分数据集进行划分,以此构建索引树的各个节点,并基于所述索引树查询数据。
本实施例中,将度量空间中的元素集合作为选取支撑点的候选集,以选取得到候选支撑点,然后将待划分数据集作为评价集,用于对候选支撑点性能评价,从而可以为每一待划分数据集选取得到性能更佳的目标支撑点。再利用目标支撑点对对应的待划分数据集进行数据划分,以构建得到索引树的节点,从而构建得到索引树。
本实施例为了解决递归构建索引树的过程中每次只能在当前划分的数据中选择合适的支撑点,导致的其他非当前划分的原始数据无法选择的问题,引入了候选集、评价集的概念。具体来说,现有的索引树构建流程每次都是在当前数据集中以优化当前数据集的搜索性能为目标进行支撑点选取,也就是说,支撑点选取的候选集和评价集都是当前数据集。而本实施例则是在构建索引树的根节点以下的节点的时候,可以从全体数据集中(即度量空间中的元素集合)为节点对应的局部数据集选取支撑点。为此,本实施例扩展支撑点选取函数,其参数应分别包括支撑点的候选集和评价集:将pivotSelect(CandidateSet)扩展为:pivotSelect(CandidateSet,EvaluationSet)。扩展后的度量空间索引树构建算法如下:
输入:度量空间元素集合S
①将S赋值给待划分数据Partition
②repeat:
③Pivot=pivotSelect(S,Partition)
④Partition=partionData(Partition,Pivot)
⑤creatNodes(Partition,Pivot)
⑥until不再有数据未划分
即构建的度量空间索引树以选择支撑点、依据支撑点进行数据划分和将划分结果存储成新的结点的流程构建,每次支撑点选择时拓展了候选集的范围,从全体原始数据中选择支撑点(即所述候选支撑点),同时根据当前数据集合评价挑选最佳的支撑点(即所述目标支撑点),通过扩展支撑点选取函数,避免了现有方法导致的数据集合的局限性问题,即避免了距离较远的点无法被选为支撑点的问题。同时原有的数据点仍在候选集中,所以扩展后的支撑点选择函数支撑点候选集扩大了,即每次选择时可以理解为将现有的数据集合选择的支撑点组合与扩展后的额外的支撑点组合整体比较,并选择最优的支撑点组合,因此最差情况为仍选择现有的数据集合选择的支撑点组合。并且不同节点可能复用支撑点,因而减少了搜索对象和支撑点间的距离计算。
在大数据处理基础的需求中搜索是极为重要的,因此为高速搜索所设计的索引技术是大数据处理的基石之一。当前索引技术的研究和应用主要集中于基于内容的相似性查询(Similarity query)技术。随着多媒体技术的发展,针对于复杂数据对象的多种数据库层出不穷,因此相似性搜索逐渐成为多媒体信息系统基于内容搜索的基本要求,“相似性搜索的性能已经成为衡量海量多媒体系统查询功能的重要指标”。同时,近年来生物信息学的高速发展也产生了庞大的复杂生物数据(基因序列、蛋白质谱等),对这些数据的高效搜索已经成为一个迫切需要解决的问题。据统计,“在整个计算生物学研究任务中相似性搜索所占比例高达35%”。
关于数据多样性的问题,有两种常见解决方法:专用系统、通用系统。通用系统开发成本低、开发进度快等优点。所以通用的相似性搜索有较高的性价比。要实现通用的相似性搜索第一步就是把不同的数据按照其共有的特征抽象到统一数据类型,进而使用统一的匹配衡量方法,然后针对统一的数据类型和匹配衡量方法设计数据分析管理框架。度量空间可以将不同类型的数据以统一的方法抽象,进而使用同样的搜索方法实现快速而通用的相似搜索。度量空间可以定义为一个二元组(S,d),其中S是有限非空的数据集合,而d是定义在S上的具有如下性质的距离函数:
正定性:并且/>
对称性:
三角不等性:
为了实现通用相似搜索的要求,主要将数据统一至度量空间。进而将度量空间中数据映射到包含坐标的支撑点空间。进而递归的构建索引树,通过索引树实现相似性查询的需求。
度量空间索引的构建一般将用户提供的符合度量空间性质的距离函数和数据抽象到度量空间,进而选择合适的支撑点,根据支撑点将数据划分,进而在划分的数据中重复这一工作,递归的进行划分直到划分达到用户需求。在进行相似性查找时则根据划分通过剪枝操作和用户定义的距离函数的三角不等性去除无关数据并减少直接距离计算的次数。
大数据具有四个层面的特点和挑战:(1)数据体量大(Volume);(2)处理速度要求快(Velocity);(3)数据类型繁多(Variety);(4)价值密度低(Value)。以上4V挑战中,关于Volume、Value和Velocity已经开展了很多研究,然而关于Varity的探索则相对较少。面对数据多样性问题,一般有采用专用系统或通用系统两种途径。专用系统为每种数据类型量身定做专门的处理系统,因此需要为多个数据类型开发多个处理系统,性能较好但是开发维护的成本高,适用范围窄。而通用系统开发一个统一的系统来处理多种类型的数据,性能较差,但是具有较低的开发维护成本和较宽广的适用范围。商业软件为了追求最大的利润,一般都是采用通用系统的方法,通过高性价比来吸引用户。即通用系统的商业潜力巨大。通用系统的实现则需要将多种数据按照其共性抽象到统一数据类型和统一的匹配衡量方法设计数据分析管理框架。目前大部分的新型数据都具有或者可构建符合度量空间特性的距离函数。因此,度量空间可以作为当前大部分新型数据的抽象规范。用户只需要提供自定义的距离函数,基于度量空间的下一代通用大数据管理系统就可以胜任当前大部分新型数据管理任务。
在一实施例中,如图2所示,所述步骤S103包括:步骤S201~S203。
S201、针对每一待划分数据集,计算各候选支撑点与待划分数据集的数据中心之间的距离;
S202、在所有候选支撑点中任意选取两个候选支撑点,并计算以数据中心为顶点,两个候选支撑点与数据中心所成夹角的角度;
S203、选择距离数据中心距离最远且与数据中心所成夹角角度最接近直角的候选支撑点作为目标支撑点。
本实施例中,在候选支撑点中选取目标支撑点时,以待划分数据集中的数据中心为顶点,然后随机选取两个候选支撑点与顶点连线,根据连线构成的夹角角度确定候选支撑点的性能。即数据中心到支撑点的距离、以数据中心为顶点与支撑点形成角度,距离越远、角度越接近90度数据映射效果越好。进一步,当候选支撑点与顶点距离固定时,选取角度为90度所对应的候选支撑点作为所述目标支撑点。当然,可以理解的是,在其他实施例中,也可以利用其他方法在候选支撑点选取目标支撑点,例如FFT(Farthest-first-traversal,用于支撑点选取的k-center聚类方法)等支撑点选取方法。
在一具体实施例中,在已知实验中明确了在随机均匀分布的正方形数据内选择两个支撑点已有相关探索:选择相邻顶点作为支撑点映射效果较好。结合图3,再进一步尝试数据外的点作为支撑点时,使用相对支撑点延伸后的点对作为支撑点时出现如下结果:
a:0到1均匀分布的正方形原始数据;
b:a中的原始数据使用(1,0)(0,1)相对支撑点映射结果;
c:a中的原始数据使用(2,0)(0,2)相对支撑点延伸映射结果;
d:a中的原始数据使用(3,0)(0,3)相对支撑点延伸映射结果;
b,c,d的横纵坐标分别为到两个支撑点的距离。
同时计算相对应的Bustos目标函数如表1所示:
表1
对于均匀分布的正方形数据,相对顶点是较差的支撑点组合。然而在支撑点不断延伸,映射前后的数据分布越发相似,映射效果反而更佳。进一步的,提出猜测:是否支撑点距离数据越远时映射前后的分布类似,映射的效果越好?
a:(0,1)(1,1)相对支撑点映射结果;
b:(0,2)(2,2)相对支撑点延伸映射结果。
同时计算相对应的目标函数如表2所示:
表2
同样的对支撑点做延伸的实验,相邻支撑点的表现与相对支撑点的表现成相反的趋势。而影响映射效果的主要因素就是支撑点的选取,以支撑点坐标分析得不到明显的效果反映。
更进一步的,针对支撑点除坐标表示外,尝试将支撑点与数据建立联系。在数据中心到两支撑点距离相等的基础上,总结特征如下:
特征1:支撑点到数据中心的距离(简称距离);
特征2:以数据中心为顶点,数据中心与两支撑点分别作为两边所成角度(简称角度)。
用总结的两个特征代表两支撑点位置。在上述两个延展实验中加入相应的角度计算。得到结果如表3和表4所示:
表3
表4
可见数据中心与支撑点距离越远,相应的映射效果图、目标函数值越好。同时可以注意到在相邻顶点作为支撑点时,以及相应延伸后数据可以发现角度九十度时映射效果最好。在相对顶点的延伸时角度也越发接近九十度,目标函数表现也更好。因此进一步对相应的1、数据中心与支撑点距离;2、以数据中心为顶点,数据中心与两支撑点分别作为两边所成角度。作为变量,实验相关的影响效果。
在实验的基础上进一步猜测:在数据中心与支撑点距离趋向于无穷、数据中心与两支撑点分别作为两边所成角度为90度时,映射前后数据基本不发生扭曲,映射效果最好。
若映射前后数据基本不发生扭曲,那么任意两点的距离变化应该是不变的,因此首先对两点数据映射后距离(切比雪夫距离)做推导:
其中,T:数据中心与支撑点的距离;
θ:数据中心与两支撑点分别做两边所成角度;
x:任意数据点1(a1,b1);
y:任意数据点2(a2,b2)。
可见映射后支撑点空间中两点的切比雪夫距离与映射前两点的切比雪夫距离一致。但在度量空间中使用的是欧式距离,同时我们观察到的情况是在这一理想条件下映射前后数据分布相似。所以进一步计算映射后两点的欧氏距离:
可见映射后支撑点空间中两点的欧式距离与映射前两点的欧式距离一致。这也说明了在这一条件下映射前后数据的分布式类似的(点对间距离一致)。
而在这一情况下目标函数的表现效果如下:
首先目标函数是收缩映射的即:
L(FP,d(x),FP,d(y))≤L2(x,y)
同时在度量空间使用二维空间、欧氏距离的情况下,映射前后欧氏距离一致情况下目标函数的表现如下:
所以在这一条件下映射前后数据分布类似,同时目标函数的表现在最优情况以及最优情况的倍之间。
在已有的实验猜测在距离越远、角度为90度条件下映射效果较好。上面的公式表明目标函数的表现最差也可以达到最优情况的倍。说明支撑点在数据外选择效果较好,因此选择将原始数据做扩大,进而在扩大的部分使用穷举法选择支撑点对,计算分析支撑点选择效果,找出表现效果较好的点对信息。
使用穷举法选择原始数据及外的扩大的数据作为支撑点的候选集合,关于支撑点候选集合的选择:考虑到计算的复杂度以及支撑点映射前后的数据分布情况,选择将数据集延伸取其中所有的整数点作为支撑点候选集。在候选集中任取两个点作为支撑点,计算不同情况下:1、数据中心到两个支撑点的距离和。2、以数据中心为顶点与两支撑点所成角度与90度的差的绝对值。3、数据映射效果,即目标函数值。若符合猜测:距离越远、角度为90度条件下映射效果较好。那么也可以从实验的角度验证这一猜测。
选取实验中点对目标函数表现前5的支撑点对,相应数据如表5所示:
表5
排名:目标函数表现排名;
距离:数据中心到两个支撑点的距离和;
角度:以数据中心为顶点与两支撑点所成角度与90度的差的绝对值。
综上所述,二维数据使用欧式距离,选择两个支撑点做数据映射的情况下,支撑点选择对映射效果的影响:主要体现在映射后数据的分布情况以及目标函数的表现上。最初实验了支撑点选择在数据内部的情况,验证了在数据内选择支撑点时选择相邻顶点的效果较好。进一步考虑将支撑点做进一步延展到数据外(少部分离群点),发现相邻顶点的延伸和相对顶点的延伸效果相反,尝试使用新的两个变量代替支撑点坐标,即数据中心到支撑点的距离、以数据中心为顶点与支撑点形成角度,猜测距离越远、角度越接近90度数据映射效果越好。进一步固定距离,实验不同角度,发现角度为90度时映射效果最好。同时固定角度,实验不同距离,发现距离越远映射效果越好。发现这一效果的同时,发现在将相对顶点延伸到一定程度,映射后数据与原始数据分布基本一致。进而猜测是否任意两点映射后的距离不存在扭曲。推导发现映射前后的欧氏距离一致,也说明了映射前后的数据在二维空间表现相似。同时也说明映射效果在最优与最优的之间。同时使用穷举法,实验验证了猜测:距离越远,同时角度越接近90度,映射效果越好(目标函数的表现越好)。
也即,二维数据使用欧氏距离,选择两个支撑点做数据映射的情况下,选择支撑点距离数据中心越远,以数据中心为顶点与两个支撑点所形成的角度越接近90度映射效果越好(目标函数表现越好)。
在一实施例中,所述度量空间索引树构建方法还包括:
统计索引树的支撑点集合,并按照数组的方式对支撑点集合进行顺序存储;
基于所述支撑点集合,将索引树的节点中的数据划分为同时作为支撑点的数据及普通数据。
本实施例所构建的索引树与现有的索引树的不同点在于,原有的度量空间索引树支撑点选择范围只在当前数据集合,在选择支撑点后将原有数据删除,不存在不同结点使用相同支撑点及内部结点支撑点与叶子结点数据点重复的问题。为了实现这一目的,本实施例选择增量框架作为支撑点选择方法。在增量框架的思路基础上,不再每次从当前数据抽取候选集与评价集数据,改为从全局数据中抽取候选集,以当前划分的数据作为评价集,进而实现扩展支撑点选择的需求。
同时在本实施例的索引树构建过程中,因为候选集合扩展为全体数据集合,就会存在选择的支撑点不属于当前划分的数据的情况,进而产生不同结点使用相同支撑点及内部结点支撑点与叶子结点数据点重复的问题。进而导致重复计算及重复存储数据的问题。
关于上述问题的具体解决,本实施例从叶子节点部分数据的存储出发,避免了重复计算及重复结果的问题。
在原有的索引树构建完成后,统计整棵树的支撑点集合并按数组的方式顺序存储。将叶子节点中的数据划分为同时作为支撑点的数据及普通数据。
进一步的,在一实施例中,基于所述索引树查询数据包括:
获取查询数据对应的查询点,并判断是否已经计算所述查询点与对应的目标支撑点之间的距离;
若已经计算所述查询点与对应的目标支撑点之间的距离,则在存储的支撑点集合中获取对应的距离;
若未计算所述查询点与对应的目标支撑点之间的距离,则调用距离计算函数对所述目标支撑点与查询点进行距离计算。
本实施例中,调用距离计算及在叶子结点的搜索操作如下:
对于支撑点调用距离计算函数计算支撑点与查询点距离时,判断对应支撑点是否已经计算,若计算过则不需要计算直接获取存储的对应距离。否则正常计算并存储计算结果。
对于叶子结点中部分同时被选择作为支撑点的数据点,计算距离时判断对应支撑点(数据点)是否已经计算,若计算过则不需要操作。否则正常计算并存储计算结果。
在一实施例中,所述通过所述目标支撑点对对应的待划分数据集进行划分,包括:
按照下式,利用目标函数对划分的数据的映射效果进行评价:
argmaxp(∑L(FP,d(x),FP,d(y)),x,y∈S)P∈S
式中,S为度量空间元素集合,P为支撑点集合,FP,d(S)为数据从度量空间映射到支撑点空间的映射公式,FP,d(S)={sP|xP=(d(s,p1),…,d(s,pk)),s∈S},d(x)和d(y)为定义的距离函数,x、y为数据点。
本实施例中,目标函数主要起到评价映射效果的作用,目前已有的目标函数均是启发性的,主要目的是评价为数据映射前后距离变化,距离变化越小映射效果越好。而单一的点对与支撑点的相对位置不同映射效果也是不同的,因此考虑整体数据的映射后距离变化,整体距离变化越小映射效果越好。
由于映射后的数据存在扭曲缩小、整体距离是缩小的,所以映射后距离越大说明距离变化越小,在绘图上映射后的数据与原始数据分布相似印书馆和效果也就越好。即目标函数越大映射效果越好。
在一实施例中,所述度量空间索引树构建方法还包括:
将度量空间中的元素集合作为查询点集合,基于所述索引树对所述查询点集合中的数据分别进行搜索;
将搜索过程中计算平均搜索的距离计算次数作为查询性能标准,然后利用所述查询性能标准对所述索引树的查询性能进行评价;
按照下式计算搜索过程中的平均排除率,并利用所述平均排除率对对所述索引树的查询性能进行评价:
排除率=搜索过程中无需搜索的数据数/数据总量。
索引树的主要影响在于距离计算次数及数据的I/O次数,因此本实施例从两个方面出发,即根据索引树搜索的平均距离计算次数和平均排除率综合评价索引树性能。
(1)索引树搜索的平均距离计算次数:
使用全体数据集合(即度量空间中的元素集合)作为查询点集合,进而对查询点集合中数据分别进行搜索。在整体搜索过程计算平均搜索的距离计算次数作为评价度量空间索引树的性能标准之一。
(2)索引树搜索的平均排除率:
排除率=搜索过程中无需搜索的数据数/数据总量
使用全体数据集合作为查询点集合,进而对查询点集合中数据分别进行搜索。在整体搜索过程计算平均搜索的排除率作为评价度量空间索引树的性能标准之一。
进一步的,在一实施例中,所述度量空间索引树构建方法还包括:
按照下式,对所述索引树的查询性能进行评估:
T=distance evaluations×complexity of distance evaluation+extra CPUtime+I/O time
式中,T为基于所述索引树进行一次相似性查询的时间,distance evaluations为距离计算次数,complexityof distance evaluation为计算距离的时间复杂度,extra CPUtime为额外的CPU时间,I/O time为数据I/O时间。
本实施例中,按照距离计算次数及数据的I/O次数以及各自对应的时间对索引树性能进行评估。
在一具体实施例中,随机生成数据集,且该数据集为范围在边长为1的正方形内部的均匀分布的二维向量数据,数据集大小为100k。
基于UMAD(一种数据检索工具)通用的大数据管理分析系统的项目的基础上,选择使用经典的平衡划分的VP树作为现有度量空间索引树的代表。这一选择的原因在于现有的研究发现该索引树的性能较好,可以作为目前度量空间索引树的性能代表。进而改进现有的平衡划分的VP树。每次的支撑点选择我们选择与数据本真维度一致的数目,即2个支撑点。支撑点数目越多,数据映射到支撑点空间保留的信息也相对的增加,但是针对于二维数据2个支撑点已经保留了相对多的距离信息且也能保证计算的性能与存储的代价平衡。划分按照平衡划分的VP树要求,选择平衡划分。关于查询点集合,按照传统假设查询对象与数据集分布类似,即使用数据集作为查询点集合。在实验过程中,针对目前的选择了多组不同的搜索半径以保证索引树在整体使用上的性能。具体搜索半径及相应半径(Radius)下搜索的平均选择率(Selectivity(%))如表6和表7所示:
表6
表7
在上述基础上,我们分别对现有的索引树:平衡划分的VP树,与改进的扩展支撑点选择的索引树。分别以全部数据作为查询点进行搜索计算,实验结果如图4和图5所示。
图4是现有索引树与本实施例提供的索引树使用不同搜索半径进行查询时的平均距离计算次数对比,随着搜索半径增大平均的距离计算次数逐渐增大。但本实施例提供的索引树的距离计算次数均少于现有索引树,以平均距离计算次数评估性能,改进的度量空间索引树性能更好。
图5是现有索引树与本实施例提供的索引树使用不同搜索半径进行查询时的平均排除率对比,随着搜索半径增大平均排除率逐渐减少。但本实施例提供的索引树的平均排除率均优于现有索引树,以平均排除率评估性能,本实施例提供的度量空间索引树性能更好。
综合图4和图5的实验数据,根据的平均距离计算次数和平均排除率综合考虑对比改进前后的索引树性能。本实施例提供的度量空间索引树距离计算次数较现有度量空间索引树减少19.52%。平均排除率增加0.27%。综合比较后,本实施例提供的度量空间索引树性能更好。
图6为本发明实施例提供的一种度量空间索引树构建装置600的示意性框图,该装置600具体包括:
候选集设置单元601,用于将度量空间中的元素集合作为每一待划分数据集的候选集;
第一选取单元602,用于在所述候选集中为每一待划分数据集选取对应的多个候选支撑点;
第二选取单元603,用于利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点;
第一划分单元604,用于通过所述目标支撑点对对应的待划分数据集进行划分,以此构建索引树的各个节点,并基于所述索引树查询数据。
在一实施例中,如图7所示,所述第二选取单元603包括:
第一距离计算单元701,用于针对每一待划分数据集,计算各候选支撑点与待划分数据集的数据中心之间的距离;
角度计算单元702,用于在所有候选支撑点中任意选取两个候选支撑点,并计算以数据中心为顶点,两个候选支撑点与数据中心所成夹角的角度;
支撑点选择单元703,用于选择距离数据中心距离最远且与数据中心所成夹角角度最接近直角的候选支撑点作为目标支撑点。
在一实施例中,所述度量空间索引树构建装置600还包括:
存储单元,用于统计索引树的支撑点集合,并按照数组的方式对支撑点集合进行顺序存储;
第二划分单元,用于基于所述支撑点集合,将索引树的节点中的数据划分为同时作为支撑点的数据及普通数据。
在一实施例中,所述第一划分单元604包括:
距离判断单元,用于获取查询数据对应的查询点,并判断是否已经计算所述查询点与对应的目标支撑点之间的距离;
距离获取单元,用于若已经计算所述查询点与对应的目标支撑点之间的距离,则在存储的支撑点集合中获取对应的距离;
第二距离计算单元,用于若未计算所述查询点与对应的目标支撑点之间的距离,则调用距离计算函数对所述目标支撑点与查询点进行距离计算。
在一实施例中,所述第一划分单元604还包括:
效果评价单元,用于按照下式,利用目标函数对划分的数据的映射效果进行评价:
argmaxp(∑L(FP,d(x),FP,d(y)),x,y∈S)P∈S
式中,S为度量空间元素集合,P为支撑点集合,FP,d(S)为数据从度量空间映射到支撑点空间的映射公式,FP,d(S)={sP|xP=(d(s,p1),…,d(s,pk)),s∈S},d(x)和d(y)为定义的距离函数,x、y为数据点。
在一实施例中,所述度量空间索引树构建装置600还包括:
搜索单元,用于将度量空间中的元素集合作为查询点集合,基于所述索引树对所述查询点集合中的数据分别进行搜索;
第一评价单元,用于将搜索过程中计算平均搜索的距离计算次数作为查询性能标准,然后利用所述查询性能标准对所述索引树的查询性能进行评价;
第二评价单元,用于按照下式计算搜索过程中的平均排除率,并利用所述平均排除率对对所述索引树的查询性能进行评价:
排除率=搜索过程中无需搜索的数据数/数据总量。
在一实施例中,所述度量空间索引树构建装置600还包括:
性能评估单元,用于按照下式,对所述索引树的查询性能进行评估:
T=distance evaluations×complexity of distance evaluation+extra CPUtime+I/O time
式中,T为基于所述索引树进行一次相似性查询的时间,distance evaluations为距离计算次数,complexityof distance evaluation为计算距离的时间复杂度,extra CPUtime为额外的CPU时间,I/O time为数据I/O时间。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机设备,可以包括存储器和处理器,存储器中存有计算机程序,处理器调用存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (6)

1.一种度量空间索引树构建方法,其特征在于,包括:
将度量空间中的元素集合作为每一待划分数据集的候选集;
在所述候选集中为每一待划分数据集选取对应的多个候选支撑点;
利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点;
通过所述目标支撑点对对应的待划分数据集进行划分,以此构建索引树的各个节点,并基于所述索引树查询数据;
所述利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点,包括:
针对每一待划分数据集,计算各候选支撑点与待划分数据集的数据中心之间的距离;
在所有候选支撑点中任意选取两个候选支撑点,并计算以数据中心为顶点,两个候选支撑点与数据中心所成夹角的角度;
选择距离数据中心距离最远且与数据中心所成夹角角度最接近直角的候选支撑点作为目标支撑点;
还包括:
统计索引树的支撑点集合,并按照数组的方式对支撑点集合进行顺序存储;
基于所述支撑点集合,将索引树的节点中的数据划分为同时作为支撑点的数据及普通数据;
基于所述索引树查询数据包括:
获取查询数据对应的查询点,并判断是否已经计算所述查询点与对应的目标支撑点之间的距离;
若已经计算所述查询点与对应的目标支撑点之间的距离,则在存储的支撑点集合中获取对应的距离;
若未计算所述查询点与对应的目标支撑点之间的距离,则调用距离计算函数对所述目标支撑点与查询点进行距离计算;
扩展支撑点选取函数,其参数分别包括支撑点的候选集和评价集,构建的度量空间索引树以选择支撑点、依据支撑点进行数据划分和将划分结果存储成新的结点的流程构建,每次支撑点选择时拓展了候选集的范围,从全体原始数据中选择候选支撑点,同时根据当前数据集合评价挑选最佳的支撑点即所述目标支撑点。
2.根据权利要求1所述的度量空间索引树构建方法,其特征在于,还包括:
将度量空间中的元素集合作为查询点集合,基于所述索引树对所述查询点集合中的数据分别进行搜索,并将搜索过程中计算平均搜索的距离计算次数作为查询性能标准,然后利用所述查询性能标准对所述索引树的查询性能进行评价;
按照下式计算搜索过程中的平均排除率:
排除率=搜索过程中无需搜索的数据数/数据总量。
3.根据权利要求2所述的度量空间索引树构建方法,其特征在于,还包括:
按照下式,对所述索引树的查询性能进行评估:
T=distance evaluations×complexity ofdistance evaluation+extra CPU time+I/Otime
式中,T为基于所述索引树进行一次相似性查询的时间,distance evaluations为距离计算次数,complexityofdistance evaluation为计算距离的时间复杂度,extra CPU time为额外的CPU时间,I/O time为数据I/O时间。
4.一种度量空间索引树构建装置,其特征在于,包括:
候选集设置单元,用于将度量空间中的元素集合作为每一待划分数据集的候选集;
第一选取单元,用于在所述候选集中为每一待划分数据集选取对应的多个候选支撑点;
第二选取单元,用于利用每一待划分数据集,对对应的多个候选支撑点进行性能评价,并根据性能评价结果在候选支撑点中选取目标支撑点;
第一划分单元,用于通过所述目标支撑点对对应的待划分数据集进行划分,以此构建索引树的各个节点,并基于所述索引树查询数据;
所述第二选取单元包括:
第一距离计算单元,用于针对每一待划分数据集,计算各候选支撑点与待划分数据集的数据中心之间的距离;
角度计算单元,用于在所有候选支撑点中任意选取两个候选支撑点,并计算以数据中心为顶点,两个候选支撑点与数据中心所成夹角的角度;
支撑点选择单元,用于选择距离数据中心距离最远且与数据中心所成夹角角度最接近直角的候选支撑点作为目标支撑点;
所述度量空间索引树构建装置还包括:
存储单元,用于统计索引树的支撑点集合,并按照数组的方式对支撑点集合进行顺序存储;
第二划分单元,用于基于所述支撑点集合,将索引树的节点中的数据划分为同时作为支撑点的数据及普通数据;
所述第一划分单元包括:
距离判断单元,用于获取查询数据对应的查询点,并判断是否已经计算所述查询点与对应的目标支撑点之间的距离;
距离获取单元,用于若已经计算所述查询点与对应的目标支撑点之间的距离,则在存储的支撑点集合中获取对应的距离;
第二距离计算单元,用于若未计算所述查询点与对应的目标支撑点之间的距离,则调用距离计算函数对所述目标支撑点与查询点进行距离计算;
扩展支撑点选取函数,其参数分别包括支撑点的候选集和评价集,构建的度量空间索引树以选择支撑点、依据支撑点进行数据划分和将划分结果存储成新的结点的流程构建,每次支撑点选择时拓展了候选集的范围,从全体原始数据中选择候选支撑点,同时根据当前数据集合评价挑选最佳的支撑点即所述目标支撑点。
5.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的度量空间索引树构建方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的度量空间索引树构建方法。
CN202110870027.6A 2021-07-30 2021-07-30 度量空间索引树构建方法、装置、计算机设备及存储介质 Active CN113590889B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110870027.6A CN113590889B (zh) 2021-07-30 2021-07-30 度量空间索引树构建方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110870027.6A CN113590889B (zh) 2021-07-30 2021-07-30 度量空间索引树构建方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN113590889A CN113590889A (zh) 2021-11-02
CN113590889B true CN113590889B (zh) 2023-12-22

Family

ID=78252554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110870027.6A Active CN113590889B (zh) 2021-07-30 2021-07-30 度量空间索引树构建方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113590889B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235080A (zh) * 2023-11-16 2023-12-15 中国人民解放军93184部队 面向大规模高维数据的索引生成及相似性搜索方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281652A (zh) * 2014-09-16 2015-01-14 深圳大学 度量空间中逐个支撑点数据划分方法
CN106095920A (zh) * 2016-06-07 2016-11-09 四川大学 面向大规模高维空间数据的分布式索引方法
CN106503245A (zh) * 2016-11-08 2017-03-15 深圳大学 一种支撑点集合的选择方法及装置
CN108563715A (zh) * 2018-03-29 2018-09-21 中国科学院计算技术研究所 一种分布式的趋同行为挖掘方法与系统
CN111831660A (zh) * 2020-07-16 2020-10-27 深圳大学 度量空间划分方式评价方法、装置、计算机设备及存储介质
CN113065036A (zh) * 2021-04-14 2021-07-02 深圳大学 一种度量空间支撑点性能衡量方法、装置及相关组件

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834278B2 (en) * 2001-04-05 2004-12-21 Thothe Technologies Private Limited Transformation-based method for indexing high-dimensional data for nearest neighbour queries
US7266545B2 (en) * 2001-08-07 2007-09-04 International Business Machines Corporation Methods and apparatus for indexing in a database and for retrieving data from a database in accordance with queries using example sets
US20070250476A1 (en) * 2006-04-21 2007-10-25 Lockheed Martin Corporation Approximate nearest neighbor search in metric space
US20100114970A1 (en) * 2008-10-31 2010-05-06 Yahoo! Inc. Distributed index data structure

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281652A (zh) * 2014-09-16 2015-01-14 深圳大学 度量空间中逐个支撑点数据划分方法
CN106095920A (zh) * 2016-06-07 2016-11-09 四川大学 面向大规模高维空间数据的分布式索引方法
CN106503245A (zh) * 2016-11-08 2017-03-15 深圳大学 一种支撑点集合的选择方法及装置
CN108563715A (zh) * 2018-03-29 2018-09-21 中国科学院计算技术研究所 一种分布式的趋同行为挖掘方法与系统
CN111831660A (zh) * 2020-07-16 2020-10-27 深圳大学 度量空间划分方式评价方法、装置、计算机设备及存储介质
CN113065036A (zh) * 2021-04-14 2021-07-02 深圳大学 一种度量空间支撑点性能衡量方法、装置及相关组件

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于近期最远遍历的支撑点选择";李兴亮等;《南京大学学报(自然科学)》;第483-496页 *

Also Published As

Publication number Publication date
CN113590889A (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
Yuan et al. Index-based densest clique percolation community search in networks
Vlachou et al. Reverse top-k queries
Chen et al. Efficient metric indexing for similarity search and similarity joins
Rai et al. A survey of clustering techniques
EP1459206B1 (en) Method and system for similarity search and clustering
CN108932347B (zh) 一种分布式环境下基于社会感知的空间关键字查询方法
CN111831660B (zh) 度量空间划分方式评价方法、装置、计算机设备及存储介质
CN112115227B (zh) 数据的查询方法、装置、电子设备及存储介质
Cao et al. Accelerated similarity searching and clustering of large compound sets by geometric embedding and locality sensitive hashing
Tiakas et al. Skyline queries: An introduction
Amato et al. A comparison of pivot selection techniques for permutation-based indexing
CN113590889B (zh) 度量空间索引树构建方法、装置、计算机设备及存储介质
US10642918B2 (en) Efficient publish/subscribe systems
Zhao et al. Approximate k-NN graph construction: a generic online approach
Yin et al. A cost-efficient framework for finding prospective customers based on reverse skyline queries
Huang et al. A clustering based approach for skyline diversity
Qi et al. Efficient top-k spatial distance joins
Apaydin et al. Access structures for angular similarity queries
CN111026922A (zh) 一种分布式向量索引方法、系统、插件及电子设备
Ashok et al. Improved performance of unsupervised method by renovated K-means
CN111859192B (zh) 搜索方法、装置、电子设备及存储介质
CN114417074A (zh) 高维度量空间数据的快速knn检索方法及系统
CN113139834A (zh) 信息处理方法、装置、电子设备和存储介质
Georgoulas et al. User-centric similarity search
Amato et al. Pivot selection strategies for permutation-based similarity search

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant