一种指定类别容量的聚类方法及其系统与流程

文档序号:31456534发布日期:2022-09-07 14:45阅读:106来源:国知局
一种指定类别容量的聚类方法及其系统与流程

1.本发明涉及人工智能与算法开发技术领域,尤其涉及一种指定类别容量的聚类方法及其系统。


背景技术:

2.聚类,是一种处理对一组对象进行分组任务的方法,使得一组中的对象彼此之间比其他组中的对象更相似。它是探索性数据分析的一项主要任务,也是统计数据分析的常用技术,应用于许多领域,包括模式识别、图像分析、信息检索、生物信息学、数据压缩、计算机图形学和机器学习。
3.在特定场景中,一般的聚类算法无法满足特殊聚类任务的需求。在露天矿排土运输场景中,运至一个排土场的土块往往来自多个采掘场,同时要求来自同一个采掘场的运输土块在空间中聚集在一起,并满足这些土块在排土场堆放所占的体积与运输量相等。这个问题在排土场由若干具有一定容量的排土块的情况下是非平凡的。在进行空间聚类的同时需要处理每一个排土来源在排土块体积上可能存在的冲突。传统的聚类算法均是仅从离散点的空间分布进行聚类而无法处理特定聚类约束。
4.同时,对非凸区域或存在障碍空间的区域中的离散点集聚类时,传统的聚类方法无法识别空间中的障碍区域,从而使得聚类结果中存在不连通的分支。在露天矿排土运输场景中,排土场排土块以离散点分布,但来自采掘场的运输量可能是连续的,即存在完整的排土块无法完全容纳来自一个采掘场的运输量,为了实现精确排土,需要对土块做切割的后处理操作。传统的聚类算法对于这一需求可以说是束手无策。


技术实现要素:

5.针对现有技术的不足,本发明提供了一种指定类别容量的聚类方法及其系统,解决了传统的聚类方法无法识别空间中障碍区域的技术问题,本发明将指定容量的聚类问题转化为网络流模型并求最优解,模型求解的方案能够完美处理指定类别容量的聚类问题,并有效避免了类别间空间交错、包含等问题。
6.为解决上述技术问题,本发明提供了如下技术方案:一种指定类别容量的聚类方法,包括以下过程:
7.根据待聚类离散点集的空间坐标信息建立连通图;
8.确定连通图中任意两个离散点集之间的连通关系并计算成本;
9.根据两点选择算法选取2-类别指定容量聚类中与虚拟源点连接的两个节点的初始点;
10.根据连通图和初始点建立2-类别指定容量聚类的网络流模型;
11.由2-类别指定容量聚类的网络流模型迭代求解k-类别指定容量聚类问题。
12.进一步地,所述离散点集为具有容量属性的离散点集合,离散点集合由若干个包含坐标信息和其对应的容量大小的离散点构成。
13.进一步地,所述在连通图中引入用于保证离散点集合流量守恒的虚拟源点。
14.进一步地,所述连通图包括节点集、边集、边集上的成本;
15.所述节点集由采掘场或排土场的块体质心的坐标点构成;
16.所述边集由以节点为端点的线段中存在邻接关系构成;
17.所述边集上的成本由两端点间的欧式距离计算给出。
18.进一步地,所述根据待聚类离散点集的空间坐标信息建立连通图这一步骤之后还包括,逐一访问连通图中的各离散点间的连通分支,单独构建离散点与其他连通分支间的边。
19.进一步地,所述确定连通图中任意两个离散点集之间的连通关系并计算成本,其中包括:
20.确立离散点集合中任意两个离散点之间连接所构成的边;
21.计算离散点集合中任意两个离散点之间所构成的边的成本函数。
22.进一步地,所述两点选择算法为:基于离散点的欧氏距离选取距离最大的两点。
23.进一步地,所述两点选择算法为:基于连通图上的距离选取最大的两点。
24.本发明还提供了一种应用于上述指定类别容量的聚类方法的系统,包括:
25.连通图建立模块,所述连通图建立模块用于根据待聚类离散点集的空间坐标信息建立连通图;
26.连通关系确定模块,所述连通关系确定模块用于确定连通图中任意两个离散点集之间的连通关系并计算成本;
27.初始点选取模块,所述初始点选取模块用于根据两点选择算法选取2-类别指定容量聚类中与虚拟源点连接的两个节点的初始点;
28.网络流模型建立模块,所述网络流模型建立模块用于根据连通图和初始点建立2-类别指定容量聚类的网络流模型;
29.迭代求解模块,所述迭代求解模块用于由2-类别指定容量聚类的网络流模型迭代求解k-类别指定容量聚类问题。
30.进一步地,所述聚类系统还包括:
31.访问、构建模块,所述访问、构建模块用于逐一访问连通图中的各离散点间的连通分支,单独构建离散点与其他连通分支间的边。
32.借由上述技术方案,本发明提供了一种指定类别容量的聚类方法及其系统,至少具备以下有益效果:
33.1、本发明通过将指定类别容量的聚类问题转化为一个多步的网络流模型问题,可以求解出满足类别容量要求的聚类方案。同时,得益于连通图结构的优越性,使用连通图上的距离代替欧式距离能够解决传统聚类方法所不能处理的非凸或包含障碍空间的情形。而且,多步的网络流模型在处理指定容量在离散点上不完全可分的情况时,保证了需要切割的点的数量小于等于k-1,这同样是传统聚类算法无法做到的。
34.2、本发明通过对离散点集建立连通图,将指定容量的聚类问题转化为一个网络流问题,建立了精确求解的优化模型,实现了对问题的精确求解,并设计k-类别指定容量聚类的迭代算法求解多类别的情形。模型求解的方案能够完美处理指定类别容量的聚类问题,并有效避免了类别间空间交错、包含等问题。
35.3、本发明将2-类别指定容量聚类的网络流模型依据虚拟源点、选取的连接点和连通图将2-类别指定容量聚类问题转换为一个网络流问题,并通过成熟的求解算法求解,计算问题的最优解。基于网络流模型求解出的最优解保证当指定容量无法被节点容量完美划分时,只需要对1个节点进行分割即可。
附图说明
36.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
37.图1为本发明实施例一中指定类别容量的聚类方法的流程图;
38.图2为本发明实施例一中迭代求解算法伪代码的示意图;
39.图3为本发明实施例一中建立离散点连通图样例的示意图;
40.图4为本发明实施例一中求解某个5-类别指定容量的聚类案例实施的原理示意图;
41.图5为本发明实施例一中凸闭包区域案例的聚类结果图;
42.图6为本发明实施例一中非凸闭包区域案例的聚类结果图;
43.图7为本发明实施例一中连通图的样例示意图;
44.图8为本发明实施例一中指定类别容量的聚类系统的原理框图;
45.图9为本发明实施例二中指定类别容量的聚类方法的流程图;
46.图10为本发明实施例二中指定类别容量的聚类系统的原理框图。
47.图中:100、连通图建立模块;101、访问、构建模块;200、连通关系确定模块;300、初始点选取模块;400、网络流模型建立模块;500、迭代求解模块。
具体实施方式
48.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。借此对本技术如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
49.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
50.实施例一
51.请参照图1和图7,示出了本发明实施例一的一种指定类别容量的聚类方法,包括以下步骤:
52.s1、根据待聚类离散点集的空间坐标信息建立连通图,要求任意两个离散点之间存在连通的路,离散点集为具有容量属性的离散点集合,离散点集合由若干个包含坐标信息和其对应的容量大小的离散点构成,同时作为聚类的超参数,聚类任务会指定需要聚类的类别数量以及该类别对应的容量。这种指定类别容量的聚类方法能够根据按照每个类别的容量需求将离散点划分为指定的类别数,并保证每一类对应一个指定类别容量值。
53.连通图包括节点集、边集、边集上的成本;节点集由采掘场或排土场的块体质心的坐标点构成;边集由以节点为端点的线段中存在邻接关系构成;边集上的成本由两端点间的欧式距离计算给出;在连通图中引入用于保证离散点集合流量守恒的虚拟源点。
54.在本实施例中,离散点集合为x,集合中每个点记为xi,每个点的容量记为vi;指定的类别数量为k,每个指定类别的容量为ti,i=1,2,

,k。为了建立离散点集合x上的连通图,需要确立离散点集合中点与点之间的连接关系。
55.通常假设离散点的分布在局部区域内是相对均匀的,因此在确定某点i与其余离散点间的连通关系时,依据离散点间欧式距离选出距离最小的m个点,添加这m个点与点i间的边,其余点与i则不存在边。由此,建立离散点集合x上的连通图g(x,e)。
56.为了使下一阶段网络流模型的结果能够在空间中将两部分区域完全分开,依赖于构造连通图中边的成本函数。对于连通图中每条边(xi,xj),xi,xj分别为该边上的两个点,例如起点和终点,或起点至边上的任意一点,边的长度为两端点间的欧氏距离为:||x
i-xj||2,以此作为边(i,j)的成本函数c
ij
,能够保证在求解后续模型时,从源点流出的流值会优先去往距离最近的相邻节点,从而在整体上能够保证区域的连通性。
57.示例性的,图3提供了一个在2500个离散点上建立的连通图样例。从图中可以看出直接构造的连通图存在明显的局部连通性,即某节点i在与另外m个节点的集合si连通时,对于si中的节点j也大概率与集合si\{j}∪{i}连通。
58.s2、确定连通图中任意两个离散点集之间的连通关系并计算成本,其中包括:
59.s21、确立离散点集合中任意两个离散点之间连接所构成的边;
60.s22、计算离散点集合中任意两个离散点之间所构成的边的成本函数;
61.s3、根据两点选择算法选取2-类别指定容量聚类中与虚拟源点连接的两个节点的初始点,2-类别指定容量聚类初始点选择算法由连通图节点间最大欧式距离或通图中最大距离选出两个连通至虚拟源点的节点,由此保证后续算法中不会出现类别交错的情形。
62.两点选择算法为:基于离散点的欧氏距离选取距离最大的两点。
63.随意选取2-类别指定容量聚类的初始点会引起聚类结果交错或区域包含的情形。避免交错情形需要初始点离得尽可能远,而避免出现区域包含情形则需要初始点尽可能的位于靠近离散点闭包边界的位置。
64.因此,对于2-类别指定容量聚类的初始点给出两种选择算法:
65.方法1、基于离散点的欧氏距离选取距离最大的两点;
66.方法2、基于连通图上的距离选取最大的两点。
67.两种方法在处理实际问题时各有优劣。方法1计算简便,只需找出离散点欧式距离矩阵中最大值对应的序号即可;而方法2需要计算连通图上所有点对的最短路,并找出最长的最短路(即图的直径)确定这两个初始点,寻找图直径的算法的时间复杂度是o(n3),求解时间过长。但是,方法1仅适用于闭包为凸区域的情形,而方法2能够适用于闭包为凸区域以及部分非凸区域的情形,对于部分非凸区域的情形,方法1选出的初始点仍会使结果存在某一指定容量的类别所在的空间区域是多连通的情形,但是方法2可以完全避免这种情形的出现。
68.s4、根据连通图和初始点建立2-类别指定容量聚类的网络流模型,将2-类别聚类任务转换为一个具有两个源点的网络流问题,从其源点中流出每个类对应的容量,并通过
连通图将容量分配至空间中不同的点。同时,通过网络流模型的成本可以保证容量分配的结果在空间中是两个连通区域。
69.假设选出的初始点为i0,j0,这里仍沿用步骤1与2中给出的符号标记,其中k=2,两个类别的指定容量分别为t1,t2。在步骤s1构造的连通图的基础上,添加两个虚拟源点s1,s2,并添加源点连接至连通图初始点的两条虚拟边(s1,i0)和(s2,j0)。对于节点i,其出度集合记为:
[0070]v+
(i)={j∈v|(i,j)∈e}
[0071]
其入度集合记为:
[0072]
v-(i)={j∈v|(j,i)∈e}
[0073]
将两个指定容量看作从两个源点分别流出的两股流,2-类别指定容量聚类看作通过选出的两个初始点逐渐流满整个区域内所有离散点的过程。在每次流入一个新的离散点i时,当前流会优先将该离散点的容量vi填满,再流至距离源点距离最近的下一个点。
[0074]
记边(i,j)上第k种流的大小为:
[0075][0076]
因此,模型需要满足如下约束条件:
[0077][0078][0079]
其中,条件(1)限制了留在每个离散点的流值大小不会超过其容量上限;条件(2)使得除源点外,所有点的每种类别的流值的流入量大于流出量,该条件是保证结果中不出现交错的必要条件。同时,假设从虚拟源点s1通过边(s1,i0)流入i0的流值全为第1种,且大小为t1;从虚拟源点s2通过边(s2,j0)流入j0的流值全为第2种,且大小为t2。由此,可以保证模型求解出的最优解满足2-类别指定容量聚类问题的需求。
[0080]
2-类别指定容量聚类的网络流模型表达如下:
[0081][0082][0083][0084][0085]
[0086]
s5、由2-类别指定容量聚类的网络流模型迭代求解k-类别指定容量聚类问题,设计k-类别指定容量聚类的迭代算法,将k-类别的聚类任务转换为k-1次2-类别聚类任务,通过迭代算法,可以求解出指定类别容量的聚类方案。
[0087]
k-类别指定容量聚类的迭代算法可转换为k-1次迭代的2-类别指定容量聚类的网络流模型实现,计算问题的最优解。
[0088]
可通过设计一种迭代的2-类别指定容量聚类算法求解k-类别指定容量聚类问题。在每个迭代步中,将k个指定容量t1,

,tk加总为两个:
[0089][0090]
使用步骤s4中给出的2-类别指定容量聚类的网络流模型求解,给出类别1的聚类结果。重复上述迭代,对类别2至类别k进行迭代求解。迭代求解算法的伪代码如图2所示。
[0091]
图4展示了该迭代算法在求解某个5-类别指定容量的聚类案例实施的原理示意图,图5为该案例的聚类效果图。图6为该迭代算法使用方法2选择初始点对于某闭包非凸案例的求解结果图。
[0092]
2-类别指定容量聚类的网络流模型依据虚拟源点、选取的连接点和连通图将2-类别指定容量聚类问题转换为一个网络流问题,并通过成熟的求解算法求解,计算问题的最优解。基于网络流模型求解出的最优解保证当指定容量无法被节点容量完美划分时,只需要对1个节点进行分割即可。
[0093]
请参照图8,本实施例还提供了一种应用于上述指定类别容量的聚类方法的系统,包括:
[0094]
连通图建立模块100,连通图建立模块100用于根据待聚类离散点集的空间坐标信息建立连通图;
[0095]
连通关系确定模块200,连通关系确定模块200用于确定连通图中任意两个离散点集之间的连通关系并计算成本;
[0096]
初始点选取模块300,初始点选取模块300用于根据两点选择算法选取2-类别指定容量聚类中与虚拟源点连接的两个节点的初始点;
[0097]
网络流模型建立模块400,网络流模型建立模块400用于根据连通图和初始点建立2-类别指定容量聚类的网络流模型;
[0098]
迭代求解模块500,迭代求解模块500用于由2-类别指定容量聚类的网络流模型迭代求解k-类别指定容量聚类问题。
[0099]
本实施例根据离散点的空间坐标信息建立离散点集的一种拓扑结构,即连通图的一种网络图。使用图的距离替代欧式距离进行聚类,并设计一种迭代算法实现对于指定类别容量的特殊聚类任务的聚类。
[0100]
通过将指定类别容量的聚类问题转化为一个多步的网络流模型问题,可以求解出满足类别容量要求的聚类方案。同时,得益于连通图结构的优越性,使用连通图上的距离代替欧式距离能够解决传统聚类方法所不能处理的非凸或包含障碍空间的情形。而且,多步的网络流模型在处理指定容量在离散点上不完全可分的情况时,保证了需要切割的点的数量小于等于k-1,这同样是传统聚类算法无法做到的。
[0101]
实施例二
[0102]
请参照图9,示出了本发明实施例二的一种指定类别容量的聚类方法,包括以下步骤:
[0103]
s1、根据待聚类离散点集的空间坐标信息建立连通图,离散点集为具有容量属性的离散点集合,离散点集合由若干个包含坐标信息和其对应的容量大小的离散点构成。
[0104]
s11、逐一访问连通图中的各离散点间的连通分支,单独构建离散点与其他连通分支间的边,该边的建立仍是采用离散点集合中任意两个离散点之间连接所构成的边,确保最终生成的连通图为单连通,能够避免直接生成的连通图存在多连通分支的情形,提高连通图的准确性。
[0105]
连通图包括节点集、边集、边集上的成本;节点集由采掘场或排土场的块体质心的坐标点构成;边集由以节点为端点的线段中存在邻接关系构成;边集上的成本由两端点间的欧式距离计算给出;在连通图中引入用于保证离散点集合流量守恒的虚拟源点。
[0106]
s2、确定连通图中任意两个离散点集之间的连通关系并计算成本,其中包括:
[0107]
s21、确立离散点集合中任意两个离散点之间连接所构成的边;
[0108]
s22、计算离散点集合中任意两个离散点之间所构成的边的成本函数;
[0109]
s3、根据两点选择算法选取2-类别指定容量聚类中与虚拟源点连接的两个节点的初始点。
[0110]
两点选择算法为:基于离散点的欧氏距离选取距离最大的两点。
[0111]
s4、根据连通图和初始点建立2-类别指定容量聚类的网络流模型;
[0112]
s5、由2-类别指定容量聚类的网络流模型迭代求解k-类别指定容量聚类问题。
[0113]
请参照图10,本实施例还提供了一种应用于上述指定类别容量的聚类方法的系统,包括:
[0114]
连通图建立模块100,连通图建立模块100用于根据待聚类离散点集的空间坐标信息建立连通图;
[0115]
访问、构建模块101,访问、构建模块101用于逐一访问连通图中的各离散点间的连通分支,单独构建离散点与其他连通分支间的边;
[0116]
连通关系确定模块200,连通关系确定模块200用于确定连通图中任意两个离散点集之间的连通关系并计算成本;
[0117]
初始点选取模块300,初始点选取模块300用于根据两点选择算法选取2-类别指定容量聚类中与虚拟源点连接的两个节点的初始点;
[0118]
网络流模型建立模块400,网络流模型建立模块400用于根据连通图和初始点建立2-类别指定容量聚类的网络流模型;
[0119]
迭代求解模块500,迭代求解模块500用于由2-类别指定容量聚类的网络流模型迭代求解k-类别指定容量聚类问题。
[0120]
在本实施例中,示例性的,图2提供了一个在2500个离散点上建立的连通图样例。从图中可以看出直接构造的连通图存在明显的局部连通性,即某节点i在与另外m个节点的集合si连通时,对于si中的节点j也大概率与集合si\{j}∪{i}连通。因此,对于直接生成的连通图,会存在多连通分支的情形。为了处理这一情形,可在生成完连通图后,逐一访问连通图内的各连通分支,单独构建其余其他连通分支间的边,确保最终生成的连通图为单连
通的。
[0121]
实施例三
[0122]
请参照图1,示出了本发明实施例三的一种指定类别容量的聚类方法,包括以下步骤:
[0123]
s1、根据待聚类离散点集的空间坐标信息建立连通图,离散点集为具有容量属性的离散点集合,离散点集合由若干个包含坐标信息和其对应的容量大小的离散点构成;
[0124]
连通图包括节点集、边集、边集上的成本;节点集由采掘场或排土场的块体质心的坐标点构成;边集由以节点为端点的线段中存在邻接关系构成;边集上的成本由两端点间的欧式距离计算给出;在连通图中引入用于保证离散点集合流量守恒的虚拟源点。
[0125]
s2、确定连通图中任意两个离散点集之间的连通关系并计算成本,其中包括:
[0126]
s21、确立离散点集合中任意两个离散点之间连接所构成的边;
[0127]
s22、计算离散点集合中任意两个离散点之间所构成的边的成本函数;
[0128]
s3、根据两点选择算法选取2-类别指定容量聚类中与虚拟源点连接的两个节点的初始点;
[0129]
两点选择算法为:基于连通图上的距离选取最大的两点。
[0130]
随意选取2-类别指定容量聚类的初始点会引起聚类结果交错或区域包含的情形。避免交错情形需要初始点离得尽可能远,而避免出现区域包含情形则需要初始点尽可能的位于靠近离散点闭包边界的位置。
[0131]
因此,对于2-类别指定容量聚类的初始点给出两种选择算法:
[0132]
方法1、基于离散点的欧氏距离选取距离最大的两点;
[0133]
方法2、基于连通图上的距离选取最大的两点。
[0134]
两种方法在处理实际问题时各有优劣。方法1计算简便,只需找出离散点欧式距离矩阵中最大值对应的序号即可;而方法2需要计算连通图上所有点对的最短路,并找出最长的最短路(即图的直径)确定这两个初始点,寻找图直径的算法的时间复杂度是o(n3),求解时间过长。但是,方法1仅适用于闭包为凸区域的情形,而方法2适用于能够适用于闭包为凸区域以及部分非凸区域的情形,对于部分非凸区域的情形,方法1选出的初始点仍会使结果存在某一指定容量的类别所在的空间区域是多连通的情形,但是方法2可以完全避免这种情形的出现。
[0135]
s4、根据连通图和初始点建立2-类别指定容量聚类的网络流模型;
[0136]
s5、由2-类别指定容量聚类的网络流模型迭代求解k-类别指定容量聚类问题。
[0137]
在本实施例中两点选择算法为:基于连通图上的距离选取最大的两点,该方法能够适用于闭包为凸区域以及部分非凸区域的情形,对于部分非凸区域的情形,方法1选出的初始点仍会使结果存在某一指定容量的类别所在的空间区域是多连通的情形,但是方法2可以完全避免这种情形的出现。
[0138]
本发明通过对离散点集建立连通图,将指定容量的聚类问题转化为一个网络流问题,建立了精确求解的优化模型,实现了对问题的精确求解,并设计k-类别指定容量聚类的迭代算法求解多类别的情形。模型求解的方案能够完美处理指定类别容量的聚类问题,并有效避免了类别间空间交错、包含等问题。
[0139]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与
其他实施例的不同之处,各个实施例之间相同或相似的部分互相参见即可。对于以上各实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0140]
以上实施方式对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1