一种近似的海量地址数据最近邻查询方法.pdf

上传人:Y0****01 文档编号:4447881 上传时间:2018-10-02 格式:PDF 页数:13 大小:2.19MB
返回 下载 相关 举报
一种近似的海量地址数据最近邻查询方法.pdf_第1页
第1页 / 共13页
一种近似的海量地址数据最近邻查询方法.pdf_第2页
第2页 / 共13页
一种近似的海量地址数据最近邻查询方法.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《一种近似的海量地址数据最近邻查询方法.pdf》由会员分享,可在线阅读,更多相关《一种近似的海量地址数据最近邻查询方法.pdf(13页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103995871 A (43)申请公布日 2014.08.20 C N 1 0 3 9 9 5 8 7 1 A (21)申请号 201410217378.7 (22)申请日 2014.05.22 G06F 17/30(2006.01) (71)申请人东北大学 地址 110819 辽宁省沈阳市和平区文化路3 号巷11号 (72)发明人宋杰 徐澍 李甜甜 朱志良 (74)专利代理机构沈阳东大知识产权代理有限 公司 21109 代理人梁焱 (54) 发明名称 一种近似的海量地址数据最近邻查询方法 (57) 摘要 本发明一种近似的海量地址数据最近邻查询 方法,属于数据挖掘领。

2、域,本发明在人们并不需要 精确的查询结果,仅需要满足一定精度要求的近 似查询结果时,适当损失查询精度,以一种更快速 的反应速度对用户的查询做出应答;同时若用户 希望得到一个非近似的、精确的查询结果集时,本 方法依然可以对此类要求做出应答。 (51)Int.Cl. 权利要求书1页 说明书6页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书6页 附图5页 (10)申请公布号 CN 103995871 A CN 103995871 A 1/1页 2 1.一种近似的海量地址数据最近邻查询方法,其特征在于,包括以下步骤: 步骤1、通过GPRS系统查询获得用户。

3、所在位置周围的所有目标地址; 步骤2、根据实际需求设定垂直距离和水平距离的权值; 步骤3、计算加权值,即将垂直距离乘以其权值获得的结果与水平距离乘以其权值获得 的结果相加; 步骤4、根据实际需求设置查询条件,包括查询目标地址个数、查询误差和确定查询算 法; 步骤5、判断设置的查询条件是否满足约束条件,具体为: 约束1:查询目标地址个数小于或等于GPRS系统中查询的目标地址总数; 约束2:查询误差大于或等于零; 约束3:查询算法为近似KNN算法; 若同时满足约束1约束3,则执行步骤6; 若同时满足约束1和约束2,则执行步骤12; 若同时不满足约束1约束3,则返回执行步骤4进行重新设置; 步骤6、。

4、将GPRS系统中记录的所有目标地址按照记录顺序进行分组,每组的地址个数 为查询目标地址个数; 步骤7、判断分组后的每组实际地址个数是否均大于设置的查询目标地址个数,若是, 则执行步骤8,否则,从未满足条件的组的第一条地址记录起向前查找地址,作为该组的地 址进行补充,直至该组地址个数达到设置的查询目标地址个数,执行步骤8; 步骤8、随机选取每组中一个地址作为代表数据,并在每组中选择另一个地址数据,计 算该地址数据与代表数据之间的加权值差值; 步骤9、判断上述加权值差值的绝对值是否超过用户设定的四分之一倍的查询误差,若 超过,则返回执行步骤4重新设置查询误差,否则,继续选择每组中的其他地址数据进行。

5、计 算判断,直至完成每组中的所有地址数据的比较判断,执行步骤10; 步骤10、采用最近邻查询算法根据每组中的代表数据进行计算,获得所有代表数据中 一个距离最近的地址; 步骤11、将距离最近的代表数据所在的分组中所有地址输出显示,完成用户的地址查 询; 步骤12、直接采用最近邻查询算法对GPRS系统所查询的所有目标地址进行计算,获得 距离用户最近的地址。 2.根据权利要求1所述的近似的海量地址数据最近邻查询方法,其特征在于,步骤10 所述的采用最近邻查询算法根据每组中的代表数据进行计算,即计算每个代表数据与用户 所在位置之间的加权值,选择加权值最小的地址作为距离用户最近的地址。 权 利 要 求 。

6、书CN 103995871 A 1/6页 3 一种近似的海量地址数据最近邻查询方法 技术领域 0001 本发明属于数据挖掘领域,具体涉及一种近似的海量地址数据最近邻查询方法。 背景技术 0002 如今的我们正生活于一个全球数据爆炸增长的时代。IDC研究表明,从2006年到 2010年,全球信息总量增长6倍以上,从161EB增长到988EB,仅仅美国国家航空航天安全 局的一个地球预测数据库中存储的数据量就已经超过10 10 MB。未来全球数据的爆炸性增长, 一方面源于物联网的发展,物联网技术使用数以万计的传感器,能够采集到惊人的数据量。 另一方面则是源于移动设备(智能手机、平板电脑)以及社交网络。

7、的普及。用户每天通过 各种移动终端设备分享各种图片和视频内容,同时,还不断的通过社交网络分享和传播各 种信息。另外,机器日志、车载GPS和零售交易数据等,这些都不断促使“数据之山越来越 高”。数据的爆炸性增长同时造成了一定程度的信息危机,如何在浩如烟海的大数据中快速 有效的找到有价值的信息已成为一个愈受关注的问题。 0003 同时基于位置的服务在社会生活中扮演的角色也越来越重要,它为用户提供需要 的位置相关信息的服务,因此基于空间数据的最近邻查询算法(KNN)的应用也非常广泛, 其主要应用于智能导航、电子商务、交通控制和空间聚类等领域。一个典型案例就是在纽约 机场附近通过GPS定位服务寻找附近。

8、几个最近的餐馆。 0004 KNN方法思路非常简单直观,易于实现;不需要产生额外的数据来描述规则,它的 规则本身就是数据(样本);它允许训练样本库存在噪音。但同时KNN也存在处理过程中 相似度计算量过大、中间结果占据存储空间等问题。可以说大数据领域对最近邻查询提出 新的要求,因此需要针对其缺点对KNN分类算法进行改进。到目前为止绝大多数解决方法 都是从减少样本量方面考虑的:当训练样本集中样本数量较大时,为了减小计算开销,可以 对训练样本集进行编辑处理,即从原始训练样本集中选择最优的参考子集进行K最近邻寻 找,从而减少训练样本的存储量和提高计算效率。但是在浓缩训练样本时可能存在损失样 本数据信息。

9、的情况,同时又很难去评价浓缩后样本的结果与真实结果两者间的近似度。 发明内容 0005 针对现有技术的缺点,本发明提出一种近似的海量地址数据最近邻查询方法,以 达到实现用户自行设定希望查询值与真实值之间的误差、在海量数据环境中快速数据查询 的目的。 0006 一种近似的海量地址数据最近邻查询方法,包括以下步骤: 0007 步骤1、采用GPRS系统查询用户所在位置周围的所有目标地址; 0008 步骤2、根据实际需求设定垂直距离和水平距离的权值; 0009 步骤3、计算加权值,即将垂直距离乘以其权值获得的结果与水平距离乘以其权值 获得的结果相加; 0010 步骤4、根据实际需求设置查询条件,包括查。

10、询目标地址个数、查询误差和确定查 说 明 书CN 103995871 A 2/6页 4 询算法; 0011 步骤5、判断设置的查询条件是否满足约束条件,具体为: 0012 约束1:查询目标地址个数小于或等于GPRS系统中查询的目标地址总数; 0013 约束2:查询误差大于或等于零; 0014 约束3:查询算法为近似KNN算法; 0015 若同时满足约束1约束3,则执行步骤6; 0016 若同时满足约束1和约束2,则执行步骤12; 0017 若同时不满足约束1约束3,则返回执行步骤4进行重新设置; 0018 步骤6、将GPRS系统中记录的所有目标地址按照记录顺序进行分组,每组的地址 个数为查询目。

11、标地址个数; 0019 步骤7、判断分组后的每组实际地址个数是否均大于设置的查询目标地址个数,若 是,则执行步骤8,否则,从未满足条件的组的第一条地址记录起向前查找地址,作为该组的 地址进行补充,直至该组地址个数达到设置的查询目标地址个数,执行步骤8; 0020 步骤8、随机选取每组中一个地址作为代表数据,并在每组中选择另一个地址数 据,计算该地址数据与代表数据之间的加权值差值; 0021 步骤9、判断上述加权值差值的绝对值是否超过用户设定的四分之一倍的查询误 差,若超过,则返回执行步骤4重新设置查询误差,否则,继续选择每组中的其他地址数据 进行计算判断,直至完成每组中的所有地址数据的比较判断。

12、,执行步骤10; 0022 步骤10、采用最近邻查询算法根据每组中的代表数据进行计算,获得所有代表数 据中一个距离最近的地址; 0023 步骤11、将距离最近的代表数据所在的分组中所有地址输出显示,完成用户的地 址查询; 0024 步骤12、直接采用最近邻查询算法对GPRS系统所查询的所有目标地址进行计算, 获得距离用户最近的地址。 0025 步骤10所述的采用最近邻查询算法根据每组中的代表数据进行计算,即计算每 个代表数据与用户所在位置之间的加权值,选择加权值最小的地址作为距离用户最近的地 址。 0026 本发明优点: 0027 本发明一种近似的海量地址数据最近邻查询方法,在人们并不需要精确。

13、的查询结 果,仅需要满足一定精度要求的近似查询结果时,适当损失查询精度,以一种更快速的反应 速度对用户的查询做出应答;同时若用户希望得到一个非近似的、精确的查询结果集时,本 方法依然可以对此类要求做出应答。 附图说明 0028 图1为本发明一种实施例的近似的海量地址数据最近邻查询方法流程图; 0029 图2为本发明一种实施例的数据集空间分布示意图; 0030 图3为本发明一种实施例的划分空间数据集示意图; 0031 图4为本发明一种实施例的空间数据集中划分空间选择代表记录示意图; 0032 图5为本发明一种实施例的执行代表记录选取过程产生的误差的计算示意图; 说 明 书CN 103995871。

14、 A 3/6页 5 0033 图6为本发明一种实施例的执行近似查询输出结果误差计算示意图。 具体实施方式 0034 下面结合附图对本发明一种实施例做进一步说明。 0035 本发明实施例以某商业街空间数据作为研究对象,该空间数据为具有两个属性值 的海量数据,包括长度和高度,对应分别用Height和Length表示。其中长度指水平距离, 高度(由地面到目标地址的高度)指垂直距离。 0036 一种近似的海量地址数据最近邻查询方法,方法流程图如图1所示,包括以下步 骤: 0037 步骤1、采用GPRS系统查询用户所在位置周围的所有目标地址; 0038 本发明实施例中,对海量数据中的地址信息进行鉴别,判。

15、断是否每个需要被查询 的信息均满足:每个地址信息都为数值型数据; 0039 例如,一个目标地址距离用户的距离长度为“很远”或者“很近”等非数值型属性 值,则不符合约束的;一个目标地址高度为A座二层这类数据或者是被编码成的数值串,并 不具有可比较性以及可计算性。而在本实施例中,对于空间数据而言,每个属性都需要经过 计算得出最后的评价指数并比较。 0040 若查询的地址信息是非数值型数据,则将其转换为数值型数据;例如:A座二层。 可以根据建筑规范或者实际建筑建造得出建筑的层高,比如住宅设计规范规定:普通住 宅层高宜为2.80米,那么二层的高度就是5.60米。 0041 例如,对于A座二层这个属性值。

16、,可以用它距离源点的高度和长度将原本的非数 值型属性值转换为数值型属性值。 0042 表1 0043 0044 本发明实施例中,GPRS系统查询结果记录数据库如表1所示。 0045 步骤2、根据实际需求设定垂直距离和水平距离的权值; 0046 本发明实施例中,设定长度的影响会比高度的影响要大,因此在设定查询权重时, 设定权值向量为 0047 步骤3、计算加权值,即将垂直距离乘以其权值获得的结果与水平距离乘以其权值 获得的结果相加; 0048 用每条记录的Length乘以0.6,用Height乘以0.4,并保留计算得到的值,在表2 将数值显示在括号内; 0049 表2 说 明 书CN 10399。

17、5871 A 4/6页 6 0050 0051 计算每条记录Length*0.6+Height*0.4的值,以作为评价记录的最终加权值。 0052 步骤4、根据实际需求设置查询条件,包括查询目标地址个数、查询误差和确定查 询算法; 0053 本发明实施例中,用户查询距离自己最近的十个餐厅,则查询目标为十个餐厅;用 户对与查询结果可以容忍20米的误差,即可以容忍给出的结果比某个最近但不在输出结 果的餐厅远20米。本发明实施例中,用户不希望使用近似查询KNN算法则直接执行查询 KNN算法(最近邻查询算法),寻找精确的距离用户自身所在位置的十个最近的餐厅。 0054 步骤5、判断设置的查询条件是否满。

18、足约束条件,具体为: 0055 约束1:查询目标地址个数小于或等于GPRS系统中查询的目标地址总数; 0056 本发明实施例中,用户想要查询距自身所在位置最新的十个餐厅,若十大于所有 数据集中的记录条数,则不满足此约束; 0057 约束2:查询误差大于或等于零; 0058 例如,用户对与查询结果可以容忍-1米的误差,则不满足此约束; 0059 约束3:查询算法为近似KNN算法; 0060 本发明实施例中,用户对于查询结果允许查询误差的存在则满足此条约束,否则 不满足此条约束。 0061 若同时满足约束1约束3,则执行步骤6; 0062 若同时满足约束1和约束2,则执行步骤12; 0063 若同。

19、时不满足约束1约束3,则返回执行步骤4进行重新设置; 0064 步骤6、将GPRS系统中记录的所有目标地址按照记录顺序进行分组,每组的地址 个数为查询目标地址个数; 0065 如图2所示,本发明实施例中,按顺序地将数据集的记录以十个划分为一组,划分 共计五组。 0066 步骤7、判断分组后的每组实际地址个数是否均大于设置的查询目标地址个数,若 是,则执行步骤8,否则,从未满足条件的组的第一条地址记录起向前查找地址,作为该组的 地址进行补充,直至该组地址个数达到设置的查询目标地址个数,执行步骤8; 0067 本发明实施例中,最后一组分区中仅存在8条记录,小于用户查询目标中指定的 餐厅数量,则计算。

20、分区缺少记录的数量;如图3所示,本实施例中最后一组分区中仅存在8 条记录,距离用户要求的记录数量还差2条记录;确定最后一组分区中的第一条数据所在 数据集中的位置,本发明实施例中其处于第41位;将上一步记录得到的位置之前一定数量 的记录添加到此组,这里一定数量指的就是该组缺少记录的数量,即将在数据集中位于第 40位和39位的记录添加到最后一组中。 0068 步骤8、随机选取每组中一个地址作为代表数据,并在每组中选择另一个地址数 据,计算该地址数据与代表数据之间的加权值差值; 说 明 书CN 103995871 A 5/6页 7 0069 如图4所示,本发明实施例中,随机选择了每个圆圈内的一点,并。

21、将此点标记为实 心;计算一个圆圈内的空心点与实心点的欧几里得距离;所述的欧几里德距离即为加权值 的差值。 0070 步骤9、判断上述加权值差值的绝对值是否超过用户设定的四分之一倍的查询误 差,若超过,则返回执行步骤4重新设置查询误差,否则,继续选择每组中的其他地址数据 进行计算判断,直至完成每组中的所有地址数据的比较判断,执行步骤10; 0071 本发明实施例中,取四分之一的原因如下: 0072 如图5所示,根据三角不等式看出当使用步骤8选择每组的代表记录时,与真实的 距离会产生的两倍的误差,即证明图中所有离中心c不超过r的地点离s的距离不超过 2r。 0073 假设n个地点的集合S,例如中国。

22、辽宁某地区的n个小镇,需要选择一个中心建设 大型购物中心,每一个小镇的人到这个中心的购物中心去购物,并且要求每个小镇距离此 中心的距离不超过r。 0074 设C是中心集,s是n个地点中的一个,则定义地点s到中心集的距离dist(s, C)min cC dist(s,c)。如果每个地点离某一个中心的距离不超过r,即对所有的sS, dist(s,C)r,则称C构成一个r-覆盖。使得C是r-覆盖的最小r称为C的覆盖半径, 记作r(C),即中心集C的覆盖半径等于任何地点到离其最近中心的最远距离。则需要找到 使r(C)尽可能小的包含一个中心的集合C。 0075 考虑任意一个地点sS,一定存在一个中心cC。

23、覆盖地点s,这个中心c离 s的距离不超过r。利用这个地点s代替c作为解中的一个中心,并根据三角不等式证明 所有离中心c不超过r的地点离s的距离不超过2r。 0076 而由图6可以由下述公式计算得出在选择完成后,也可能会产生两倍的误差, 0077 |d|(d 1 +R)-(d 2 -R)|d 1 -d 2 +2R|2R 0078 其中,d表示本方法选择的地点与精确方法选择的地点之间的距离,d 1 、d 2 分别 表示两个“代表”地点与用户所在地点的距离,R指的是分区其他地点与代表地点之间的距 离,其值等于2r。综上所述共产生四倍误差,因此若此差值的绝对值超过用户指定查询误差 的四分之一,则最后输。

24、出的餐厅的位置会大于用户指定的查询误差。 0079 步骤10、采用最近邻查询算法根据每组中的代表数据进行计算,获得所有代表数 据中一个距离最近的地址; 0080 所述的采用最近邻查询算法根据每组中的代表数据进行计算,即计算每个代表数 据与用户所在位置之间的加权值,选择加权值最小的地址作为距离用户最近的地址; 0081 本发明实施例中,如图4所示,用户所在位置为黑色实心点,所以输出的是标号为 4的空心点,因为它距离黑色实心点的距离最近。 0082 步骤11、将距离最近的代表数据所在的分组中所有地址输出显示,完成用户的地 址查询; 0083 最后会输出标号为4的空心点所在的圆圈内的全部空心点,即会。

25、输出代表记录所 在的分区内的全部数据。 0084 步骤12、直接采用最近邻查询算法对GPRS系统所查询的所有目标地址进行计算, 获得距离用户最近的地址。 说 明 书CN 103995871 A 6/6页 8 0085 如图2所示,用户所在位置为黑色实心点,可以直接采用最近邻查询算法,则直接 计算每个点与黑色实心点的距离,并输出十个离黑色实心点最近的空心点,这是个空心点 所代表的数据即为精确结果集。 说 明 书CN 103995871 A 1/5页 9 图1 说 明 书 附 图CN 103995871 A 2/5页 10 图2 说 明 书 附 图CN 103995871 A 10 3/5页 11 图3 说 明 书 附 图CN 103995871 A 11 4/5页 12 图4 说 明 书 附 图CN 103995871 A 12 5/5页 13 图5 图6 说 明 书 附 图CN 103995871 A 13 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1