一种基于确定性退火的模糊划分聚类方法及装置与流程

文档序号:17465966发布日期:2019-04-20 05:30阅读:161来源:国知局
一种基于确定性退火的模糊划分聚类方法及装置与流程

本发明涉及计算机技术领域,特别是涉及一种基于确定性退火的模糊划分聚类方法及装置。



背景技术:

随着网络和多媒体的蓬勃发展,收集到的海量文本信息、图像信息、视频信息、音频信息等等数据使得人工处理这些数据变得越来越难。机器学习研究的崛起使得人们有可能通过机器学习的方式处理这些数据。机器学习研究中,聚类作为一种无监督学习方式,得到了来自各个领域研究者的关注。数据聚类算法在许多领域受到广泛应用,包括机器学习,数据挖掘,模式识别,图像分析以及生物信息。在聚类算法的发展历程中,研究工作者们尝试从不同角度来描述聚类问题,并提出了许多基于不同理论、适用于不同应用的聚类算法。

近年来,聚类问题受到了学术界的广泛关注,机器学习和数据挖掘领域专家们在ieeetrans.、patternrecognition、aaai、icml等权威杂志及学术会上,对聚类算法进行了深入地探索与研究,从聚类算法从相似度(相异度)计算以及参数选择两方面对提出了不同的聚类算法。

通过计算相似度(相异度)可以挖掘出数据的内在结构,为进一步的数据分析提供信息,因此聚类结果直接依赖于相似度(相异度)度量。目前的聚类算法通过对相似度度量方法进行改进,从而使得聚类算法可以适应不同应用场景下的数据分析需求。经典的模糊c均值聚类算法中使用欧氏距离作为相似度(相异度)度量方法,但欧式距离度量方式导致模糊c均值聚类算法只对球形数据的聚类结果较为理想。

聚类算法常常可以转换为一个最优化问题,但聚类算法很难得到全局最优解。尤其对于大部分模糊划分聚类算法来说还存在着一个不可忽视的问题:参数选择,例如模糊c均值聚类算法中模糊指数m的选择。对于模糊划分聚类算法而言,样本可以同时属于若干个类,而样本属于某个类的程度由隶属度衡量。模糊指数m用于控制聚类结果的模糊程度,模糊指数m值过大,可能会导致聚类结果过分模糊,甚至得到无信息的聚类结果。实际上,模糊指数m参数值的选择非常困难,在不同应用场景下,甚至针对不同的数据,都需要选择相应的参数值。

经典的模糊划分c均值聚类算法使用欧氏距离作为相似度(相异度)度量,该距离计算方法适用于发现球形簇,而不适用于非球形簇的发现。现有的模糊聚类算法通过模糊指数m控制聚类结果的模糊程度,而忽略了不同应用场景下,甚至针对不同的数据需要选择不同的参数值,因此这些聚类算法的性能均受到参数选择的影响。



技术实现要素:

本发明提供了一种基于确定性退火的模糊划分聚类方法及装置,以解决现有技术中的模糊聚类算法计算不准确的问题。

本发明第一方面,提供了一种基于确定性退火的模糊划分聚类方法,包括:

步骤一、通过计算样本与各聚类中心间的马氏距离,建立相异度矩阵;

步骤二、根据相异度矩阵建立加入熵约束后的聚类算法目标函数,所述聚类算法目标函数为:

其中,隶属度矩阵u=[uik]c×n∈m,

所述熵为通过最大化熵得到限制条件下的样本集最优模糊划分,其中uik∈[0,1],k=1,…,n,i=1,…,c,n为样本个数,c为类个数,参数β为预设值;

步骤三、优化聚类算法的目标函数得到隶属度及聚类中心的迭代更新公式,通过迭代更新过程,得到样本的模糊划分结果,所述迭代更新公式为:其中,s为样本维度。

优选地,所述步骤一具体包括:样本和聚类中心间的相异度计算公式为:

其中,x={x1,x2,…,xn}代表样本数量为n、样本维度为s的数据集,数据集中的每个样本,均由一个s维特征向量表示,聚类的目标是将这n个数据点分为c类,用v={v1,v2,…,vc}表示类中心。

优选地,所述预设参数β在预定的范围内变动。

优选地,预设参数β在预定的范围内变动,包括:所述预设参数β在预定范围内以β的预定倍数进行变动。

本发明第二方面,提供了一种基于确定性退火的模糊划分聚类装置,包括:

第一处理单元,用于通过计算样本与各聚类中心间的马氏距离,建立相异度矩阵;

第二处理单元,用于根据相异度矩阵建立加入熵约束后的聚类算法目标函数,所述聚类算法目标函数为:

其中,隶属度矩阵u=[uik]c×n∈m,

所述熵为通过最大化熵得到限制条件下的样本集最优模糊划分,其中uik∈[0,1],k=1,…,n,i=1,…,c,n为样本个数,c为类个数,参数β为预设值;

第三处理单元,用于优化聚类算法的目标函数得到隶属度及聚类中心的迭代更新公式,通过迭代更新过程,得到样本的模糊划分结果,所述迭代更新公式为:

其中,s为样本维度。

优选地,所述第一处理单元具体用于,样本和聚类中心间的相异度计算公式为:

其中,x={x1,x2,…,xn}代表样本数量为n、样本维度为s的数据集,数据集中的每个样本,均由一个s维特征向量表示,聚类的目标是将这n个数据点分为c类,用v={v1,v2,…,vc}表示类中心。

优选地,所述预设参数β在预定的范围内变动。

优选地,所述预设参数β在预定范围内以β的预定倍数进行变动。

本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有信号映射的计算机程序,所述计算机程序被至少一个处理器执行时,以实现上述任一种所述的基于确定性退火的模糊划分聚类方法。

本发明有益效果如下:

本发明提出了一种基于确定性退火机制的模糊划分聚类算法,采用马氏距离作为相似度度量从而使得聚类算法适用于发现对非球形的簇,用最大熵准则去掉模糊指数m从而使得算法的应用避免选择模糊指数m值,并且用确定性退火机制保证算法在一般情况下均可以得到较好的聚类结果,从而很好的提升了聚类算法的性能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施例的一种基于确定性退火的模糊划分聚类方法的流程示意图;

图2是本发明实施例的一种基于确定性退火的模糊划分聚类方法的框架图;

图3是本发明实施例的一种基于确定性退火的模糊划分聚类装的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明第一实施例提供了一种基于确定性退火的模糊划分聚类方法,参见图1,该方法包括:

步骤一、通过计算样本与各聚类中心间的马氏距离,建立相异度矩阵;

本发明实施例中,所述的样本为各类数据转换后得到特征向量,所述数据包括图片数据、文本数据等等,所述数据可以是从网络上获取的各种网络数据,也可以是本机存储的各种数据。

步骤二、根据相异度矩阵建立加入熵约束后的聚类算法目标函数,所述聚类算法目标函数为:

其中,隶属度矩阵u=[uik]c×n∈m,

所述熵为通过最大化熵得到限制条件下的样本集最优模糊划分,其中uik∈[0,1],k=1,…,n,i=1,…,c,n为样本个数,c为类个数,参数β为预设值;

步骤三、优化聚类算法的目标函数得到隶属度及聚类中心的迭代更新公式,通过迭代更新过程,得到样本的模糊划分结果,所述迭代更新公式为:

其中,s为样本维度。

也就是说,本发明实施例通过采用马氏距离作为相似度度量从而使得聚类算法适用于发现对非球形的簇,用最大熵准则去掉模糊指数m从而使得算法的应用避免选择模糊指数m值,并且用确定性退火机制保证了算法在一般情况下均可以得到较好的聚类结果,从而很好的提升了聚类算法的性能。

具体实施时,本发明实施例中,所述步骤一具体包括:

样本和聚类中心间的相异度计算公式为:

其中,x={x1,x2,…,xn}代表样本数量为n、样本维度为s的数据集,数据集中的每个样本,均由一个s维特征向量表示,聚类的目标是将这n个数据点分为c类,用v={v1,v2,…,vc}表示类中心。

需要说明的是,本发明用确定性退火技术而不是固定值参数,因此可以通过确定性退火机制自动的寻找合适的参数值,减小参数选择对聚类结果的影响。

为了更好的对本发明进行说明,下面将以一个具体的实施例为例,对本发明的基于马氏距离度量以及确定性退火技术的模糊聚类算法进行详细说明,本发明实施例通过使用马氏距离使得聚类算法适用于不同形状类簇的发现,并且将最大熵准则引入聚类算法中,从而去掉模糊指数m。本发明主要内容包括相异度计算、最大熵约束以及确定性退火技术等。

本发明实施例中,首先通过计算样本与各聚类中心(原型)间的马氏距离,建立相异度矩阵;然后,通过优化聚类算法的目标函数得到隶属度及聚类中心的迭代更新公式,通过迭代更新过程,即可得到样本的模糊划分结果。

本发明实施例具体包括以下步骤,具体如图2所示:

1、相异度计算

通过计算样本与类中心的马氏距离,建立相异度矩阵如下表1所示。

假设x={x1,x2,…,xn}代表样本数量为n、样本维度为s数据集,数据集中的每个样本,均由一个s维特征向量表示。聚类的目标是将这n个数据点分为c类。用v={v1,v2,…,vc}表示类中心。

表1相异度矩阵

样本和聚类中心间的相异度计算公式为:

其中,

马氏距离替换欧氏距离,可以使得算法可以对非球形的数据进行聚类。实际上,欧式距离可以被看做是马氏距离的一个特殊形式,当ρi=1,fi=is,i=1,…,c时,马氏距离就退化为欧氏距离。

2、最大熵约束

隶属度uik表示第k个样本xk隶属于第i个类vi的隶属程度。为避免模糊指数m的选择,且保证聚类结果的模糊程度,最大化隶属度的熵,

显然,当聚类结果为硬划分聚类结果时,uik={0,1},k=1,…,n,i=1,…,c,熵等于0;聚类结果的模糊程度越高,熵越大。通过在目标函数中加入熵约束,可以调整聚类结果的模糊程度。加入熵约束后的聚类算法目标函数如下:

其中,隶属度矩阵u=[uik]c×n∈mfcn,目标函数的第一项,表示离聚类中心近的样本具有更高的隶属度;而目标函数的第二项保证聚类结果的模糊程度。

我们使用拉格朗日乘子法最小化u=[uik]c×n∈mfcn限制条件下的目标函数,得到聚类中心和隶属的迭代更新公式如下:

其中

3、确定性退火技术

确定性退火机制通过模拟物理退火过程,寻找优化问题的最优解的方法。确定性退火过程,将求解优化问题的最优解转化为求一系列随温度变化的物理系统的自由能函数的极小。在每一温度下,系统状态的变化总是朝着自由能减少的方向进行,当系统达到平衡态时自由能函数达到极小。在温度较高时,可以得到该温度下自由能函数的极小。逐渐降低温度,以系统在高温状态下的自由能函数极小作为当前温度下的初始点,模拟系统达到平衡状态的过程。因此,确定性退火方法可以避免得到较差的局部最优解。

本发明使用β←β×1.01的机制对参数β的值进行调节,而实际应用中,可以定义不同的倍数。通过逐渐改变参数β的值,可以避免算法得到较差的聚类结果。同时,通过确定性退火机制自动寻找最优的参数值,而不用再聚类的初始阶段面临参数选择问题。

需要说明的是,本发明实施例中预设参数β具有最大值和最小值,并且β是以β的预定倍数进行变动。

4、时间复杂度分析

本发明在每一步迭代,更新聚类中心的计算复杂度为o(c),更新协方差矩阵和正定矩阵的计算复杂度分别为o(s2)和o(s3)。同时,更新隶属度矩阵的计算复杂度为o(nc)。因此,一次迭代总的计算复杂度为o(c+nc+s2+s3)。假设对每个β值,迭代次数为tβ,且总共有t个不同的β值,通过简单计算可知,该聚类算法的计算复杂度为o(ttβ(c+nc+s2+s3))。因为nc>c且s3>s2,因此聚类算法的计算复杂度就等于o(max(ttβnc,ttβs3))。需要特别指出,在不同的β值情况下,算法的迭代次数tβ是不相等的。ttβ表示的是算法总迭代次数。

本发明在来自uci数据库的数据集上进行了实验验证,对比分析了模糊c均值聚类算法(fcm)、确定性退火模糊c均值聚类算法(da-fcm)、gustafson-kessel模糊聚类算法(gk)以及本发明提出的基于确定性退火的模糊聚类算法的聚类性能。uci数据库是一个常用的标准测试数据集,由加州大学欧文分校(universityofcaliforniairvine)提出,这个数据库目前共有360个数据集。我们从uci数据库选取了七个具有代表性的数据集合进行实验验证。

由表2可知,本发明能够有效地改进模糊聚类算法的性能。我们选取的数据集本身包含类别信息,因此我们用错误个数(errorcount)以及错误率(errorrate)作为评价聚类结果好坏的指标。与此同时,针对每一种聚类算法,统计相对应的运行时间(runningtime),作为算法效率的评价指标。通过确定性退火机制可以减小参数初始值选择对聚类结果的影响,并且能得到较好的聚类结果。马氏距离度量方式适合大部分数据集的相异度计算,但也有一些数据集适合用欧式距离作为距离度量方式,例如breast-cancer-wisconsin数据集。总体上,本发明提出的基于确定性退火的模糊聚类算法比其他聚类算的运行时间更长,但是与运行时间的增加相比确定性退火机制对聚类结果改善更为重要。

表2算法性能比较表

由于不同的模糊划分聚类算法的聚类性能也不相同。为了考察本发明能否有效地改善聚类性能,采用了2种最常用的模糊聚类算法作为比对算法,包括:模糊c均值聚类算法(fcm)、确定性退火模糊c均值聚类算法(da-fcm)、gustafson-kessel模糊聚类算法(gk),通过对比不同模糊划分聚类算法的聚类结果,证明本发明提出的聚类算法的有效性。

并且,为了评价聚类性能,本发明实施例选取的数据集本身包含类别信息,因此本发明采用错误个数(errorcount)以及错误率(errorrate)作为评价聚类结果好坏的指标。与此同时,针对每一种聚类算法,统计相对应的运行时间(runningtime),作为算法效率的评价指标。

为了提升聚类算法的性能,本发明实施例提出了一种基于确定性退火机制的模糊划分聚类算法,首先,采用马氏距离作为相似度度量从而使得聚类算法适用于发现对非球形的簇;其次,用最大熵准则去掉模糊指数m从而使得算法的应用避免选择模糊指数m值;再次,通过确定性退火机制,我们可以自动寻找更优的划分,并保证算法在一般情况下均可以得到较好的聚类结果。

总体来说,本发明提出的聚类算法比较鲁棒,通过使用马氏距离作为距离度量使得算法可用于不同形状的数据集的聚类,而不仅仅适用于球形数据的聚类;并且该聚类方法的参数初始值选择比传统模糊聚类算法,例如模糊c均值聚类算法简单,因此具有良好的实际应用效果。然后,采用经典模糊c均值聚类算法(fcm)、确定性退火c均值聚类算法(da-fcm)、gk聚类算法以及本发明提出的一种基于确定性退火的模糊划分聚类技术对uci数据集的数据进行聚类分析;实践证明,本发明能够有效地提高聚类算法的聚类性能且能避免在算法的初始阶段就选择合适的参数值。

本发明实施例基于确定性退火的模糊划分聚类方法包括:

与图1相对应的,本发明第二实施例提供了一种基于确定性退火的模糊划分聚类装置,参见图3,包括:

第一处理单元,用于通过计算样本与各聚类中心间的马氏距离,建立相异度矩阵;

第二处理单元,用于根据相异度矩阵建立加入熵约束后的聚类算法目标函数,所述聚类算法目标函数为:

其中,隶属度矩阵u=[uik]c×n∈m,

所述熵为通过最大化熵得到限制条件下的样本集最优模糊划分,其中uik∈[0,1],k=1,…,n,i=1,…,c,n为样本个数,c为类个数,参数β为预设值;

第三处理单元,用于优化聚类算法的目标函数得到隶属度及聚类中心的迭代更新公式,通过迭代更新过程,得到样本的模糊划分结果,所述迭代更新公式为:

其中,s为样本维度。

本发明实施例中,所述第一处理单元具体用于,样本和聚类中心间的相异度计算公式为:

其中,x={x1,x2,…,xn}代表样本数量为n、样本维度为s的数据集,数据集中的每个样本,均由一个s维特征向量表示,聚类的目标是将这n个数据点分为c类,用v={v1,v2,…,vc}表示类中心。

本发明实施例的相关内容可参见本发明第一实施例进行理解,在此不做详细论述。

本发明第三实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有信号映射的计算机程序,所述计算机程序被至少一个处理器执行时,以实现本发明第一实施例所述的基于确定性退火的模糊划分聚类方法。本发明实施例的相关内容可参见本发明第一实施例进行理解,在此不做详细论述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的分布式文件系统数据导入装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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