CN109189819A - 一种移动k近邻差异化查询方法、系统及装置 - Google Patents

一种移动k近邻差异化查询方法、系统及装置 Download PDF

Info

Publication number
CN109189819A
CN109189819A CN201810764130.0A CN201810764130A CN109189819A CN 109189819 A CN109189819 A CN 109189819A CN 201810764130 A CN201810764130 A CN 201810764130A CN 109189819 A CN109189819 A CN 109189819A
Authority
CN
China
Prior art keywords
data
differentiation
mobile
reference point
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810764130.0A
Other languages
English (en)
Other versions
CN109189819B (zh
Inventor
聂瑞华
赵淦森
梁志浩
李铮
席云
高卓君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Normal University
Original Assignee
South China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China Normal University filed Critical South China Normal University
Priority to CN201810764130.0A priority Critical patent/CN109189819B/zh
Publication of CN109189819A publication Critical patent/CN109189819A/zh
Application granted granted Critical
Publication of CN109189819B publication Critical patent/CN109189819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种移动k近邻差异化查询方法、系统及装置,方法包括:对待查询数据进行弹性数据筛选;采用Kmeans聚类算法对弹性数据筛选结果进行分类;采用Knn查询方法对分类得到的各类数据进行排序;对排序结果进行安全区域计算;根据安全区域计算结果,生成差异化查询结果;系统包括数据筛选模块、分类模块、排序模块、计算模块和生成模块;装置包括存储器和处理器。本发明在提高了运算效率的同时,还保证了最终查询结果的差异性,能够满足多种环境需求,适用性强,可广泛应用于计算机技术领域。

Description

一种移动k近邻差异化查询方法、系统及装置
技术领域
本发明涉及计算机技术领域,尤其是一种移动k近邻差异化查询方法、系统及装置。
背景技术
名词解释:
Kmeans:K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为形心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各簇的形心的值,直至得到最好的聚类结果。(形心可以是实际的点、或者是虚拟点)。
k近邻(knn):K最近邻(k-Nearest Neighbor,KNN)是指运用某种算法找到参考点的K个最近邻对象。
差异化查询:不同用户具有不同爱好、需求,查询算法应当根据现实情况考虑多种用户需求尽量实现查询结果的多样化、差异化。
目标函数:一个工程设计问题常有许多可行的设计方案,最优化设计的任务是要找出其中最优的一个方案。评价最优方案的标准应是在设计中能最好地反映该项设计所要追求的某些特定目标。通常,这些目标可以表示成设计变量的数学函数,这种函数称为目标函数。目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。
运算复杂度:算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。
欧氏距离:欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
空间数据库是指地理信息系统在计算机物理存储介质上存储的与应用相关的地理空间数据的总和,一般是以一系列特定结构的文件的形式组织在存储介质之上的。其研究始于20世纪70年代的地图制图与遥感图像处理领域,其目的是为了有效地利用卫星遥感资源迅速绘制出各种经济专题地图。目前已经广泛应用在各种地理信息查询系统。
在地理信息查询系统中,最近邻查询是最常见的查询。它是不同于点查询(PointQueries)和范围查询的另一类查询方法,用来找出空间中距离一给定点最近的k个对象即最近邻k点,最近邻的数目可以是1个,也可以是多个,即Knn查询。但是,Knn查询仅适用于参考点和查询点均为静止状态的情况下。
移动k近邻查询(MKNN)是常见的连续空间查询类型。MKNN查询可以看作是参考点移动情况下的连续不间断的Knn查询。实现MKNN的大致思路主要是:将参考点的移动轨迹转化为多个离散点的集合,进而对各个离散参考点进行Knn查询。由此,实现MKNN的关键是如何高效地将参考点的移动轨迹转化为多个离散点的集合,且这些离散点的Knn查询应当具有尽量大的独立性和尽量长的时效性,以避免系统长时处于高负荷的运算状态下。
考虑到现实情况,需求并不是恒定的,而是多样的,因此信息查询也应当是多样化、差异化的。而差异化可以是地理上的差异化,也可以是多种因素即高维度的差异化。移动k近邻差异化查询(MKDNN)就是在MKNN基础上实现的差异化查询。
上述现有技术的缺点在于:MKNN查询的运算复杂度本来就高,而在此基础上实现差异化查询的MKDNN方法的运算效率问题更加不可忽视,若按照目标函数的方法将所有查询覆盖点以排列组合的方式计算相应的近邻性和差异性得分,其运算效率很低。另外,由于目标函数直接影响到查询结果的近邻性和差异化,其参数的恒定设置有可能导致差异化不符合多环境需求,适用性不强。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种运算效率高且适用性强的,移动k近邻差异化查询方法、系统及装置。
本发明所采取的第一技术方案是:
一种移动k近邻差异化查询方法,包括以下步骤:
对待查询数据进行弹性数据筛选;
采用Kmeans聚类算法对弹性数据筛选结果进行分类;
采用Knn查询方法对分类得到的各类数据进行排序;
对排序结果进行安全区域计算;
根据安全区域计算结果,生成差异化查询结果。
进一步,所述对待查询数据进行弹性数据筛选这一步骤,其具体为:
采用静态伸缩策略对待查询数据进行弹性数据筛选;
或者采用动态伸缩策略对待查询数据进行弹性数据筛选。
进一步,所述采用静态伸缩策略对待查询数据进行弹性数据筛选这一步骤,包括以下步骤:
基于预设的筛选半径,以参考点为圆心构建一个圆形区域,并获取该圆形区域内的定点数据个数;
判断圆形区域内定点数据的个数是否小于预设的最大邻近点个数,若是,则执行下一步骤;反之,则将筛选半径的大小缩小20%,并基于缩小后的筛选半径,以参考点为圆心构建一个新的圆形区域;
判断圆形区域内定点数据的个数是否大于预设的最小邻近点个数,若是,则执行下一步骤;反之,则将筛选半径的大小增大50%,并基于增大后的筛选半径,以参考点为圆心构建一个新的圆形区域;
获取新的圆形区域内的定点数据。
进一步,所述采用动态伸缩策略对待查询数据进行弹性数据筛选这一步骤,包括以下步骤:
基于随机因子,动态计算筛选半径的大小,所述筛选半径的大小计算公式为:
其中,rnew代表计算得到的筛选半径;rmax_k代表最大邻近点个数对应的圆形区域的半径大小;rmin_k代表最小邻近点个数对应的圆形区域的半径大小;random代表随机因子;
基于计算得到的筛选半径,以参考点为圆心构建一个圆形区域,并获取圆形区域内的定点数据。
进一步,所述采用Kmeans聚类算法对弹性数据筛选结果进行分类这一步骤,包括以下步骤:
基于角度平均分布的原理,生成Kmeans聚类的初始聚类中心;
根据Kmeans聚类的初始聚类中心,对弹性数据筛选结果进行分类。
进一步,所述对排序结果进行安全区域计算这一步骤,包括以下步骤:
将参考点的移动轨迹转化为离散点集合;
根据得到的离散点集合,分别计算每个Kmeans聚类中参考点的第一安全区域和第二安全区域。
进一步,所述根据安全区域计算结果,生成差异化查询结果这一步骤,包括以下步骤:
S1、逐一判断每个Kmeans聚类中参考点移动后的位置是否越过对应Kmeans类别的第一安全区域,若是,则执行步骤S2;反之,则执行步骤S7;
S2、判断参考点移动后的位置是否越过对应Kmeans类别的第二安全区域,若是,则执行步骤S3;反之,则执行步骤S5;
S3、判断参考点移动后的位置越过第二安全区域的类别数量是否超过设定阈值,若是,则执行步骤S4;反之,则执行步骤S6;
S4、判断待查询数据是否超过预设的数据筛选的有效范围,若是,则返回执行对待查询数据进行弹性数据筛选的步骤;反之,则返回执行采用Kmeans聚类算法对弹性数据筛选结果进行分类的步骤;
S5、对参考点移动后的位置越过第一安全区域的类别进行滤除,然后采用Knn查询方法对滤除后得到的有效数据进行排序,并对排序结果进行安全区域计算,得到差异化查询结果,最后执行步骤S7;
S6、重新采用Knn查询方法对参考点移动后的位置越过第二安全区域的类别进行排序,并对排序结果进行安全区域计算,得到差异化查询结果,最后执行步骤S7;
S7、反馈差异化查询结果,并判断参考点的移动是否已经结束,若是,则不做处理;反之,则返回执行步骤S1,直至参考点的移动结束。
本发明所采取的第二技术方案是:
一种移动k近邻差异化查询系统,包括:
数据筛选模块,用于对待查询数据进行弹性数据筛选;
分类模块,用于采用Kmeans聚类算法对弹性数据筛选结果进行分类;
排序模块,用于采用Knn查询方法对分类得到的各类数据进行排序;
计算模块,用于对排序结果进行安全区域计算;
生成模块,用于根据安全区域计算结果,生成差异化查询结果。
进一步,所述计算模块包括:
转化单元,用于将参考点的移动轨迹转化为离散点集合;
计算单元,用于根据得到的离散点集合,分别计算每个Kmeans聚类中参考点的第一安全区域和第二安全区域。
本发明所采取的第三技术方案是:
一种移动k近邻差异化查询装置,包括:
存储器,用于存储程序;
处理器,用于加载程序,以执行如第一技术方案所述的一种移动k近邻差异化查询方法。
本发明的有益效果是:本发明首先对待查询数据进行弹性数据筛选;然后采用Kmeans聚类算法对弹性数据筛选结果进行分类;并采用Knn查询方法对分类得到的各类数据进行排序;接着对排序结果进行安全区域计算;最后根据安全区域计算结果,生成差异化查询结果;本发明通过弹性数据筛选和安全区域的计算来提高运算效率,还通过Kmeans聚类算法对弹性数据筛选结果进行分类以及通过Knn查询方法对分类得到的各类数据进行排序,保证了最终查询结果的差异性,能够满足多种环境需求,适用性强。
附图说明
图1为本发明一种移动k近邻差异化查询方法的步骤流程图;
图2为本发明一种移动k近邻差异化查询方法的优选实施例具体实现流程图;
图3为MKNN算法的查询结果示意图;
图4为MKDNN算法的查询结果示意图;
图5为参考点周围的定点稀疏程度示意图;
图6为现有技术的分类结果示意图;
图7为本发明实施例中对处于特殊位置的参考点的处理结果示意图;
图8为本发明的安全区域的示意图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
参照图1,本发明一种移动k近邻差异化查询方法,包括以下步骤:
对待查询数据进行弹性数据筛选;
采用Kmeans聚类算法对弹性数据筛选结果进行分类;
采用Knn查询方法对分类得到的各类数据进行排序;
对排序结果进行安全区域计算;
根据安全区域计算结果,生成差异化查询结果。
进一步作为优选的实施方式,所述对待查询数据进行弹性数据筛选这一步骤,其具体为:
采用静态伸缩策略对待查询数据进行弹性数据筛选;
或者采用动态伸缩策略对待查询数据进行弹性数据筛选。
进一步作为优选的实施方式,所述采用静态伸缩策略对待查询数据进行弹性数据筛选这一步骤,包括以下步骤:
基于预设的筛选半径,以参考点为圆心构建一个圆形区域,并获取该圆形区域内的定点数据个数;
判断圆形区域内定点数据的个数是否小于预设的最大邻近点个数,若是,则执行下一步骤;反之,则将筛选半径的大小缩小20%,并基于缩小后的筛选半径,以参考点为圆心构建一个新的圆形区域;
判断圆形区域内定点数据的个数是否大于预设的最小邻近点个数,若是,则执行下一步骤;反之,则将筛选半径的大小增大50%,并基于增大后的筛选半径,以参考点为圆心构建一个新的圆形区域;
获取新的圆形区域内的定点数据。
进一步作为优选的实施方式,所述采用动态伸缩策略对待查询数据进行弹性数据筛选这一步骤,包括以下步骤:
基于随机因子,动态计算筛选半径的大小,所述筛选半径的大小计算公式为:
其中,rnew代表计算得到的筛选半径;rmax_k代表最大邻近点个数对应的圆形区域的半径大小;rmin_k代表最小邻近点个数对应的圆形区域的半径大小;random代表随机因子;
基于计算得到的筛选半径,以参考点为圆心构建一个圆形区域,并获取圆形区域内的定点数据。
进一步作为优选的实施方式,所述采用Kmeans聚类算法对弹性数据筛选结果进行分类这一步骤,包括以下步骤:
基于角度平均分布的原理,生成Kmeans聚类的初始聚类中心;
根据Kmeans聚类的初始聚类中心,对弹性数据筛选结果进行分类。
进一步作为优选的实施方式,所述对排序结果进行安全区域计算这一步骤,包括以下步骤:
将参考点的移动轨迹转化为离散点集合;
根据得到的离散点集合,分别计算每个Kmeans聚类中参考点的第一安全区域和第二安全区域。
进一步作为优选的实施方式,所述根据安全区域计算结果,生成差异化查询结果这一步骤,包括以下步骤:
S1、逐一判断每个Kmeans聚类中参考点移动后的位置是否越过对应Kmeans类别的第一安全区域,若是,则执行步骤S2;反之,则执行步骤S7;
S2、判断参考点移动后的位置是否越过对应Kmeans类别的第二安全区域,若是,则执行步骤S3;反之,则执行步骤S5;
S3、判断参考点移动后的位置越过第二安全区域的类别数量是否超过设定阈值,若是,则执行步骤S4;反之,则执行步骤S6;
S4、判断待查询数据是否超过预设的数据筛选的有效范围,若是,则返回执行对待查询数据进行弹性数据筛选的步骤;反之,则返回执行采用Kmeans聚类算法对弹性数据筛选结果进行分类的步骤;
S5、对参考点移动后的位置越过第一安全区域的类别进行滤除,然后采用Knn查询方法对滤除后得到的有效数据进行排序,并对排序结果进行安全区域计算,得到差异化查询结果,最后执行步骤S7;
S6、重新采用Knn查询方法对参考点移动后的位置越过第二安全区域的类别进行排序,并对排序结果进行安全区域计算,得到差异化查询结果,最后执行步骤S7;
S7、反馈差异化查询结果,并判断参考点的移动是否已经结束,若是,则不做处理;反之,则返回执行步骤S1,直至参考点的移动结束。
与图1的方法相对应,本发明一种移动k近邻差异化查询系统,包括:
数据筛选模块,用于对待查询数据进行弹性数据筛选;
分类模块,用于采用Kmeans聚类算法对弹性数据筛选结果进行分类;
排序模块,用于采用Knn查询方法对分类得到的各类数据进行排序;
计算模块,用于对排序结果进行安全区域计算;
生成模块,用于根据安全区域计算结果,生成差异化查询结果。
进一步作为优选的实施方式,所述计算模块包括:
转化单元,用于将参考点的移动轨迹转化为离散点集合;
计算单元,用于根据得到的离散点集合,分别计算每个Kmeans聚类中参考点的第一安全区域和第二安全区域。
与图1的方法相对应,本发明一种移动k近邻差异化查询装置,包括:
存储器,用于存储程序;
处理器,用于加载程序,以执行本发明的一种移动k近邻差异化查询方法。
参照图2,下面详细描述MKNN算法和MKDNN算法的具体实现过程:
当参考点在移动状态时,MKNN算法能不间断地查询关于参考点的k个静止的最近邻点;如图3所示,当参考点位于小车a位置时,若要查询对于参考点的3个最近邻餐厅,MKNN查询结果应为{p1,p2,p3};而当参考点移动到图中小车b位置时,MKNN查询结果应为{p6,p7,p8}。但是,地理信息查询系统是应用于现实的,而现实情况却是复杂的。如图3所示,当参考点位于小车a位置时,若area1遇停电而导致p1、p2、p3均无法正常运营,则MKNN的查询结果对于系统使用者而言是无效的。因此,需要在MKNN基础上实现差异化,即MKDNN查询方法。
如图4所示,MKDNN查询与MKNN查询的区别在于:MKDNN查询尽可能保持查询结果的最近邻特性,同时要尽量地使得查询结果各个元素之间的差异化最大。如图4,理想情况下,当参考点位于图中小车c位置时,MKDNN查询结果应为{p2,p4,p6},其中p2、p4、p6均位于不同区域,且与参考点保持最近邻特性;而当参考点移动到图中小车d位置时,MKDNN查询结果应为{p2,p6,p8},其中p2、p6、p8均位于不同区域,且与参考点保持最近邻特性。
由于MKNN查询的运算复杂度本来就高,而在此基础上实现差异化查询的MKDNN方法的运算效率问题更加不可忽视。若按照目标函数的方法将所有查询覆盖点以排列组合的方式计算相应的近邻性和差异性得分,其运算效率将是不可接受的。因此,本发明提出了一种运算效率高且适用性强的移动k近邻差异化查询方法,其具体实施步骤如下:
首先,对待查询数据进行弹性数据筛选:由于一个地理区域(例如:广州市)的范围很大,且涉及的数据量也十分巨大,但近邻点一般不会在太远的地方,因此可以先将区域内的数据根据预设的筛选半径r进行筛选。但参考点q的移动轨迹具有随机性,因此参考点在不同时刻的时候,其周围的定点稀疏程度不可预测,如图5所示;因此,本发明的筛选半径是弹性可变的,用于确保每个时刻以参考点q为圆心的πr2面积区域内包含足够的定点数据。
本发明基于预设的筛选半径,以参考点q为圆心构建一个圆形区域,并获取该圆形区域内的定点数据,设定点数据的集合为Pr,使得min_k<Pr<max_k,其中,max_k代表预设的最大邻近点个数;min_k代表预设的最小邻近点个数。
本发明的弹性数据筛选策略有两种,分别是静态伸缩策略和动态伸缩策略。
其中,本发明采用静态伸缩策略对待查询数据进行弹性数据筛选的具体实现方法为:
判断圆形区域内定点数据的个数是否小于预设的最大邻近点个数,若是,则执行下一步骤;反之,则将筛选半径的大小缩小20%,并基于缩小后的筛选半径,以参考点为圆心构建一个新的圆形区域;
判断圆形区域内定点数据的个数是否大于预设的最小邻近点个数,若是,则执行下一步骤;反之,则将筛选半径的大小增大50%,并基于增大后的筛选半径,以参考点为圆心构建一个新的圆形区域;
获取新的圆形区域内的定点数据。
本发明采用动态伸缩策略对待查询数据进行弹性数据筛选的具体实现方法为:
基于随机因子,动态计算筛选半径的大小,所述筛选半径的大小计算公式为:
其中,rnew代表计算得到的筛选半径;rmax_k代表最大邻近点个数对应的圆形区域的半径大小;rmin_k代表最小邻近点个数对应的圆形区域的半径大小;random代表随机因子;
基于计算得到的筛选半径,以参考点为圆心构建一个圆形区域,并获取圆形区域内的定点数据。
本发明通过对待查询数据进行弹性数据筛选,能够带来以下好处:(1)把较远的定点数据筛掉,确保最终推荐点的近邻性;(2)在数据大量的情况下,一次数据筛选完成后,其区域半径可为下一次数据筛选作参考,可以大大减少算法计算量,在定点数据均匀情况下效果尤为明显;(3)避免因不同时刻参考点周围的定点稀疏程度而造成不良影响;(4)保证算法每次运算时面对的定点数据量一致。
接着,本发明采用Kmeans聚类算法对弹性数据筛选结果进行分类:
对于二维地理信息,为实现查询结果的差异化,同时考虑定点与参考点的方向关系,本发明以参考点为坐标轴零点,以角度为一个单位,均匀地划分各个类。但当参考点不处于路口时,现有技术会错误地将不同区域的定点划分为同一类,如图6所示,当参考点位于e位置时,area3的部分定点和area1的定点以及area4的部分定点和area2的定点都不应被归为同一类。而Kmeans聚类方法则可以做到无论参考点是否在路口,其均可以将不同区域的定点归为同一类,如图6所示,当参考点位于f位置时,Kmeans聚类方法可以将不同区域的定点归为同一类。
本发明的Kmeans聚类处理方法不局限于二维数据,若定点数据存在高维特征(如用户评价、餐厅类别),本发明同样可以用该方法进行聚类,这样可以保证查询结果中各个推荐点之间的差异化最大。
另外,在各类别区分不明显的时候,Kmeans的各类数据的初始聚类中心对于最终分类结果具有重要影响,而考虑到定点与参考点之间的方向关系,Kmeans的初始聚类中心应按照的角度单位均匀分布。
但是,由于定点数据在各个方向的稀疏程度无法预测,因此存在这种可能:定点在某些方向比较集中,而在某些方向特别稀少甚至没有,而这种按照角度均匀分布聚类中心的初始化方法有可能会导致Kmeans聚类的某些类别没有元素,如图7所示,当参考点处于g位置时,图中左下角的area4类别没有元素,为了避免这种情况,本发明将随机指定k个定点为初始化聚类中心,以获得如图7所示的,参考点位于h位置时,获得的各个类别的组成。
然后,采用Knn查询方法对分类得到的各类数据进行排序;Knn查询是数据库中常见的操作,其具体是通过不断的距离计算(欧氏距离等)、比较,找到与参考点相近的K个点的操作。
再然后,对排序结果进行安全区域计算:本发明为了减少计算频率,将参考点移动轨迹转化为离散点集合,使移动连续计算转换为离散点计算。
例如:在某个聚类的类别中,设集合S={p1、p2、p3、……pm}是距参考点q最近的m个定点数据的集合,且p1、p2、p3、……、pm与参考点q的距离依次递增,设d(p)为定点p到参考点q的距离,则d(p1)<d(p2)<d(p3)<……<d(pm)。设参考点参考点q移动一定的距离dis(q,q')后,参考点位置变为q',则p1、p2、p3、……、pm与q'之间的距离分别为d'(p1)、d'(p2)、d'(p3)、……、d'(pm)。
参考点由q移动到q'后,存在下列三角形不等式:
d(p)+dis(q,q')≥d'(p)
d(p)-dis(q,q')≤d'(p)
令d(px)<d(py),要使d'(px)<d'(py),
将上述三角形不等式代入可得:
如图8所示,AVR代表第一安全区域,QVR代表第二安全区域,参考点q移动后的位置可能存在以下三种情况:1)、处于第一安全区域(AVR)内;2)、处于第二安全区域(QVR)内且在第一安全区域(AVR)之外;3)、处于第二安全区域(QVR)之外。
对于上述的第1)种情况,由于d(p1)<d(p2)<d(p3)<……<d(pm),当参考点q移动的距离满足以下条件时:
存在d'(p1)<d'(pi)(1<i≤m)。因此,在第1)种情况下,对于该聚类中的参考点q',p1仍然是最近点。此时,令其中,r2,1代表第一安全区域的半径。
对于上述的第2)种情况,由于d(pm)<d(pi)(i>m),所以当参考点的移动距离满足以下条件时:
存在d'(p1)<d'(pi)(i>m)。因此,在第2)种情况下,对于该聚类中的参考点q',pi(i>m)均非最近点,而最近点必然在S={p1、p2、p3、……pm}这个集合内。令其中,rm,1代表第二安全区域的半径。此时,若参考点在第二安全区域内却在第一安全区域外,仅需要计算d'(p1)、d'(p2)、d'(p3)、……、d'(pm),从而找出最近点和“第一安全区域”(AVR)。
对于上述第3)种情况,当参考点的移动距离满足以下条件时:则参考点移动后的位置q'处于第二安全区域之外,此时,集合S={p1、p2、p3、……pm}中的最近邻特性可能已经失效,需要对聚类的结果进行重新计算,进而找出对应于参考点q'的m个最近邻点,并重新计算第一安全区域和第二安全区域。
综上所述,本发明一种移动k近邻差异化查询方法、系统及装置具有以下优点:
1)、本发明通过弹性数据筛选和安全区域的计算来提高运算效率,且能够保证运算的时效性;
2)、本发明通过Kmeans聚类算法对弹性数据筛选结果进行分类以及通过Knn查询方法对分类得到的各类数据进行排序,保证了最终查询结果的差异性,能够满足多种环境需求,适用性强;
3)、本发明能够把较远的定点数据筛掉,确保最终推荐点的近邻性;
4)、本发明在数据大量的情况下,完成一次数据筛选后,其区域半径可为下一次数据筛选作参考,进而大大减少了算法计算量;
5)、本发明能够避免因不同时刻参考点周围的定点稀疏程度而造成不良影响;
6)、本发明能够保证算法每次运算时面对的定点数据量一致。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种移动k近邻差异化查询方法,其特征在于:包括以下步骤:
对待查询数据进行弹性数据筛选;
采用Kmeans聚类算法对弹性数据筛选结果进行分类;
采用Knn查询方法对分类得到的各类数据进行排序;
对排序结果进行安全区域计算;
根据安全区域计算结果,生成差异化查询结果。
2.根据权利要求1所述的一种移动k近邻差异化查询方法,其特征在于:所述对待查询数据进行弹性数据筛选这一步骤,其具体为:
采用静态伸缩策略对待查询数据进行弹性数据筛选;
或者采用动态伸缩策略对待查询数据进行弹性数据筛选。
3.根据权利要求2所述的一种移动k近邻差异化查询方法,其特征在于:所述采用静态伸缩策略对待查询数据进行弹性数据筛选这一步骤,包括以下步骤:
基于预设的筛选半径,以参考点为圆心构建一个圆形区域,并获取该圆形区域内的定点数据个数;
判断圆形区域内定点数据的个数是否小于预设的最大邻近点个数,若是,则执行下一步骤;反之,则将筛选半径的大小缩小20%,并基于缩小后的筛选半径,以参考点为圆心构建一个新的圆形区域;
判断圆形区域内定点数据的个数是否大于预设的最小邻近点个数,若是,则执行下一步骤;反之,则将筛选半径的大小增大50%,并基于增大后的筛选半径,以参考点为圆心构建一个新的圆形区域;
获取新的圆形区域内的定点数据。
4.根据权利要求2所述的一种移动k近邻差异化查询方法,其特征在于:所述采用动态伸缩策略对待查询数据进行弹性数据筛选这一步骤,包括以下步骤:
基于随机因子,动态计算筛选半径的大小,所述筛选半径的大小计算公式为:
其中,rnew代表计算得到的筛选半径;rmax_k代表最大邻近点个数对应的圆形区域的半径大小;rmin_k代表最小邻近点个数对应的圆形区域的半径大小;random代表随机因子;
基于计算得到的筛选半径,以参考点为圆心构建一个圆形区域,并获取圆形区域内的定点数据。
5.根据权利要求1所述的一种移动k近邻差异化查询方法,其特征在于:所述采用Kmeans聚类算法对弹性数据筛选结果进行分类这一步骤,包括以下步骤:
基于角度平均分布的原理,生成Kmeans聚类的初始聚类中心;
根据Kmeans聚类的初始聚类中心,对弹性数据筛选结果进行分类。
6.根据权利要求1所述的一种移动k近邻差异化查询方法,其特征在于:所述对排序结果进行安全区域计算这一步骤,包括以下步骤:
将参考点的移动轨迹转化为离散点集合;
根据得到的离散点集合,分别计算每个Kmeans聚类中参考点的第一安全区域和第二安全区域。
7.根据权利要求6所述的一种移动k近邻差异化查询方法,其特征在于:所述根据安全区域计算结果,生成差异化查询结果这一步骤,包括以下步骤:
S1、逐一判断每个Kmeans聚类中参考点移动后的位置是否越过对应Kmeans类别的第一安全区域,若是,则执行步骤S2;反之,则执行步骤S7;
S2、判断参考点移动后的位置是否越过对应Kmeans类别的第二安全区域,若是,则执行步骤S3;反之,则执行步骤S5;
S3、判断参考点移动后的位置越过第二安全区域的类别数量是否超过设定阈值,若是,则执行步骤S4;反之,则执行步骤S6;
S4、判断待查询数据是否超过预设的数据筛选的有效范围,若是,则返回执行对待查询数据进行弹性数据筛选的步骤;反之,则重新采用Kmeans聚类算法对弹性数据筛选结果进行分类,然后执行步骤S1;
S5、对参考点移动后的位置越过第一安全区域的类别进行滤除,然后采用Knn查询方法对滤除后得到的有效数据进行排序,并对排序结果进行安全区域计算,得到差异化查询结果,最后执行步骤S7;
S6、重新采用Knn查询方法对参考点移动后的位置越过第二安全区域的类别进行排序,并对排序结果进行安全区域计算,得到差异化查询结果,最后执行步骤S7;
S7、反馈差异化查询结果,并判断参考点的移动是否已经结束,若是,则不做处理;反之,则返回执行步骤S1,直至参考点的移动结束。
8.一种移动k近邻差异化查询系统,其特征在于:包括:
数据筛选模块,用于对待查询数据进行弹性数据筛选;
分类模块,用于采用Kmeans聚类算法对弹性数据筛选结果进行分类;
排序模块,用于采用Knn查询方法对分类得到的各类数据进行排序;
计算模块,用于对排序结果进行安全区域计算;
生成模块,用于根据安全区域计算结果,生成差异化查询结果。
9.根据权利要求8所述的一种移动k近邻差异化查询系统,其特征在于:所述计算模块包括:
转化单元,用于将参考点的移动轨迹转化为离散点集合;
计算单元,用于根据得到的离散点集合,分别计算每个Kmeans聚类中参考点的第一安全区域和第二安全区域。
10.一种移动k近邻差异化查询装置,其特征在于:包括:
存储器,用于存储程序;
处理器,用于加载程序,以执行如权利要求1-7任一项所述的一种移动k近邻差异化查询方法。
CN201810764130.0A 2018-07-12 2018-07-12 一种移动k近邻差异化查询方法、系统及装置 Active CN109189819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810764130.0A CN109189819B (zh) 2018-07-12 2018-07-12 一种移动k近邻差异化查询方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810764130.0A CN109189819B (zh) 2018-07-12 2018-07-12 一种移动k近邻差异化查询方法、系统及装置

Publications (2)

Publication Number Publication Date
CN109189819A true CN109189819A (zh) 2019-01-11
CN109189819B CN109189819B (zh) 2021-08-24

Family

ID=64935988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810764130.0A Active CN109189819B (zh) 2018-07-12 2018-07-12 一种移动k近邻差异化查询方法、系统及装置

Country Status (1)

Country Link
CN (1) CN109189819B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110969483A (zh) * 2019-11-29 2020-04-07 支付宝实验室(新加坡)有限公司 一种识别商户位置的方法、装置及电子设备
CN113378995A (zh) * 2021-07-09 2021-09-10 中山大学 基于iDistance算法的不确定数据序列K近邻方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110257505A1 (en) * 2010-04-20 2011-10-20 Suri Jasjit S Atheromatic?: imaging based symptomatic classification and cardiovascular stroke index estimation
CN103617609A (zh) * 2013-10-24 2014-03-05 上海交通大学 基于图论的k-means非线性流形聚类与代表点选取方法
CN105006014A (zh) * 2015-02-12 2015-10-28 上海交通大学 虚拟衣物快速模拟试穿的实现方法及系统
CN106096065A (zh) * 2016-07-29 2016-11-09 贵州大学 一种多媒体对象的相似检索方法及装置
CN106778259A (zh) * 2016-12-28 2017-05-31 北京明朝万达科技股份有限公司 一种基于大数据机器学习的异常行为发现方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110257505A1 (en) * 2010-04-20 2011-10-20 Suri Jasjit S Atheromatic?: imaging based symptomatic classification and cardiovascular stroke index estimation
CN103617609A (zh) * 2013-10-24 2014-03-05 上海交通大学 基于图论的k-means非线性流形聚类与代表点选取方法
CN105006014A (zh) * 2015-02-12 2015-10-28 上海交通大学 虚拟衣物快速模拟试穿的实现方法及系统
CN106096065A (zh) * 2016-07-29 2016-11-09 贵州大学 一种多媒体对象的相似检索方法及装置
CN106778259A (zh) * 2016-12-28 2017-05-31 北京明朝万达科技股份有限公司 一种基于大数据机器学习的异常行为发现方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YU GU ET AL.: "The Moving K Diversified Nearest", 《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110969483A (zh) * 2019-11-29 2020-04-07 支付宝实验室(新加坡)有限公司 一种识别商户位置的方法、装置及电子设备
CN110969483B (zh) * 2019-11-29 2023-10-10 支付宝实验室(新加坡)有限公司 一种识别商户位置的方法、装置及电子设备
CN113378995A (zh) * 2021-07-09 2021-09-10 中山大学 基于iDistance算法的不确定数据序列K近邻方法及系统
CN113378995B (zh) * 2021-07-09 2024-03-12 中山大学 基于iDistance算法的不确定数据序列K近邻方法及系统

Also Published As

Publication number Publication date
CN109189819B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
Kang et al. A weight-incorporated similarity-based clustering ensemble method based on swarm intelligence
Cheng et al. Swarm intelligence in big data analytics
Chen et al. Subspace weighting co-clustering of gene expression data
Miranda et al. A hybrid meta-learning architecture for multi-objective optimization of SVM parameters
Bijari et al. Memory-enriched big bang–big crunch optimization algorithm for data clustering
Jie et al. Hybrid fuzzy clustering methods based on improved self-adaptive cellular genetic algorithm and optimal-selection-based fuzzy c-means
CN107341178A (zh) 一种自适应的二进制量化哈希编码方法及装置
Xiong et al. Multi-feature fusion and selection method for an improved particle swarm optimization
CN109189819A (zh) 一种移动k近邻差异化查询方法、系统及装置
Cai et al. Spectral clustering by subspace randomization and graph fusion for high-dimensional data
Xue et al. Structure and weights search for classification with feature selection based on brain storm optimization algorithm
Floris et al. Composite layers for deep anomaly detection on 3D point clouds
Van Zyl et al. A subspace-based method for PSO initialization
Lu et al. A dynamic swarm firefly algorithm based on chaos theory and max-min distance algorithm.
Zrehen Analyzing Kohonen maps with geometry
Hong et al. Convex hull-based multi-objective evolutionary computation for maximizing receiver operating characteristics performance
Sepas-Moghaddam et al. A novel hybrid image segmentation method
Sharma et al. Dynamic scaling factor based differential evolution algorithm
Nielsen et al. Further heuristics for $ k $-means: The merge-and-split heuristic and the $(k, l) $-means
Truong et al. A flexible cluster-oriented alternative clustering algorithm for choosing from the Pareto front of solutions
Zhang et al. An adaptive particle swarm optimization algorithm based on aggregation degree
Dharamsotu et al. k-NN Sampling for Visualization of Dynamic data using LION-tSNE
Zhang et al. Parallel selectivity estimation for optimizing multidimensional spatial join processing on gpus
Lin et al. Finding optimal region for bichromatic reverse nearest neighbor in two-and three-dimensional spaces
De Lima et al. Improving classifiers and regions of competence in dynamic ensemble selection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant