[发明专利]一种高维数据快速搜索方法在审
申请号: | 201910361033.1 | 申请日: | 2019-04-30 |
公开(公告)号: | CN111858578A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 赵风光 | 申请(专利权)人: | 上海闻通信息科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245;G06F16/28 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200093 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 快速 搜索 方法 | ||
本发明提供一种高维数据快速搜索方法,包括如下步骤:1)从根开始计算,根节点作为父节点,栈清空,DIST取最大值,记数器CNT置为0;2).取出父节点指向的当前向量对应的分类维s和中间値MEAN,计算Y(s)跟MEAN差的平方SQRT;3).比较DIST与SQRT的大小;4).比较Y(s)与MEAN的大小:5).按照先进后出FILO方式进行出栈操作,生成新的父节点;6).判断栈是否为空;7).搜索中止,获得搜索结果。本发明所给出这种能够自动生成优先序列的查找模型和方法,解决了BBF方式存在的最优排序耗时的问题,可以获得更高的计算性价比,为大数据高维搜索提供了全新的更有效的解决方案。
技术领域
本发明属于大数据,计算机软件和信息技术处理领域,对高维数据搜索计算提供快速计算模型,以实现数据的快速计算搜索的方法。
背景技术
对一个规模为n的一维数组,遍历型数据查找的计算量是O(n),通过排序,可以获得O(log(n))规模的查找计算量,因此称为快速查找。一旦数组维数超过1,一维情况的快速查找就无法实现了。不过,人们按照一维快速查找思路,提出了KD树的多维建模方法,也可以实现类似一维的查找算法,有时也能接近O(log(n))的计算量。遗憾的是,这种方法对于数据规模巨大的数据集是有效的,而且数据规模是维数的指数幂次量级,但大部分应用往往到不了这个规模,计算效率也就变得低效了,甚至比遍历计算还差。
如果使用大写字母X,Y表示一个维数为d的数组,也称向量。两个向量的距离用欧氏距离定义为
D(X,Y)= (1)
其中 X=(x1,x2,...,xd),Y=(y1,y2,...,yd)。
对于一个向量集,我们用X1,X2,...,Xn表示n个数据的d维向量数组,高维数据搜索的目标是对一个目标向量Y寻找一个向量集中最近的数,也即满足
(2)
这个问题的求解很简单,就是逐一计算Y与每个向量Xi的距离,取最小的那个。这种遍历型计算也称为暴力计算,其计算量是O(n)级的。当维数d和集合数目n很大时,计算量是很可观的。为了降低计算量,加快搜索速度,人们提出了KD树的平衡二叉树数据结构。把向量集X1,X2,...,Xn存贮为二叉树的节点,然后通过寻求二叉树的叶节点,对(2)实现快速计算,这种计算,不需要比较向量集的所有点,从而实现数据的快速查找。
二叉树的构造,通过计算各维向量的均方差,找出方差最大的那个子维数,作为当前维,按这个子维排序找到最中间向量,作为根节点,然后把向量集从中间向量分成左右两个子集,再把每个子集当成集合各自继续按上述方法划分,形成下级节点,直到子集只剩一个元素,成为叶节点。最终形成平衡二叉树。
上述二叉树的经典搜索方法,对于查询向量Y,从树的根节点开始,根据当前节点的子维数s判断,如果Y(s)大于中间变量,走左分支,否则走右分支,直到叶节点结束。然后从叶节点开始向上回溯,并根据回溯结果,进入其他分支。这种经典计算,通过分维比较,找到一个接近最优的解,表面看省去很多距离计算,但它浪费了中间部分的很多关键信息。当数据向量集数目不大,效率很差,甚至比暴力计算还慢。为此,LOWE提出了一种搜索算法,称为BBF,改进了这种经典回溯法,在从根到叶的回溯过程中构造一个优先序列,每次回溯都不断调整这个优先序列,由于丰富了中间信息,效果比经典方法更快,特别对于中等数据集,BBF搜索成为最好的搜索技术之一,但是尽管BBF对优先序列的排序用了快速堆栈技术,但维护一个堆栈优先级也是很耗计算成本的,限制了它在某些方面的应用。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海闻通信息科技有限公司,未经上海闻通信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910361033.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置