[发明专利]一种结合VP树和导向近邻图的近似最近邻搜索方法在审
申请号: | 202011223218.5 | 申请日: | 2020-11-05 |
公开(公告)号: | CN112287185A | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 徐小良;马丁程;王宇翔 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 周希良 |
地址: | 310018 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 结合 vp 导向 近邻 近似 搜索 方法 | ||
1.一种结合VP树和导向近邻图的近似最近邻搜索方法,其特征在于该方法包含两个过程:索引构建过程和三阶段搜索过程;具体包含以下步骤:
(1)索引构建过程:首先构建存放入口点的VP树,然后将高维向量数据构建成K近邻图,最后基于VP树和K近邻图生成可导向K近邻图;
(1-1)针对高维向量数据构建存放入口点的VP树;
(1-2)使用可导航伸展图将高维向量数据构建成K近邻图;
(1-3)基于VP树将K近邻图中的每个点的邻居集均匀地划分为子邻居集left和子邻居集right得到可导向近邻图;
(2)执行搜索过程,搜索过程包括三个阶段:查找入口点阶段、导向搜索阶段和穷尽搜索阶段;
(2-1)查找入口点阶段:通过搜索VP树,快速得到大致接近查询点的入口点;
(2-2)导向搜索阶段:从入口点开始,利用基于VP树的导向搜索算法高效的收敛并得到查询点的局部最近点;
(2-3)穷尽搜索阶段:从查询点的局部最近点开始,利用范围搜索算法穷尽搜索查询点附近的点并返回查询点的top-K个最近点。
2.根据权利要求1所述的一种结合VP树和导向近邻图的近似最近邻搜索方法,其特征在于,步骤(1-1)所述的
针对高维向量数据构建存放入口点的VP树的形式化描述是,对于高维数据集S,将其抽象表示为
S={vi|i=1,2,…,N}
其中,vi为第i个向量数据,N为数据集的大小;
VP树的0到dep-1层的非叶子节点将高维数据集S划分成规模较小的2dep-1个子集,dep表示VP树的深度,VP树的dep层的叶子节点将对应子集的质心作为入口点保存;
每个VP树节点对应集合表示为
其中x表示VP树节点对应的序号,对于VP树的每一个非叶子节点,从每一个非叶子节点对应的集合Sx中随机选出一个点作为优势点tx,tx满足
tx={tx∈Sx|0≤x≤2dep-1-2}
计算优势点tx和集合Sx中所有点之间的距离并选择能够将集合Sx均匀地划分为两个子集S2x+1和S2x+2的中间距离作为中间值μx,S2x+1和S2x+2满足
S2x+1={s∈Sx|dist(s,tx)≤μx,2x+1<2dep-2}
S2x+2={s∈Sx|dist(s,tx)>μx,2x+2≤2dep-2}
S2x+1和S2x+2分别用于构建序号为x的VP树节点的左子树和右子树,以此类推直到VP树的深度达到预设深度dep时终止,对于每个叶子节点,将每个叶子节点对应的集合Sx的质心ei作为入口点,ei满足
ei={ei∈Sx|1≤i≤2dep-1,2dep-1-1≤x≤2dep-2}
最终能使2dep-1个入口点均匀地分布在近邻图中;
VP树具体的构建步骤如下所示:
步骤1:从根节点对应的集合S0(S0=S)中随机选择t0作为优势点,计算优势点t0和集合S0中所有点之间的距离并选择能够将集合S0均匀地划分为两个子集S1和S2的中间距离作为中间值μ0,S1和S2满足
S1={s∈S0|dist(s,t0)≤μ0}
S2={s∈S0|dist(s,t0)>μ0}
步骤2:将步骤1的过程递归应用于子集S1和S2,直到深度达到dep时终止;
步骤3:将dep层中每个叶子节点对应的集合的质心ei作为入口点保存;
VP树索引结构的非叶子节点只保存对应的优势点tx和中间值μx,叶子节点只需要保存对应的入口点ei即可,VP树能够将10dep-1个入口点均匀地分布在近邻图中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011223218.5/1.html,转载请声明来源钻瓜专利网。