[发明专利]一种内存索引结构-距离树的构建及基于距离树的相似性连接算法在审
申请号: | 201610170691.9 | 申请日: | 2016-03-24 |
公开(公告)号: | CN105843907A | 公开(公告)日: | 2016-08-10 |
发明(设计)人: | 王鹏;汪洋;汪卫;董明秀 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06K9/62 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于数据挖掘技术领域,具体为一种内存索引结构‑距离树构建及基于距离树的相似性连接算法。本发明针对海量高维数据的相似性连接问题,提出了一种新型内存索引结构‑距离树。基于距离树的相似性连接算法是一种高效的分区‑过滤两阶段算法:第一阶段,距离树可以根据数据的潜在分布对数据进行有效的分区,同时在每个分区内部保存分区过程中产生的计算;第二阶段,在每个分区内部,距离树可以利用保存的计算剪枝精算阶段大量不必要的计算。实验证明,距离树比已有的相似性连接算法具有更高的效率。 | ||
搜索关键词: | 一种 内存 索引 结构 距离 构建 基于 相似性 连接 算法 | ||
【主权项】:
一种索引结构‑距离树的构建方法,其特征在于,所述距离树是一种分层次的树形结构,它包含两种结点:内部结点和叶结点;叶结点用于存储数据,内部结点用于存储指向其子结点的指针;距离树每个结点包含如下信息:(1)结点在树中的层次L,根结点的层次是0,根节点的子节点的层次是1,依此类推;(2)以当前结点为根结点的记录个数C;(3)位置信息pos,节点N的pos取值表示结点N中的记录和N的层次所对应的参照点的距离与
的倍数关系;pos的计算方法如下,对于第i层的节点N,其包含的任意记录x和参照点rL的距离满足如下关系:
其中,d(x,rL)表示x和rL的距离,
是相似度阈值;构建距离树需要设置三个参数:第一个是参照点的队列,记为
,距离树从根结点开始每增加一层高度,需要从R中取出一个点当作该层的中心点;第二个是叶结点能容纳的记录条数的最大数据量,记为Ψ;第三个是用户指定的相似度阈值
;距离树的构建分为两个阶段:初始化阶段,数据插入阶段:(一)初始化阶段:选取一组合适的参考点,把给定的数据集划分成几个交互尽可能少的分区;参照点的选取使用主成分分析(PCA)算法,通过主成分分析算法对于原先提出的所有变量,将重复的变量删去多余,建立尽可能少的新变量,使得这些新变量是两两不相关的,而且这些新变量在反映的信息方面尽可能保持原有的信息;参照点选取好之后,开始初始化距离树,即只构建树的根节点,记新建树的根结点NR,并设置层次L=0,位置pos=‑1,记录个数C=0;(二)数据插入阶段:通过逐条插入方式构建距离树,插入数据的过程就是把每条数据分发到某个叶结点的过程;插入记录x时,从根结点NR 开始访问直到某个叶结点结束,假设当前访问结点为N, N所在的层次为L,按如下步骤插入数据x:(1)如果N是一个叶结点,把x加到N中,N的C值加1,如果此时C=Ψ,按照结点分裂策略将N分裂;(2)如果N是一个内部结点,计算
的值pos’,查找N是否存在pos取值为pos’的子结点
,如果存在,则把
当成当前结点,对其执行插入步骤;如果不存在,则创建一个N的子结点,设置其pos=pos’,L的值为其父结点层次值加1,把x分配到该结点并设置C=1;所述按照结点分裂策略将N分裂,即把变为内部节点,并增加若干个子节点,分裂具体算法如下,对于第i层需要分裂的结点N,按如下策略进行分裂:对于N中的每条数据x:(1)计算x和ri的距离d(x,ri);(2)计算满足
的值j,如果不存在
的子结点,就创建一个位置信息pos=j的子结点,并把x分配到这个结点,数据个数
;如果存在
的子结点,则直接把x分发到这个结点,C增加1;检查获得x的结点中数据个数C,如果
,则从步骤1开始对这个结点继续进行分裂;当N中的所有记录添加到其子节点中以后,N节点则变为一个内部节点,其pos值、C值和L值表示不变。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610170691.9/,转载请声明来源钻瓜专利网。
- 上一篇:用于风力发电机组的轴承状态监控系统
- 下一篇:风电弹性支撑装置