【技术实现步骤摘要】
基于区域分级航线图算法的数据检索方法
[0001]本专利技术涉及数据检索领域,更为具体的,涉及一种基于区域分级航线图算法的数据检索方法。
技术介绍
[0002]随着互联网,多媒体,以及各种网络应用的高速发展,各种各样的数据影响着、服务着我们的生活,数据规模急速增长,在多个领域以及大企业内,数据规模已经积累到TB、PB甚至EB级别。数据在爆炸式增长的同时出现了一些新的特点,其中最突出的特征是数据的高维化。为了使数据能够更好的表达和记录人们生活的方方面面,许多领域的数据维数动辄成百上千。传统的数据检索方法想精确匹配高维数据难上加难,很难满足时间上的需求,最基本的数据检索过程效率低下,使得自然语言处理,机器学习等上层算法难以进行。为了解决此难题,学者们提出了很多的检索结构,各种树形结构如kd-tree,X-tree,M-tree等被提出。树形结构在数据维度低时效果优秀,但随着数据维数的增加,算法效率急剧下降,检索时间复杂度指数级上升,甚至不及线性扫描的速度,这就是许多检索算法无法克服的“维度灾难”(又称“维度诅咒”)问题。
[0003]又因为在工业上,多数应用并不需要完全精确的结果,学者们提出了近似最近邻检索(ANNS)的概念,允许查到结果与最优解存在一定的误差,以此来满足算法在实际应用中对查询效率的要求。目前,性能优秀的近似最近邻检索算法有很多,如annoy、panns、kgraph、faiss等算法和库都得到了广泛的应用。其中,分层通航小世界图(HNSW)算法被认为是近似最近邻检索算法中性能最优的算法,此算法是 ...
【技术保护点】
【技术特征摘要】
1.一种基于区域分级航线图算法的数据检索方法,其特征在于,包括步骤:通过迭代聚类算法对整个区间的数据进行区域划分,并主动选择区域分级航线图算法中每级的区域大小和分级数来初始化区域分级航线图,并用于构建索引;利用构建的索引来检索查询数据的近似最近邻。2.根据权利要求1所述的基于区域分级航线图算法的数据检索方法,其特征在于,构建索引包括步骤:S1,载入向量数据;S2,计算区域分级航线图算法的分级数和每级的区域大小;S3,计算区域分级航线图算法中每级的区域中的数据分布;S4,将数据集插入到区域分级航线图算法中;S5,保存索引文件。3.根据权利要求1或2所述的基于区域分级航线图算法的数据检索方法,其特征在于,利用构建的索引检索查询数据的近似最近邻包括步骤:S6,加载区域分级航线图算法的索引文件,获得区域分级航线图算法的索引结构;S7,在区域分级航线图算法中,利用获得的索引结构检索查询数据的近似最近邻。4.根据权利要求2所述的基于区域分级航线图算法的数据检索方法,其特征在于,在步骤S1中,载入向量数据集D,获得向量数据集D的数据个数N。5.根据权利要求4所述的基于区域分级航线图算法的数据检索方法,其特征在于,在步骤S2中,向量数据集D作为最大区域,在数据插入阶段放在第0级,即第0级的区域大小为N,第1级的区域大小为第0级的1/T,第1级的区域大小N/T,第2级的区域大小为N/T2,第3级的区域大小为N/T3,以此类推,直到第j级的区域大小N
j
<T为止,得到区域分级航线图算法的分级数L和每级的区域大小,T为预先设定的一个正整数比例值,用来表示区域大小的比例关系。6.根据权利要求5所述的基于区域分级航线图算法的数据检索方法,其特征在于,步骤S3中,包括步骤:S31,对第0级进行聚类和数据标记;S32,对区域分级航线图算法的L级中除第0级以外的每一级各自进行聚类。7.根据权利要求6所述的基于区域分级航线图算法的数据检索方法,其特征在于,在步骤S31中,包括步骤:S311,将第1级的数据点作为第0级的类中心数据点,第2级的数据点作为第1级的类中心数据点,第3级的数据点作为第2级的类中心数据点,以此类推规律,将下一级的数据点为上一级的类中心点,记第1级的区域大小为N1,记第0级的类中心点的个数为p0,且,N为第0级的区域大小,T为预先设定的一个正整数比例值,用来表示区域大小的比例关系;S312,将第0级的第一个数据点作为第一个类中心点;S313,计算第0级其他数据点与第k个类中心点的距离之和:
计算得到的最大的对应的数据点作为第个类中心点,直到;其中,k=1,2,3...;为数据点;Sum表示求和函数;S314,在第0级分别计算每个数据点与个类中心点的距离,找到与距离最近的类中心点d
*
,并将数据点分到d
*
对应的类中;S315,对每一个类,计算类中所有数据点的均值作为目标中心,选取类中距离目标中心最近的一个数据点作为这个类新的类中心点;S316,重复执行步骤S315,直到所有的类中心点不变为止;S317...
【专利技术属性】
技术研发人员:温序铭,杨瀚,
申请(专利权)人:成都索贝数码科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。