本申请实施例涉及人工智能领域,特别涉及一种聚类方法和电子设备。
背景技术:
目前在解决机器学习聚类问题时,现有解决方案有k-means聚类法和层次聚类法等。k-means聚类法通过预先指定分类个数,然后通过迭代收敛进行数据的聚类。但这种方法的缺点在于对于事先不容易确定具体的分类个数的数据群就不易进行聚类。对此问题的改进是通过多次尝试不同的分类个数,分别进行聚类,之后汇聚,而这样会使计算复杂化。层次聚类的方式是从一个分类开始,逐渐分裂,或者将每个数据都视为一个分类,逐渐合并。但这些方法收敛速度慢。
申请内容
为了解决上述技术问题,本申请提供了一种可有效改善数据收敛速度实现快速聚类的聚类方法和应用该方法的电子设备。
具体地,本申请实施例提供了一种聚类方法,包括:
获取数据样本集;
计算所述数据样本集的样本相似度,样本相似度指示任意两个数据样本之间的相似度;
基于设定的第一阈值以及所述数据样本集的样本相似度进行聚类处理,使得每个聚类的样本相似度的梯度不大于所述第一阈值,所述样本相似度的梯度指示多个数据样本之间的疏密程度;
输出所述聚类处理的结果。
作为优选,在所述聚类处理之前,所述方法还包括:
基于设定的第二阈值与所述数据样本集的样本相似度对所述数据样本集进行聚类预处理,使得所述聚类预处理后的每个类的样本相似度不小于所述第二阈值;
所述聚类处理包括:
对所述聚类预处理后的每个类进行聚类处理。
作为优选,所述对所述聚类预处理后的每个类进行聚类处理,包括:
针对所述每个类,指定用于形成目标聚类的至少一个初始数据样本;
通过针对所述每个类中的其余数据样本进行迭代计算,判定每个所述其余数据样本是否属于所述目标聚类,对于每次迭代,如果包括当前目标数据样本的样本相似度均值与不包括所述当前目标数据样本的样本相似度均值的差不大于所述第一阈值,则将所述当前目标数据样本包括在所述目标聚类中;
其中,所述目标聚类中包括当前目标数据样本的样本相似度均值与不包括所述当前目标数据样本的样本相似度均值的差形成所述样本相似度的梯度。
作为优选,所述当前样本相似度均值为所述当前目标数据样本与当前所述目标聚类中的各数据样本的样本相似度的均值,所述先前样本相似度均值为前一个目标数据样本与其当时对应的所述目标聚类中的各数据样本的样本相似度的均值。
作为优选,所述当前样本相似度均值为所述当前目标数据样本与当前所述目标聚类中的各数据样本的样本相似度的均值,所述先前样本相似度均值为当前所述目标聚类中所有任意两个数据样本间的样本相似度的均值。
作为优选,所述方法还包括:
对所述数据样本集进行分组形成多组数据样本;
所述计算所述数据样本集的样本相似度,包括:
根据所述多组所述数据样本并行计算所述数据样本集的样本相似度。
本申请实施例同时提供一种电子设备,包括:
获取模块,用于获取数据样本集;
计算模块,用于计算所述数据样本集的样本相似度,样本相似度指示任意两个数据样本之间的相似度;
聚类处理模块,用于基于设定的第一阈值以及所述数据样本集的样本相似度进行聚类处理,使得每个聚类的样本相似度的梯度不大于所述第一阈值,所述样本相似度的梯度指示多个数据样本之间的疏密程度;
输出模块,用于输出所述聚类处理的结果。
作为优选,还包括:聚类预处理模块,用于基于设定的第二阈值与所述数据样本集的样本相似度对所述数据样本集进行聚类预处理,使得所述聚类预处理后的每个类的样本相似度不小于所述第二阈值;
所述聚类处理模块具体用于对所述聚类预处理后的每个类进行聚类处理。
作为优选,所述聚类处理模块具体用于:针对所述每个类,指定用于形成目标聚类的至少一个初始数据样本;
通过针对所述每个类中的其余数据样本进行迭代计算,判定每个所述其余数据样本是否属于所述目标聚类,对于每次迭代,如果包括当前目标数据样本的样本相似度均值与不包括所述当前目标数据样本的样本相似度均值的差不大于所述第一阈值,则将所述当前目标数据样本包括在所述目标聚类中;
其中,所述目标聚类中包括当前目标数据样本的样本相似度均值与不包括所述当前目标数据样本的样本相似度均值的差形成所述样本相似度的梯度。
作为优选,还包括:
分组模块,用于对所述数据样本集进行分组形成多组数据样本;
所述计算模块具体用于根据多组所述数据样本并行计算所述数据样本集的样本相似度。
基于上述实施例的公开可以获知,本申请实施例通过计算各数据样本的样本相似度,并且将样本相似度的梯度作为聚类条件,使得即便预先不知道该大量数据样本的分类信息时,也能够实现聚类,而且显著改善了大量数据样本的收敛速度,提高了聚类的速度。
附图说明
图1为根据本发明的一个实施例的聚类方法的示意性流程图。
图2a为根据本发明的第一变型例的聚类方法的示意性流程图。
图2b为根据本发明的第一变型例的聚类处理的示意图。
图3为根据本发明的第二变型例的聚类方法的示意性流程图。
图4为根据本发明的第三变型例的聚类方法的示意性流程图。
图5为根据本发明的另一实施例的电子设备的示意性框图。
图6为根据本发明的另一实施例的聚类处理模块的示意性框图。
具体实施方式
下面,结合附图对本申请的具体实施例进行详细的描述,但不作为本申请的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
下面,结合附图详细的说明本申请实施例。图1为根据本发明的一个实施例的聚类方法的示意性流程图。图1的聚类方法100包括:
110:获取数据样本集;
120:计算数据样本集的样本相似度,样本相似度指示任意两个数据样本之间的相似度;
130:基于设定的第一阈值以及数据样本集的样本相似度进行聚类处理,使得每个聚类的样本相似度的梯度不大于第一阈值,样本相似度的梯度指示多个数据样本之间的疏密程度;
140:输出聚类处理的结果。
应理解,数据样本集的样本相似度是指数据样本集中的多个数据样本中的两个数据样本之间的多个相似度,例如,可以是所有多个数据样本中的任意两个数据样本之间形成的多个相似度,也可以是部分数据样本中的任意两个数据样样本之间形成的多个相似度,也可以是多个数据样本中的两个数据样本之间的部分的相似度,即,所有的数据样本都与某一个数据样本存在相似度,但与某一个其他数据样本不存在相似度。类似地,每个聚类的样本相似度,是指每个聚类中形成的不同两个数据样本之间的多个相似度,可以为任意两个数据样本的所有相似度中的全部或部分。显然,每个聚类形成有自身的多个样本相似度,各个聚类的自身的多个样本相似度的整体形成了数据样本集的样本相似度。换句话说,优选地,样本相似度的计算为针对数据样本集中任意两个数据样本之间存在相似度的情况,但本发明的实施例不限定于此,可以仅计算部分的相似度。
还应理解,样本相似度可以采用任意的合适的函数或函数值来表征,本发明对此不作限定。应注意,如果样本相似度的取值范围存在上下界,则不存在相似度的情况优选地被认为是上界值或下界值,相应地,数据样本与其自身的相似度可以被认为是下界值或上界值。
还应理解,两个数据样本之间的相似度可以采用分别表征两个数据样本的向量来进行计算,本发明的聚类方法适用于存在共同的向量空间的数据样本集。但是,本发明的聚类方法不限定于该情况,其更大的优势是针对不存在共同的向量空间的数据样本集的复杂情况。例如,在计算不同的数据样本之间的相似度时,可以采用不同的向量表征方式。例如,当计算数据样本a与数据样本b之间的相似度时,可以根据样本自身的特性构建向量维度和各个向量分量的值,例如5维的a数据向量和b数据向量。当计算数据样本a与数据样本c之间的相似度时,可以构建10维的a数据向量和b数据向量。具体地,样本相似度的计算方法包括但不限于欧几里得距离、曼哈顿距离、明科夫斯基距离、余弦相似度、jaccard相似度、皮尔森相关系数、线性相关相似度、高斯相关相似度、逻辑相关相似度等。相应地,第二阈值θ2为基于上述的相似度而设定的阈值。如上所述,本发明对此不作限定。
还应理解,本发明的聚类方法可以采用并行计算,即,对数据样本集进行分组形成多组数据样本;根据多组数据样本并行计算数据样本集的样本相似度。
本申请实施例能够利用计算各数据样本的样本相似度,并且将样本相似度的梯度作为聚类条件,从而显著改善了收敛速度。
第一阈值θ1是样本相似度的梯度的阈值,样本相似度的梯度可以采用任何表征数据样本的疏密程度的关系或函数来表征。优选地,采用均值函数的差来构造,应注意,本发明的实施例中的均值指的是一切与均值相关的关系,包括非线性和线性加权的均值在内。更优选地,均值函数包括几何平均值、代数平均值等。
根据图1的聚类方法100,在聚类处理之前,聚类方法100还包括:基于设定的第二阈值与数据样本集的样本相似度对数据样本集进行聚类预处理,使得聚类预处理后的每个类的样本相似度不小于第二阈值;聚类处理包括:对聚类预处理后的每个类进行聚类处理。
根据图1的聚类方法100,对聚类预处理后的每个类进行聚类处理,包括:针对每个类,指定用于形成目标聚类的至少一个初始数据样本;通过针对每个类中的其余数据样本进行迭代计算,判定每个其余数据样本是否属于目标聚类,对于每次迭代,如果包括当前目标数据样本的样本相似度均值与不包括当前目标数据样本的样本相似度均值的差不大于第一阈值,则将当前目标数据样本包括在目标聚类中;其中,目标聚类中包括当前目标数据样本的样本相似度均值与不包括当前目标数据样本的样本相似度均值的差形成样本相似度的梯度。由于采用了均值关系或均值函数来构建样本相似度的梯度,因此在保证了精度的同时(考虑了每个数据样本)简化了计算过程。
应理解,样本相似度均值可以为任意类型的均值,包括但不限于几何平均值、算数平均值及其组合,诸如幂形式、对数形式或指数形式的平均值。更优选地,在迭代计算当中,构造样本相似度的梯度的函数包括但不限于下面的函数形式:
根据图1的聚类方法100,当前样本相似度均值为当前目标数据样本与当前目标聚类中的各数据样本的样本相似度的均值,先前样本相似度均值为前一个目标数据样本与其当时对应的目标聚类中的各数据样本的样本相似度的均值。具体地,在本实施例中,样本相似度的梯度为当前迭代的样本相似度均值与上一次迭代的样本相似度均值的差的绝对值。但是,也可以是与下一次迭代的样本相似度均值的差。此外,每次迭代可以选择多个目标数据样本进行迭代以提高计算速度,只要遍历所有的数据样本即可。
根据图1的聚类方法100,当前样本相似度均值为当前目标数据样本与当前目标聚类中的各数据样本的样本相似度的均值,先前样本相似度均值为当前目标聚类中所有任意两个数据样本间的样本相似度的均值。具体地,本实施例的
以下将根据不同的初始样本数据、样本相似度的梯度以及样本相似度计算方法的组合对聚类处理进行描述。
图2a为根据本发明的第一变型例的聚类方法的示意性流程图。如图2a所示的第一变形例的聚类方法,包括如下步骤:
201:获取数据样本集。
202:根据线性关联函数计算两个数据样本的关联性,作为样本相似度,在本实施例中线性关联函数为f(xi,xj)=1-||xi-xj||,其中xi,xj为任意两个数据样本,1≤i,j≤n,n为数据样本集中数据样本的个数。
203:确定用于形成目标聚类的一个初始数据样本,其中y(0)=1;
204:根据相似度均值函数来计算当前迭代的基于目标数据样本的样本相似度均值,在本实施例中相似度均值函数为
205:判定当前迭代的基于目标数据样本的样本相似度均值与上一次迭代的基于目标数据样本的样本相似度均值的差是否小于或等于第一阈值,如果为肯定判定,则进行到步骤206;否则,进行到步骤207。
206:将当前迭代的目标数据样本包括在目标聚类中,并确定下次迭代的一个目标数据样本。
207:将当前迭代的目标数据样本作为目标聚类以外的数据样本。
下面结合图2b来描述图2a的方案,如图2b示出了根据本发明的第一变型例的聚类处理,图中的各个点表征不同的数据样本。假设a点为初始数据样本,b为第一次迭代的目标数据样本,则判定基于相似度均值函数计算y(b)-y(a)=f(b,a)-f(a,a)(例如,当p为1时)的绝对值是否小于或等于相似度梯度阈值θ1(本发明的第一阈值),结果为肯定。然后,再计算c点,判定y(c)-y(b)=(f(c,a)+f(c,b))/2-f(b,a)是否小于或等于相似度梯度阈值θ1,判定结果为否定,因此将c点认为是聚类以外的点。当计算到点e时,y(e)-y(d)=(f(e,a)+f(e,b)+f(e,d))/3-(f(d,a)+f(d,b))/2(因为c不在计算的范围内)是否小于或等于相似度梯度阈值θ1,经判定e点也在聚类内。如此,遍历数据样本集中的每个数据样本,即,图中的每个点。
图3为根据本发明的第二变型例的聚类方法的示意性流程图。如图3所示的第二变形例的聚类方法,包括如下步骤:
301:获取数据样本集。
302:根据高斯关联函数计算两个数据样本的关联性,作为样本相似度,在本实施例中线性关联函数为
303:基于第二阈值进行聚类预处理,使得预处理之后的每个类中f(xi,xj)≥θ2(不满足条件的数据样本不在进一步处理的范围内)。
304:对于聚类预处理后的每个类,确定用于形成目标聚类的两个初始数据样本,其中y(0)=1;
305:根据相似度均值函数来计算当前迭代的基于目标数据样本的样本相似度均值,在本实施例中相似度均值函数可以为
306:判定当前迭代的基于目标数据样本的样本相似度均值与上一次迭代的基于目标数据样本的样本相似度均值的差是否小于或等于第一阈值,如果为肯定判定,则进行到步骤307;否则,进行到步骤308。
307:将当前迭代的目标数据样本包括在目标聚类中,并确定下次迭代的一个目标数据样本。
308:将当前迭代的目标数据样本作为目标聚类以外的数据样本。
下面结合图2b来描述图3的方案,在根据本发明的第二变型例的聚类处理中,图中的各个点表征不同的数据样本。假设a点为初始数据样本,b为第一次迭代的目标数据样本,则判定基于相似度均值函数计算y(b)-y(a)=(f(b,a)+f(a,a)+f(b,b))/3-f(a,a)(例如,当p为1时)的绝对值是否小于或等于相似度梯度阈值(本发明的第一阈值)(换句话说,包括b点时存在的相似度的的均值与不包括b点时存在的所有的相似度的均值的差),在本实施例中,其结果为肯定。然后,再计算c点,判定y(c)-y(b)=(f(c,a)+f(c,b)+f(c,c)+f(b,b)+f(b,a)+f(a,a))/6-(f(b,a)+f(a,a)+f(b,b))/3是否小于或等于相似度梯度阈值,判定结果为否定,因此将c点认为是聚类以外的点。如此进行迭代计算,遍历数据样本集中的每个数据样本,即,图中的每个点。另外,也可以针对上述的i与j不相等的情况进行迭代,例如,这种情况下的初始数据样本为a和b,y(ab)=f(b,a),第一次迭代时,y(c)-y(ab)=(f(c,a)+f(b,a)+f(c,b))/3-f(b,a)(即,排除了每个点与其自身的相似度)。如此进行迭代,直至遍历每个点。这样可以提高计算效率和迭代速度,同时对计算精度的影响较小。
图4为根据本发明的第三变型例的聚类方法的示意性流程图。如图4所示的第三变形例的聚类方法,包括如下步骤:
401:获取数据样本集。
402:根据逻辑关联函数计算两个数据样本的关联性,作为样本相似度,在本实施例中线性关联函数为
403:基于第二阈值进行聚类预处理,使得预处理之后的每个类中f(xi,xj)≥θ2(不满足条件的数据样本不在进一步处理的范围内)。
404:对于聚类预处理后的每个类,确定用于形成目标聚类的两个初始数据样本,其中y(0)=1;
405:根据相似度均值函数来计算当前迭代的基于目标数据样本的样本相似度均值,在本实施例中相似度均值函数可以为
406:判定当前迭代的基于目标数据样本的样本相似度均值与上一次迭代的基于目标数据样本的样本相似度均值的差是否小于或等于第一阈值,如果为肯定判定,则进行到步骤407;否则,进行到步骤408。
407:将当前迭代的目标数据样本包括在目标聚类中,并确定下次迭代的两个目标数据样本。
408:将当前迭代的目标数据样本作为目标聚类以外的数据样本。
下面结合图2b来描述图4的方案,在根据本发明的第三变型例的聚类处理中,图中的各个点表征不同的数据样本。假设a和b点为初始数据样本,c为第一次迭代的目标数据样本,则判定基于相似度均值函数计算y(ab)=f(b,a)-f(a,a)(例如,当p为1时),y(bc)=(f(c,a)+f(c,b))/2-(f(b,a)+f(a,a)+f(b,b))/3。然后计算y(bc)-y(ab)的绝对值是否小于或等于相似度梯度阈值θ1(本发明的第一阈值),结果为肯定。应理解,也可以如第二变型例中,把每个点与其自身的相似度排除,这样可以提高计算效率和迭代速度,同时对计算精度的影响较小。
图5为根据本发明的另一实施例的电子设备的示意性框图。图5的电子设备500包括:
获取模块510,用于获取数据样本集;
计算模块520,用于计算数据样本集的样本相似度,样本相似度指示任意两个数据样本之间的相似度;
聚类处理模块530,用于基于设定的第一阈值以及数据样本集的样本相似度进行聚类处理,使得每个聚类的样本相似度的梯度不大于第一阈值,样本相似度的梯度指示多个数据样本之间的疏密程度;
输出模块540,用于输出聚类处理的结果。
应理解,数据样本集的样本相似度是指数据样本集中的多个数据样本中的两个数据样本之间的多个相似度,例如,可以是所有多个数据样本中的任意两个数据样本之间形成的多个相似度,也可以是部分数据样本中的任意两个数据样样本之间形成的多个相似度,也可以是多个数据样本中的两个数据样本之间的部分的相似度,即,所有的数据样本都与某一个数据样本存在相似度,但与某一个其他数据样本不存在相似度。类似地,每个聚类的样本相似度,是指每个聚类中形成的不同两个数据样本之间的多个相似度,可以为任意两个数据样本的所有相似度中的全部或部分。显然,每个聚类形成有自身的多个样本相似度,各个聚类的自身的多个样本相似度的整体形成了数据样本集的样本相似度。换句话说,优选地,样本相似度的计算为针对数据样本集中任意两个数据样本之间存在相似度的情况,但本发明的实施例不限定于此,可以仅计算部分的相似度。
还应理解,样本相似度可以采用任意的合适的函数或函数值来表征,本发明对此不作限定。应注意,如果样本相似度的取值范围存在上下界,则不存在相似度的情况优选地被认为是上界值或下界值,相应地,数据样本与其自身的相似度可以被认为是下界值或上界值。
还应理解,两个数据样本之间的相似度可以采用分别表征两个数据样本的向量来进行计算,本发明的聚类方法适用于存在共同的向量空间的数据样本集。但是,本发明的聚类方法不限定于该情况,其更大的优势是针对不存在共同的向量空间的数据样本集的复杂情况。例如,在计算不同的数据样本之间的相似度时,可以采用不同的向量表征方式。例如,当计算数据样本a与数据样本b之间的相似度时,可以根据样本自身的特性构建向量维度和各个向量分量的值,例如5维的a数据向量和b数据向量。当计算数据样本a与数据样本c之间的相似度时,可以构建10维的a数据向量和b数据向量。具体地,样本相似度的计算方法包括但不限于欧几里得距离、曼哈顿距离、明科夫斯基距离、余弦相似度、jaccard相似度、皮尔森相关系数、线性相关相似度、高斯相关相似度、逻辑相关相似度等。相应地,第二阈值θ2为基于上述的相似度而设定的阈值。如上所述,本发明对此不作限定。
图5的电子设备500还包括:聚类预处理模块,用于基于设定的第二阈值与数据样本集的样本相似度对数据样本集进行聚类预处理,使得聚类预处理后的每个类的样本相似度不小于第二阈值;聚类处理模块具体用于对聚类预处理后的每个类进行聚类处理。
根据图5的电子设备500,聚类处理模块具体用于:针对每个类,指定用于形成目标聚类的至少一个初始数据样本;通过针对每个类中的其余数据样本进行迭代计算,判定每个其余数据样本是否属于目标聚类,对于每次迭代,如果包括当前目标数据样本的样本相似度均值与不包括当前目标数据样本的样本相似度均值的差不大于第一阈值,则将当前目标数据样本包括在目标聚类中;其中,目标聚类中包括当前目标数据样本的样本相似度均值与不包括当前目标数据样本的样本相似度均值的差形成样本相似度的梯
根据图5的电子设备500,当前样本相似度均值为当前目标数据样本与当前目标聚类中的各数据样本的样本相似度的均值,先前样本相似度均值为前一个目标数据样本与其当时对应的目标聚类中的各数据样本的样本相似度的均值。
根据图5的电子设备500,当前样本相似度均值为当前目标数据样本与当前目标聚类中的各数据样本的样本相似度的均值,先前样本相似度均值为当前目标聚类中所有任意两个数据样本间的样本相似度的均值。
图5的电子设备500还包括:分组模块,用于对数据样本集进行分组形成多组数据样本;计算模块具体用于根据多组数据样本并行计算数据样本集的样本相似度。
图6为根据本发明的另一实施例的聚类处理模块的示意性框图。图6的聚类处理模块600可以但不限于作为上述的图5的聚类处理模块530的一种实施例,包括:
迭代模块610,其针对每个类,指定用于形成目标聚类的至少一个初始数据样本;通过针对每个类中的其余数据样本进行迭代计算,判定每个其余数据样本是否属于目标聚类。
相似度均值计算模块620,针对迭代模块610所确定的目标数据样本计算相似度梯度。
比较模块630,调用相似度均值计算模块620,并且如果包括当前目标数据样本的样本相似度与不包括当前目标数据样本的样本相似度均值的差不大于第一阈值,则将当前目标数据样本包括在目标聚类中,并且返回至迭代模块610确定下一个目标数据样本;其中,目标聚类中包括当前目标数据样本的样本相似度均值与不包括当前目标数据样本的样本相似度均值的差形成样本相似度的梯度。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据处理方法所应用于的电子设备,可以参考前述产品实施例中的对应描述,在此不再赘述。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。