一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据聚类方法、装置、存储介质以及电子设备与流程

2022-04-13 20:35:26 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,具体而言,涉及一种数据聚类方法、装置、存储介质以及电子设备。


背景技术:

2.数据聚类或者分类任务是生活生产当中应用较为广泛的算法,通过对实体进行分析提取兴趣实体的特征信息后,将这一些信息进行聚类和分类就可以大大方便人们的生产生活。但是,现有技术中的数据聚类方法,例如,k-means算法,虽然可以抽取聚类中心保持聚类类别不变,但是不能应对增量数据中含有新类别的情况,存在一定的局限性,如图1所示,若增量数据中类别数目发生改变则需要手动调整k值进行重新聚类,之后使用手工干预的方法,按照之前的类别发现原来的分类进行调整,聚类效率低且聚类结果差。
3.针对现有技术中存在的聚类效率低且聚类结果差的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种数据聚类方法、装置、存储介质以及电子设备,以至少解决由于现有技术中数据聚类方法无法自动满足新增数据聚类需求,造成的聚类效率低且聚类结果差的技术问题。
5.根据本发明实施例的一个方面,提供了一种数据聚类方法,包括:获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值;在检测到上述待聚类数据的增量数据之后,对上述待聚类数据进行二次聚类处理,得到多个第二聚类指标值,并从多个上述第二聚类指标值中选取第二目标聚类指标值;获取上述第二目标聚类指标值对应的第二最佳聚类簇数值;根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,更新聚类模型中的聚类中心,并采用更新后的聚类模型对上述待聚类数据进行k-means聚类处理,得到目标聚类处理结果。
6.可选的,获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值,包括:对上述原始数据进行首次聚类处理得到多个第一聚类指标值,并从多个上述第一聚类指标值中选取第一目标聚类指标值;获取上述第一目标聚类指标值对应的第一最佳聚类簇数值。
7.可选的,在获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值之后,上述方法还包括:采用上述第一最佳聚类簇数值对上述原始数据进行k-means聚类处理,得到首次聚类处理结果。
8.可选的,根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,确定聚类模型中的聚类中心,包括:当上述比较结果为上述第一最佳聚类簇数值小于上述第二最佳聚类簇数值时,则基于上述增量数据和初始聚类中心确定新增聚类中心,并将上述新增聚类中心和上述初始聚类中心作为下一次聚类处理的初始聚类中心;当上述比较结
果为上述第一最佳聚类簇数值大于上述第二最佳聚类簇数值时,确定上述增量数据和上述原始数据的分布不相符合,并取消聚类处理流程;当上述比较结果为上述第一最佳聚类簇数值等于上述第二最佳聚类簇数值时,则仍将对上述原始数据进行首次聚类处理确定的聚类中心,作为下一次聚类处理的初始聚类中心。
9.可选的,在将上述新增聚类中心和上述初始聚类中心作为下一次聚类的初始聚类中心之后,上述方法还包括:基于上述第一最佳聚类簇数值和上述第二最佳聚类簇数值,计算得到第三最佳聚类数值;根据上述第三最佳聚类簇数值,循环执行基于上述增量数据选取距离目标,并将上述目标作为下一次聚类的初始聚类中心的步骤,得到对应多个上述初始聚类中心;将多个上述初始聚类中心对上述聚类模型进行聚类中心的迭代,得到上述更新后的聚类模型。
10.根据本发明实施例的另一方面,还提供了一种数据聚类装置,包括:第一获取模块,用于获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值;第一处理模块,用于在检测到上述待聚类数据的增量数据之后,对上述待聚类数据进行二次聚类处理,得到多个第二聚类指标值,并从多个上述第二聚类指标值中选取第二目标聚类指标值;第二获取模块,用于获取上述第二目标聚类指标值对应的第二最佳聚类簇数值;第二处理模块,用于根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,更新聚类模型中的聚类中心,并采用更新后的聚类模型对上述待聚类数据进行k-means聚类处理,得到目标聚类处理结果。
11.可选的,上述第一获取模块还包括:选取模块,用于对上述原始数据进行首次聚类处理得到多个第一聚类指标值,并从多个上述第一聚类指标值中选取第一目标聚类指标值;第一获取子模块,用于获取上述第一目标聚类指标值对应的第一最佳聚类簇数值。
12.可选的,上述装置还包括:第二获取子模块,用于采用上述第一最佳聚类簇数值对上述原始数据进行k-means聚类处理,得到首次聚类处理结果。
13.可选的,上述第二处理模块还包括:比较模块,用于当上述比较结果为上述第一最佳聚类簇数值小于上述第二最佳聚类簇数值时,则基于上述增量数据和初始聚类中心确定新增聚类中心,并将上述新增聚类中心和上述初始聚类中心作为下一次聚类处理的初始聚类中心;第一确定子模块,用于当上述比较结果为上述第一最佳聚类簇数值大于上述第二最佳聚类簇数值时,确定上述增量数据和上述原始数据的分布不相符合,并取消聚类处理流程;第二确定子模块,用于当上述比较结果为上述第一最佳聚类簇数值等于上述第二最佳聚类簇数值时,则仍将对上述原始数据进行首次聚类处理确定的聚类中心,作为下一次聚类处理的初始聚类中心。
14.可选的,上述装置还包括:计算模块,用于基于上述第一最佳聚类簇数值和上述第二最佳聚类簇数值,计算得到第三最佳聚类数值;第三获取子模块,用于根据上述第三最佳聚类簇数值,循环执行基于上述增量数据选取距离目标,并将上述目标作为下一次聚类的初始聚类中心的步骤,得到对应多个上述初始聚类中心;第四获取子模块,用于将多个上述初始聚类中心对上述聚类模型进行聚类中心的迭代,得到上述更新后的聚类模型。
15.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有多条指令,上述指令适于由处理器加载并执行任意一项上述的数据聚类方法。
16.根据本发明实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行意一项上述的数据聚类方法。
17.在本发明实施例中,采用数据聚类的方式,通过获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值;在检测到上述待聚类数据的增量数据之后,对上述待聚类数据进行二次聚类处理,得到多个第二聚类指标值,并从多个上述第二聚类指标值中选取第二目标聚类指标值;获取上述第二目标聚类指标值对应的第二最佳聚类簇数值;根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,更新聚类模型中的聚类中心,并采用更新后的聚类模型对上述待聚类数据进行k-means聚类处理,得到目标聚类处理结果,达到了根据新增数据特征,确定符合新增数据需求的聚类处理结果的目的,从而实现了提升数据聚类效率和聚类效果的技术效果,进而解决了由于现有技术中数据聚类方法无法自动满足新增数据聚类需求,造成的聚类效率低且聚类结果差的技术问题。
附图说明
18.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
19.图1是根据现有技术的一种数据聚类方法的流程图;
20.图2是根据本发明实施例的一种数据聚类方法的流程图;
21.图3是根据本发明实施例的一种可选的用于实施上述数据聚类方法的系统结构示意图;
22.图4是根据本发明实施例的另一种可选的数据聚类方法的流程图;
23.图5是根据本发明实施例的另一种可选的数据聚类方法的流程图;
24.图6是根据本发明实施例的一种可选的数据聚类方法的应用场景的示意图;
25.图7是根据本发明实施例的一种可选的数据聚类方法的应用场景的示意图;
26.图8是根据本发明实施例的一种数据聚类装置的结构示意图。
具体实施方式
27.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
28.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
29.首先,为方便理解本发明实施例,下面将对本发明中所涉及的部分术语或名词进行解释说明:
30.有监督分类与无监督聚类:在机器学习分类任务中一般习惯将算法按照是否输入样本标签训练来作为一个区分依据。若在模型训练的过程当中输入了样本标签,即在训练时标注了样本的类别从而生成模型的算法称之为有监督分类。反之,当训练时提供的是没有标签的样本,依靠算法自动去寻找样本之间的关系的分类算法称之为无监督聚类。近年来也发展出了一系列只输入部分有标签样本的分类方法称为半监督学习。
31.有监督分类:有监督学习由于样本输入时给予了算法有关于样本类别的信息,这一类算法普遍较无监督的算法更准确,但是其输入的样本需要人工标记类别,需要消耗大量的人力物力成本,任务普适性较差。其中代表的分类算法有svm,线性判别器,朴素贝叶斯,决策树分类,k近邻分类等。
32.无监督聚类:无监督聚类不需求输入样本的标签,而是通过算法当中的一定规则来使得聚类簇间最大而簇内最小,达到学习分类模型的目的。其中具有代表性的算法有k-means,流形学习,层次聚类,dbscan,密度聚类,协方差聚类等。
33.k-means(k均值聚类):k-means算法是一种经典的聚类算法,其首先需要使用者设定一k值,算法就会将样本聚类到k类。首先算法先初始化k个中心,而后重复两个步骤直到质心不再变化。步骤一,计算每个样本到质心的距离,将样本分配到距离最近的质心那一类;步骤二,将质心移动至这一类样本的(每个维度的平均值)中心点。两个步骤往复,直至停止。
34.实施例1
35.聚类或者分类任务是生活生产当中得到广泛应用的算法,通过对实体进行分析提取兴趣实体的特征信息后,将这一些信息进行聚类和分类就可以大大方便人们的生产生活。比如通过对猫和狗照片的学习,可以训练出一种模型能认识猫或者狗的照片。可以利用这一模型,处理后续的问题,比如在一些场景下自动的通过模型去分辨是否是猫或者狗。或者说应用到文本识别当中,可以利用训练好的模型来分辨一篇文章的情感或者类别。生活中的种种数据数之不尽,不可能每个类别都有大量的已标注的数据供有监督学习去训练模型,高效的、可持续的,输出结果稳定的无监督方法越来越成为大众研究的方向之一。
36.k-means算法是一种经典的聚类算法,其首先需要使用者设定一k值,算法就会将样本聚类到k类。首先算法先初始化k个中心,而后重复两个步骤直到质心不在变化。步骤一,计算每个样本到质心的距离,将样本分配到距离最近的质心那一类;步骤二,将质心移动至这一类样本的(每个维度的平均值)中心点。两个步骤往复,直至停止。约束公式为如下:
[0037][0038]
面对多次聚类的问题传统k-means因为随机性所以不存在延续性,和自动获取最佳k的能力。现有技术方案实现流程图仍如图1所示,面对增量数据,传统模型虽然可以抽取聚类中心保持聚类类别不变,但是不能应对增量数据中含有新类别的情况,存在一定的局限性,若增量数据中类别数目发生改变则需要手动调整k值进行重新聚类,之后使用手工干
预的方法,按照之前的类别发现原来的分类进行调整。
[0039]
上述方法至少存在以下缺陷:需要用户设定聚类k值,由于无监督样本在实际当中,样本类别不可知或者使用者设置不是最佳值,都会导致聚类结果不佳;无监督聚类由于随机初始化聚类中心,导致每次聚类的结果有所不同;就算使用者初始化了聚类中心,但其面对增量样本出现的新类别无应对方案;每次训练的模型之间没有延续性,当加入新的样本或者有新的类别增加时,则需要重新训练并且不能继承之前的训练结果,并且对新训练的样本需要人工进行重新标定。
[0040]
基于上述问题,本发明实施例提供了一种数据聚类的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0041]
图2是根据本发明实施例的一种数据聚类方法的流程图,如图2所示,该方法包括如下步骤:
[0042]
步骤s102,获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值;
[0043]
步骤s104,在检测到上述待聚类数据的增量数据之后,对上述待聚类数据进行二次聚类处理,得到多个第二聚类指标值,并从多个上述第二聚类指标值中选取第二目标聚类指标值;
[0044]
步骤s106,获取上述第二目标聚类指标值对应的第二最佳聚类簇数值;
[0045]
步骤s108,根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,更新聚类模型中的聚类中心,并采用更新后的聚类模型对上述待聚类数据进行k-means聚类处理,得到目标聚类处理结果。
[0046]
可选的,上述第一最佳聚类簇k1数值可以但不限于为最小的第一聚类指标值对应的最佳聚类个数;上述第二最佳聚类簇k2数值可以但不限于为最小的第二聚类指标值对应的最佳聚类个数。
[0047]
可选的,通过对原始数据多次聚类,在每次聚类之后计算聚类的dbi值,dbi值最小时的聚类指标值(即上述第一目标聚类指标值)对应的聚类个数为最佳聚类个数,即上述第一最佳聚类簇数值k1。
[0048]
可选的,通过对原始数据和增量数据进行多次聚类,在每次聚类之后计算聚类的dbi值,dbi值最小时的聚类指标值(即上述第二目标聚类指标值)对应的聚类个数为最佳聚类个数,即上述第二最佳聚类簇数值k2。
[0049]
可选的,上述比较结果包括以下任意之一:k1》k2、k1《k2、k1=k2,不同的比较结果对应于不同的聚类处理结果。
[0050]
可选的,上述第一最佳聚类簇数值k1和上述第二最佳聚类簇数值k2的获取方法,还可以为手肘法,可以做多次聚类计算每次的手肘值,基于上述手肘值求得斜率变化最大的点,这个点的k值就为最佳的k值(即上述第一最佳聚类簇数值k1和/或上述第二最佳聚类簇数值k2)。
[0051]
在本发明实施例中,采用数据聚类的方式,通过获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值;在检测到上述待聚类数据的增量数据之后,对上述待聚类数据进行二次聚类处理,得到多个第二聚类指标值,并从多个上述第二聚类指标值中选
取第二目标聚类指标值;获取上述第二目标聚类指标值对应的第二最佳聚类簇数值;根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,更新聚类模型中的聚类中心,并采用更新后的聚类模型对上述待聚类数据进行k-means聚类处理,得到目标聚类处理结果,达到了根据新增数据特征,确定符合新增数据需求的聚类处理结果的目的,从而实现了提升数据聚类效率和聚类效果的技术效果,进而解决了由于现有技术中数据聚类方法无法自动满足新增数据聚类需求,造成的聚类效率低且聚类结果差的技术问题。
[0052]
作为一种可选的实施例,图3是根据本发明实施例的一种可选的用于实施上述数据聚类方法的系统结构示意图,如图3所示,上述系统具体包括两大模块,即数据模块和聚类模块。其中,上述数据模块中,数据处理模块、数据存储模块、数据发现模块和数据索引分类模块是相辅相成。数据处理模块用于对数据做处理,比如数据的转化、读取和归一化等操作;数据发现模块用于提供除第一次聚类以外的增量数据,通过计算数据池当中文件的唯一哈希值,发现数据池当中新加入的数据,为下一次增量训练做准备,并将数据发现的结果提供给数据索引分类模块,使的得聚类模块能快速获得不同部分的数据;模型部分(即模型存储模块和模型加载模块)用于对训练出来的模型提供管理,可以选择增量训练的基础模型,方便做出模型的管理和回退操作。上述聚类模块中,除了k-means聚类模块外还加入了最佳k值获取部分,用于自动计算该聚类应该满足的最佳聚合度;最佳簇中心初始化模块则用于计算初始化新的聚类中心。
[0053]
在一种可选的实施例中,获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值,包括:
[0054]
步骤s202,对上述原始数据进行首次聚类处理得到多个第一聚类指标值,并从多个上述第一聚类指标值中选取第一目标聚类指标值;
[0055]
步骤s204,获取上述第一目标聚类指标值对应的第一最佳聚类簇数值。
[0056]
可选的,上述第一聚类指标值为davies bouldin指数值(即dbi值),上述第一目标聚类指标值可以但不限于为dbi值最小时对应的聚类指标值。
[0057]
可选的,通过对原始数据多次聚类,在每次聚类之后计算聚类的dbi值,dbi值最小时的聚类指标值(即上述第一目标聚类指标值)对应的聚类个数为最佳聚类个数,即上述第一最佳聚类簇数值k1。
[0058]
需要说明的是,本发明实施例中获取上述第一最佳聚类簇数值k1(即自动寻找最优k值)的方法,适用于所有凸聚类的无监督算法的最优参数选择阶段。
[0059]
在一种可选的实施例中,在获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值之后,上述方法还包括:
[0060]
步骤s302,采用上述第一最佳聚类簇数值对上述原始数据进行k-means聚类处理,得到首次聚类处理结果。
[0061]
可选的,上述首次聚类处理结果至少包括:聚类模型、聚类模型中的聚类中心。
[0062]
可选的,采用dbi值最小时的k1值对应的第一最佳聚类簇数值,对原始数据进行k-means聚类处理,得到并保存聚类模型、聚类模型中的聚类中心,为下一次聚类做准备。
[0063]
可选的,上述聚类处理方法还可以为mini batch k-means聚类方法。
[0064]
在一种可选的实施例中,根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,确定聚类模型中的聚类中心,包括:
[0065]
步骤s402,当上述比较结果为上述第一最佳聚类簇数值小于上述第二最佳聚类簇数值时,则基于上述增量数据和初始聚类中心确定目标聚类中心,并将上述新增聚类中心和上述初始聚类中心作为下一次聚类处理的初始聚类中心;
[0066]
步骤s404,当上述比较结果为上述第一最佳聚类簇数值大于上述第二最佳聚类簇数值时,确定上述增量数据和上述原始数据的分布不相符合,并取消聚类处理流程;
[0067]
步骤s406,当上述比较结果为上述第一最佳聚类簇数值等于上述第二最佳聚类簇数值时,则仍将对上述原始数据进行首次聚类处理确定的聚类中心,作为下一次聚类处理的初始聚类中心。
[0068]
可选的,上述新增聚类中心可以但不限于为通过计算上述增量数据与初始聚类中心之间的距离得到的,将上述增量数据中离上述初始聚类中心最远的点作为上述新增聚类中心,并将上述新增聚类中心和上述初始聚类中心作为下一次聚类处理的初始聚类中心。
[0069]
需要说明的是,当上述第一最佳聚类簇数值小于上述第二最佳聚类簇数值时,即k1《k2时,表明增量数据中加入了新的分类,此时需要产生新的聚类中心;当上述比较结果为上述第一最佳聚类簇数值大于上述第二最佳聚类簇数值时,即k1》k2时,表明系加入的增量数据与原始数据的数据分布不相符,此时退出聚类流程,以免损毁聚类模型;当上述比较结果为上述第一最佳聚类簇数值等于上述第二最佳聚类簇数值时,即k1=k2时,表明增量数据没有产生新的类别,以原来的聚类中心作为新一次聚类的初始聚类中心即可。
[0070]
作为一种可选的实施例,图4是根据本发明实施例的另一种可选的数据聚类方法的流程图,如图4所示,该方法具体包括如下步骤:通过对原始数据多次聚类,在每次聚类之后计算聚类的dbi值,dbi值最小时的聚类指标值(即上述第一目标聚类指标值)对应的聚类个数为最佳聚类个数,即上述第一最佳聚类簇数值k1;通过对原始数据和增量数据进行多次聚类,在每次聚类之后计算聚类的dbi值,dbi值最小时的聚类指标值(即上述第二目标聚类指标值)对应的聚类个数为最佳聚类个数,即上述第二最佳聚类簇数值k2;通过比较k1与k2的大小关系,确定聚类中心,以及后续的聚类操作:当k2=k1时,表明增量数据没有产生新的类别,那么就以原来的聚类中心作为新一次聚类的初始聚类中心,然后再按照k-means的聚类规则来进行聚类直至聚类中心不再发生变化为止;当k2《k1时,一般在满足初始数据分布时,应该不会出现这种情况,但是一旦增量数据分布与原始数据不相符时,此种情况便会发生,此时需要发出使用增量数据与原始数据分布不相符的提示,同时退出当前聚类流程以免损毁原始聚类模型;当k2》k1时,表明增量数据中加入了新的分类,那么需要产生新的聚类中心,那么将新增数据中离各个已有聚类中心最远的点选作新的聚类中心,将新选定的聚类中心加入到聚类中心当中。
[0071]
本发明实施例至少可以实现如下技术效果:自动计算最佳聚类簇个数k,不再需要人为指定,能自动发现数据隐藏最优值;同样的数据进行聚类,会保持第一次聚类的类别不变,解决了k-means每次聚类中心类别会改变的问题;支持增量聚类,自动发现新增数据,自动发现新增类别并且不会破坏原有的聚类结果;如果新增数据不符合分类会给予用户提醒,保持了聚类模型的持续性和可维护性。
[0072]
作为一种可选的实施例,图5是根据本发明实施例的另一种可选的数据聚类方法的流程图,如图5所示,在将上述新增聚类中心和上述初始聚类中心作为下一次聚类的初始聚类中心之后,上述方法还包括:
[0073]
步骤s502,基于上述第一最佳聚类簇数值和上述第二最佳聚类簇数值,计算得到第三最佳聚类数值;
[0074]
步骤s504,根据上述第三最佳聚类簇数值,循环执行基于上述增量数据选取距离目标,并将上述目标作为下一次聚类的初始聚类中心的步骤,得到对应多个上述初始聚类中心;
[0075]
步骤s506,将多个上述初始聚类中心对上述聚类模型进行聚类中心的迭代,得到上述更新后的聚类模型。
[0076]
可选的,上述第三最佳聚类簇数值可以但不限于为上述第二最佳聚类簇数值与上述第一最佳聚类簇数值之间的差值,即上述第三最佳聚类簇数值为k2-k1。
[0077]
可选的,循环执行k2-k1次上述基于上述增量数据选取距离目标,并将上述目标作为下一次聚类的初始聚类中心的步骤,新增k2-k1个新聚类中心,并将上述k2-k1个新聚类中心作为k-means的初始化聚类中心(即上述初始聚类中心)。
[0078]
作为一种可选的实施例,仍如图4所示,在k2》k1的情况下,表明增量数据中加入了新的分类,那么需要产生新的聚类中心,那么将新增数据中离各个已有聚类中心最远的点选作新的聚类中心,将新选定的聚类中心加入到聚类中心当中。将上述方法重复k2-k1次,新增k2-k1个新聚类中心,将这些中心作为k-means的初始化聚类中心,进行聚类中心的迭代,如此获得最佳的聚类效果。
[0079]
作为一种可选的实施例,图6是根据本发明实施例的一种可选的数据聚类方法的应用场景的示意图,如图6所示,上述方法或系统可以结合有监督学习一起使用,需要说明的是,有监督学习一般需要大量标注过的样本,无监督可以负责将杂乱无章的数据做一个初始的聚类,只需要用户对聚类好的每一个簇进行打标签即可;加入新的增量数据时,原来的数据标签也不会发生改变,不会影响原来有监督学习的算法的类别和模型,大大减轻了人工的工作量,也能过够持续的,稳定的为有监督分类算法提供比较准确的数据。
[0080]
作为一种可选的实施例,图7是根据本发明实施例的一种可选的数据聚类方法的应用场景的示意图,如图7所示,上述方法可以应用于用户分类系统中,实际应用场景中,人群数量巨大,不可能很难对每个用户做标签,可以先通过对基础用户进行聚类,之后对不同的用户喜好的内容进行推荐;再来新的用户的时候,可以利用聚类的功能观察是否增加新的用户类别,可以按照其喜好推荐其喜欢的内容数据,也能及时对新增的用户进行增量学习,保持模型的准确度和持续更新。
[0081]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0082]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算
机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0083]
实施例2
[0084]
在本实施例中还提供了一种数据聚类装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“单元”“装置”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0085]
根据本发明实施例,还提供了一种用于实施上述数据聚类方法的装置实施例,图8是根据本发明实施例的一种数据聚类装置的结构示意图,如图8所示,上述数据聚类装置,包括:第一获取模块60、第一处理模块62、第二获取模块64、第二处理模块66,其中:
[0086]
上述第一获取模块60,用于获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值;
[0087]
上述第一处理模块62,用于在检测到上述待聚类数据的增量数据之后,对上述待聚类数据进行二次聚类处理,得到多个第二聚类指标值,并从多个上述第二聚类指标值中选取第二目标聚类指标值;
[0088]
上述第二获取模块64,用于获取上述第二目标聚类指标值对应的第二最佳聚类簇数值;
[0089]
上述第二处理模块66,用于根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,更新聚类模型中的聚类中心,并采用更新后的聚类模型对上述待聚类数据进行k-means聚类处理,得到目标聚类处理结果。
[0090]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
[0091]
此处需要说明的是,上述第一获取模块60、第一处理模块62、第二获取模块64、第二处理模块66对应于实施例1中的步骤s102至步骤s108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
[0092]
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
[0093]
上述的数据聚类装置还可以包括处理器和存储器,上述第一获取模块60、第一处理模块62、第二获取模块64、第二处理模块66等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0094]
在一种可选的实施例中,上述第一获取模块还包括:选取模块,用于对上述原始数据进行首次聚类处理得到多个第一聚类指标值,并从多个上述第一聚类指标值中选取第一目标聚类指标值;第一获取子模块,用于获取上述第一目标聚类指标值对应的第一最佳聚类簇数值。
[0095]
在一种可选的实施例中,上述装置还包括:第二获取子模块,用于采用上述第一最佳聚类簇数值对上述原始数据进行k-means聚类处理,得到首次聚类处理结果。
[0096]
在一种可选的实施例中,上述第二处理模块还包括:比较模块,用于当上述比较结果为上述第一最佳聚类簇数值小于上述第二最佳聚类簇数值时,则基于上述增量数据和初
始聚类中心确定新增聚类中心,并将上述新增聚类中心和上述初始聚类中心作为下一次聚类处理的初始聚类中心;第一确定子模块,用于当上述比较结果为上述第一最佳聚类簇数值大于上述第二最佳聚类簇数值时,确定上述增量数据和上述原始数据的分布不相符合,并取消聚类处理流程;第二确定子模块,用于当上述比较结果为上述第一最佳聚类簇数值等于上述第二最佳聚类簇数值时,则仍将对上述原始数据进行首次聚类处理确定的聚类中心,作为下一次聚类处理的初始聚类中心。
[0097]
在一种可选的实施例中,上述装置还包括:计算模块,用于基于上述第一最佳聚类簇数值和上述第二最佳聚类簇数值,计算得到第三最佳聚类数值;第三获取子模块,用于根据上述第三最佳聚类簇数值,循环执行基于上述增量数据选取距离目标,并将上述目标作为下一次聚类的初始聚类中心的步骤,得到对应多个上述初始聚类中心;第四获取子模块,用于将多个上述初始聚类中心对上述聚类模型进行聚类中心的迭代,得到上述更新后的聚类模型。
[0098]
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0099]
根据本技术实施例,还提供了一种非易失性存储介质的实施例。可选的,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种数据聚类方法。
[0100]
可选的,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。
[0101]
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值;在检测到上述待聚类数据的增量数据之后,对上述待聚类数据进行二次聚类处理,得到多个第二聚类指标值,并从多个上述第二聚类指标值中选取第二目标聚类指标值;获取上述第二目标聚类指标值对应的第二最佳聚类簇数值;根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,更新聚类模型中的聚类中心,并采用更新后的聚类模型对上述待聚类数据进行k-means聚类处理,得到目标聚类处理结果。
[0102]
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:对上述原始数据进行首次聚类处理得到多个第一聚类指标值,并从多个上述第一聚类指标值中选取第一目标聚类指标值;获取上述第一目标聚类指标值对应的第一最佳聚类簇数值。
[0103]
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:采用上述第一最佳聚类簇数值对上述原始数据进行k-means聚类处理,得到首次聚类处理结果。
[0104]
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:当上述比较结果为上述第一最佳聚类簇数值小于上述第二最佳聚类簇数值时,则基于上述增量数据和初始聚类中心确定新增聚类中心,并将上述新增聚类中心和上述初始聚类中心作为下一次聚类处理的初始聚类中心;当上述比较结果为上述第一最佳聚类簇数值大于上述第二最佳聚类簇数值时,确定上述增量数据和上述原始数据的分布不相符合,并取消聚类处理流
程;当上述比较结果为上述第一最佳聚类簇数值等于上述第二最佳聚类簇数值时,则仍将对上述原始数据进行首次聚类处理确定的聚类中心,作为下一次聚类处理的初始聚类中心。
[0105]
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:基于上述第一最佳聚类簇数值和上述第二最佳聚类簇数值,计算得到第三最佳聚类数值;根据上述第三最佳聚类簇数值,循环执行基于上述增量数据选取距离目标,并将上述目标作为下一次聚类的初始聚类中心的步骤,得到对应多个上述初始聚类中心;将多个上述初始聚类中心对上述聚类模型进行聚类中心的迭代,得到上述更新后的聚类模型。
[0106]
根据本技术实施例,还提供了一种处理器的实施例。可选的,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种数据聚类方法。
[0107]
根据本技术实施例,还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有上述任意一种的数据聚类方法步骤的程序。
[0108]
可选的,上述计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取基于待聚类数据的原始数据预先确定的第一最佳聚类簇数值;在检测到上述待聚类数据的增量数据之后,对上述待聚类数据进行二次聚类处理,得到多个第二聚类指标值,并从多个上述第二聚类指标值中选取第二目标聚类指标值;获取上述第二目标聚类指标值对应的第二最佳聚类簇数值;根据上述第一最佳聚类簇数值和上述第二最佳聚类簇数值的比较结果,更新聚类模型中的聚类中心,并采用更新后的聚类模型对上述待聚类数据进行k-means聚类处理,得到目标聚类处理结果。
[0109]
根据本技术实施例,还提供了一种电子设备的实施例,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行上述任意一种的数据聚类方法。
[0110]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0111]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0112]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0113]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0114]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0115]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本发明的技术方
案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0116]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献