基于稀疏子集选择算法的社区检测方法、装置及设备与流程

文档序号:14653895发布日期:2018-06-08 22:38阅读:194来源:国知局
基于稀疏子集选择算法的社区检测方法、装置及设备与流程

本发明涉及复杂网络的社区挖掘技术领域,特别是涉及一种基于稀疏子集选择算法的社区检测方法、装置、设备以及计算机可读存储介质。



背景技术:

随着人们在社区间的轨迹日渐增多,通过轨迹来检测社区对于社会行为分析和推荐都至关重要。为了更好的检测轨迹中可能存在的社区,对检测的精确度要求越来越高。然而,社区检测通常通过聚类来实现,轨迹聚类的目的是从移动物体的一组轨迹中识别聚类,其中特定聚类中的轨迹在一个或多个移动相关特征中显示相似性。

现有技术中通常使用稠密子图检测方法来检测社区,该方法表示一个概率聚类的顶点集合,它是标准单形空间中的单位向量,然后引入二次函数来测量它们之间的平均边缘权重,并且显性集被定义为具有最大平均边缘权重的子图,其中图中顶点表示轨迹,顶点间的权重代表轨迹间的相似度。目标是对顶点集进行迭代,每一次都能处理检测到一个具有最大平均边缘权重的子图,该子图就是所要获取的社区。然后删除已经构建子图的顶点,再次优化过程,直至顶点集为空。

稠密子图检测方法只是在每次迭代中检测出现有轨迹集中最大相关性的轨迹集,并没有考虑到迭代中轨迹集中可能存在的多个的相关性较大的轨迹集,忽略最大相关性轨迹集与其他轨迹集的关系,从而陷入局部最优。其次,在每次迭代过程中,一些与社区相关性较大的轨迹被当作为异常值处理而忽略,从而降低了社区检测的精确度。

综上所述可以看出,如何提高社区检测的精确度是目前有待解决的问题。



技术实现要素:

本发明的目的是提供一种基于稀疏子集选择算法的社区检测方法、装置、设备以及计算机可读存储介质,已解决现有技术中社区检测精确度低的问题。

为解决上述技术问题,本发明提供一种基于稀疏子集选择算法的社区检测方法,包括:根据预选的轨迹数据集,构建轨迹相似度矩阵;根据所述轨迹相似度矩阵,计算得出轨迹不相似度矩阵;利用基于不相似性的稀疏子集选择算法得到所述轨迹不相似度矩阵的稀疏子集,以便赋予每个稀疏子集标签,所述稀疏子集的个数为所述轨迹数据集中检测到社区个数;利用标签传播算法以及每个稀疏子集的标签为所述轨迹数据集中的每个轨迹设置标签,所述轨迹数据集中相同标签的轨迹为同一社区。

优选地,所述预选的轨迹数据集X[x1,x2,…,xn]的度量包括时间,经度,维度。

优选地,所述根据预选的轨迹数据集,构建轨迹相似度矩阵包括:

通过构建马尔科夫状态转置矩阵定义所述轨迹数据集的语义关系矩阵W1;通过全局对齐核测量所述轨迹数据集中每两个轨迹之间的空间相似度,以便于构建所述轨迹数据集的空间关系矩阵W2;通过所述语义关系矩阵W1和所述空间关系矩阵W2构建轨迹相似度矩阵W=α1W12W2,其中,α1和α2为关系权重。

优选地,所述根据所述轨迹相似度矩阵,计算得出轨迹不相似度矩阵包括:根据所述轨迹相似度矩阵W,计算得出轨迹不相似度矩阵D=exp(-W)。

优选地,所述利用基于不相似性的稀疏子集选择算法得到所述轨迹不相似度矩阵的稀疏子集,以便赋予每个稀疏子集标签,所述稀疏子集的个数为所述轨迹数据集中检测到社区个数包括:通过DS3算法计算所述轨迹不相似度矩阵D中的稀疏子集N[N1,N2,…,Nm],赋予每个稀疏子集标签L[l1,l2,…,lm],其中m为检测到社区的个数。

优选地,所述利用标签传播算法以及每个稀疏子集的标签为所述轨迹数据集中的每个轨迹设置标签包括:在所述轨迹数据集上构无向图G(V,E);通过欧氏距离计算不包括在稀疏子集中的数据点与每个稀疏子集内心的距离;取与所述数据点之间距离最小的稀疏子集的标签,为所述数据点设置标签,直至所述无向图中的全部数据点都设置有标签。

优选地,所述利用标签传播算法以及每个稀疏子集的标签为所述轨迹数据集中的每个轨迹设置标签后还包括:通过预设算法检测所述轨迹数据集中的每个轨迹标签设置是否正确。

本发明还提供了一种基于稀疏子集选择算法的社区检测装置,包括:

构建模块,用于根据预选的轨迹数据集,构建轨迹相似度矩阵;

计算模块,用于根据所述轨迹相似度矩阵,计算得出轨迹不相似度矩阵;

赋予模块,用于利用基于不相似性的稀疏子集选择算法得到所述轨迹不相似度矩阵的稀疏子集,以便赋予每个稀疏子集标签,所述稀疏子集的个数为所述轨迹数据集中检测到社区个数;

设置模块,用于利用标签传播算法以及每个稀疏子集的标签为所述轨迹数据集中的每个轨迹设置标签,所述轨迹数据集中相同标签的轨迹为同一社区。

本发明还提供了一种基于稀疏子集选择算法的社区检测设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种基于稀疏子集选择算法的社区检测方法的步骤。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于稀疏子集选择算法的社区检测方法的步骤。

本发明所提供的一种基于稀疏子集选择算法的社区检测方法、装置、设备以及计算机可读存储介质,根据预选的轨迹数据集,构建轨迹相似度矩阵;根据所述轨迹相似度矩阵,计算得出轨迹不相似度矩阵;利用基于不相似性的稀疏子集选择算法得到所述轨迹不相似度矩阵的稀疏子集,赋予每个稀疏子集标签,所述稀疏子集的个数为所述轨迹数据集中检测到社区个数;利用标签传播算法以及每个稀疏子集的标签为所述轨迹数据集中的每个轨迹设置标签,所述轨迹数据集中相同标签的轨迹为同一社区。利用上述社区检测方法,根据轨迹数据集的轨迹相似矩阵,计算所得的轨迹不相似度矩阵,对所述轨迹不相似度矩阵进行稀疏子集选择的过程中,一次遍历所有数据点,得到全部的子集类,过程只需要一次,降低了时间复杂度,减少了运算次数,提高了算法的鲁棒性。因此本发明所提供的基于稀疏子集选择算法的社区检测方法可以避免陷入局部最优,在确定轨迹集的情况下,无需进行算法迭代和多次计算,提高检测社区的精确度和效率。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的基于稀疏子集选择算法的社区检测方法的第一种具体实施例的流程图;

图2为本发明所提供的基于稀疏子集选择算法的社区检测方法的第二种具体实施例的流程图;

图3为本发明所提供一种社区检测算法的模型图;

图4为本发明所提供一种社区检测算法的流程图;

图5为本发明实施例提供的一种基于稀疏子集选择算法的社区检测装置的结构框图。

具体实施方式

本发明的核心是提供一种基于稀疏子集选择算法的社区检测方法、装置、设备以及计算机可读存储介质,提高了社区检测的精确度和效率。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明所提供的基于稀疏子集选择算法的社区检测方法的第一种具体实施例的流程图;具体操作步骤如下:

步骤S101:根据预选的轨迹数据集,构建轨迹相似度矩阵;

预先选择合适的轨迹数据集,所述预选的轨迹数据集X[x1,x2,…,xn]需要包含3个主要度量:时间,经度,维度。对所述轨迹数据集进行预处理,提取多维度数据集的特征性度量,以便计算所述轨迹数据集的相似度矩阵。

通过构建马尔科夫状态转置矩阵定义所述轨迹数据集的语义关系矩阵W1;通过全局对齐核(GAK-IP)测量所述轨迹数据集中每两个轨迹之间的空间相似度,以便于构建所述轨迹数据集的空间关系矩阵W2;通过所述语义关系矩阵W1和所述空间关系矩阵W2构建轨迹相似度矩阵W=α1W12W2,其中,α1和α2为关系权重。

步骤S102:根据所述轨迹相似度矩阵,计算得出轨迹不相似度矩阵;

根据所述轨迹相似度矩阵W,计算得出轨迹不相似度矩阵D=exp(-W)。

步骤S103:利用基于不相似性的稀疏子集选择算法得到所述轨迹不相似度矩阵的稀疏子集,以便赋予每个稀疏子集标签,所述稀疏子集的个数为所述轨迹数据集中检测到社区个数;

通过DS3算法计算所述轨迹不相似度矩阵D中的稀疏子集N[N1,N2,…,Nm],赋予每个稀疏子集标签L[l1,l2,…,lm],其中m为检测到社区的个数。

步骤S104:利用标签传播算法以及每个稀疏子集的标签为所述轨迹数据集中的每个轨迹设置标签,所述轨迹数据集中相同标签的轨迹为同一社区。

本实施例所提供的社区检测方法,根据轨迹数据集的轨迹相似矩阵,计算所得的轨迹不相似度矩阵,对所述轨迹不相似度矩阵进行稀疏子集选择的过程中,一次遍历所有数据点,得到全部的子集类,过程只需要一次,降低了时间复杂度,减少了运算次数,提高了算法的鲁棒性。

请参考图2,图2为本发明所提供的基于稀疏子集选择算法的社区检测方法的第二种具体实施例的流程图。

在上述实施例的基础上,本实施例利用基于不相似性的稀疏子集选择算法(DS3)分析后,得到m个稀疏子集,并为每个稀疏子集赋予标签后,在轨迹数据集上构建无向图,进行标签图扩散,直至每个数据点都有标签后,检测所述轨迹数据集中的每个轨迹标签设置是否正确。本实施例的具体操作步骤如下:

步骤S201:通过语义关系矩阵W1和空间关系矩阵W2构建预选轨迹数据集的轨迹相似度矩阵W;

步骤S202:根据所述轨迹相似度矩阵W,计算得出轨迹不相似度矩阵D;

步骤S203:通过DS3算法计算所述轨迹不相似度矩阵D中的稀疏子集N[N1,N2,…,Nm],赋予每个稀疏子集标签L[l1,l2,…,lm];

步骤S204:在所述轨迹数据集上构建无向图G(V,E);

将所有的数据点构图,以便查看各个数据点之间的联系。

步骤S205:通过欧氏距离计算不包括在稀疏子集中的数据点与每个稀疏子集内心的距离;取与所述数据点之间距离最小的稀疏子集的标签,为所述数据点设置标签,直至所述无向图中的全部数据点都设置有标签;

使轨迹数据集中的每个数据点都有一个标签方便查看各个数据点之间的联系,可以更好的进行社区服务推荐。

步骤S206:检测所述轨迹数据集中的每个轨迹标签设置是否正确。

根据本实施例所提供的实施方式,可以提供一种社区检测算法模型,如图3和图4所示,图3为所述社区检测算法的模型图,图4为所述社区检测算法的流程图。将预选的轨迹数据集作为算法的输入值,提取所述轨迹数据集的特征矩阵,即轨迹相似矩阵;根据轨迹相似矩阵构建轨迹不相似度矩阵,利用DS3算法得到所述轨迹不相似度矩阵的稀疏子集,为每个稀疏子集设置标签,在轨迹数据集上构图,并将标签扩散到所有的轨迹后,检测每个轨迹标签的准确性。

利用本实施例提供了一种全局最优的社区检测方法,可以避免陷入局部最优,在确定轨迹集的情况下,无需进行算法迭代和多次计算;可以应用在一个繁杂的社区轨迹过程中,尤其是在大数据背景下对于人们复杂运动的轨迹中,实现了检测的全局最优化,提高了算法的鲁棒性和可行性,从而能更精确的检测出社区。

请参考图5,图5为本发明实施例提供的一种基于稀疏子集选择算法的社区检测装置的结构框图;具体装置可以包括:

构建模块100,用于根据预选的轨迹数据集,构建轨迹相似度矩阵;

计算模块200,用于根据所述轨迹相似度矩阵,计算得出轨迹不相似度矩阵;

赋予模块300,用于利用基于不相似性的稀疏子集选择算法得到所述轨迹不相似度矩阵的稀疏子集,以便赋予每个稀疏子集标签,所述稀疏子集的个数为所述轨迹数据集中检测到社区个数;

设置模块400,用于利用标签传播算法以及每个稀疏子集的标签为所述轨迹数据集中的每个轨迹设置标签,所述轨迹数据集中相同标签的轨迹为同一社区。

本实施例的基于稀疏子集选择算法的社区检测装置用于实现前述的基于稀疏子集选择算法的社区检测方法,因此基于稀疏子集选择算法的社区检测装置中的具体实施方式可见前文中的基于稀疏子集选择算法的社区检测方法的实施例部分,例如,构建模块100,计算模块200,赋予模块300,设置模块400,分别用于实现上述基于稀疏子集选择算法的社区检测方法中步骤S101,S102,S103和S104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

本发明具体实施例还提供了一种基于稀疏子集选择算法的社区检测设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种基于稀疏子集选择算法的社区检测方法的步骤。

本发明具体实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于稀疏子集选择算法的社区检测方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的基于稀疏子集选择算法的社区检测方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1