2. 广东工业大学 应用数学学院,广东 广州 510520
2. School of Applied Mathematics, Guangdong University of Technology, Guangzhou 510520, China
在大数据时代,对数据进行人工标注往往需要耗费大量的人工成本,从而使得研究如何有效利用少量带标注对象开展知识学习成为机器学习中的一个重要课题。因此,如何在只有少量指导信息的情况下去学习知识是目前一个很重要的研究议题。常见的半监督信息[1-4]有2类:一类是少部分对象带类标签信息;另一类是少量对象间的成对约束信息。其中,成对约束信息因其标注成本低且有效,而被众多半监督核聚类[5-8]所采用。但是,成对约束信息的测度目前还没有一个统一标准,进而限制了成对约束指导信息的有效利用。因此,如何有效测度和利用成对约束指导信息成为半监督学习算法研究领域的一个亟待解决的新议题。
Wang[9]引入对象间隶属度交互效应测度,基于模糊数学理论将软聚类思想推广应用到非球形数据,提出了基于成对约束的半监督模糊核聚类算法(semi-supervised kernel-based fuzzy c-means with pairwise constraints,PCKFCM)。目前基于成对约束的核聚类算法研究主要集中在以下两方面:1)对象方面。Wang[10]利用动态加权给对象空间上每个对象分配一个动态权值,以解决对象对类簇贡献不均衡的问题,形成了基于成对约束的动态加权半监督模糊核聚类算法(DKFCM)。王勇臻等[11]提出了利用主动学习的方法选择对象,以解决初始化对象不具代表性的问题。王小玉[12]利用成对约束调整对象间的关系,以解决密度相差比较大的簇进行有效聚类的问题,提出了基于共享近邻的成对约束谱聚类算法。2)核函数方面。Wang[13]提出了面向成对约束半监督模糊核聚类的核参数优化算法,以解决核函数参数影响聚类性能的问题。Kusunoki[14]提出利用Boolean核函数解决类簇可解释性的问题。Zhang等[15]利用自适应核方法指导标注传播,实现高维数据分类。但目前对于成对约束核聚类的研究中,还缺少对成对约束指导信息的有效测度方面的关注。
为了解决上述问题,本文提出基于交叉熵测度的成对约束核函数聚类算法。交叉熵作为成对约束对象隶属度选择的信息度量工具,以此为基础而提出了本文的最小−最大交叉熵隶属度学习准则。以此准则为基础,形成基于交叉熵测度的成对约束核函数聚类算法。与其他算法的性能对比实验表明:本算法的对象类簇划分更加有效,同时也说明本算法能更加有效利用成对约束指导信息提升聚类性能。
1 成对约束及核聚类算法成对约束[16]一般可以分为正关联约束(must-link)和负关联约束(cannot-link)2种约束。设must-link集合
![]() |
Download:
|
图 1 成对约束示意 |
将成对约束指导信息引入到核聚类算法是一种提升聚类性能的有效途径。核聚类算法利用Mercer核[17]将原始空间上的对象映射到高维特征空间上,从而实现对象线性可分。如图2所示,在二维空间上呈环状分布的非球形数据难以被有效划分,但通过核方法映射到三维空间上便可实现线性可分。
![]() |
Download:
|
图 2 核函数映射 |
在FCM算法[18]基础上,模糊核聚类算法[19](KFCM)的目标函数如下:
$\begin{aligned} & {{{J}}_{{{\rm KFCM}}}}\left( {U,V;X} \right) = \mathop {\displaystyle\sum} \limits_{i = 1}^c \mathop {\displaystyle\sum} \limits_{j = 1}^n \mu _{ij}^m{\left\| {{\varPhi }\left( {{x_j}} \right) - {\varPhi }\left( {{\upsilon _i}} \right)} \right\|^2} \\ &\quad \quad \quad \quad \quad {\rm{s.t.}}\mathop {\displaystyle\sum} \limits_{i = 1}^c {\mu _{ij}} = 1,0 \leqslant {\mu _{ij}} \leqslant 1 \end{aligned}$ |
式中:
在此基础上,一种用对象间隶属度二次项测度方法[9]来表示成对约束的核模糊算法PCKFCM被提出。PCKFCM算法的目标函数如下:
$ \begin{array}{c} {{{J}}_{{{\rm PCKFCM}}}}\left( {{{U}},{{V}};{{X}}} \right) = \mathop {\displaystyle\sum} \limits_{i = 1}^c \mathop {\displaystyle\sum} \limits_{j = 1}^n \mu _{ij}^m{\left\| {{\varPhi }\left( {{x_j}} \right) - {\varPhi }\left( {{\upsilon _i}} \right)} \right\|^2} +\\ \alpha \left( {\mathop {\displaystyle\sum} \limits_{j = 1}^n \left( {\mathop {\displaystyle\sum} \limits_{{p^ + }} \mathop {\displaystyle\sum} \limits_{i = 1}^c \mathop {\displaystyle\sum} \limits_{l = 1,l \ne i}^c {\mu _{ij}}{\mu _{lk}} + \mathop {\displaystyle\sum} \limits_{{p^ - }} \mathop {\displaystyle\sum} \limits_{i = 1}^c {\mu _{ij}}{\mu _{ik}}} \right)} \right)\\ {\rm{s.t.}}\mathop {\displaystyle\sum} \limits_{i = 1}^c {\mu _{ij}} = 1,0 \leqslant {\mu _{ij}} \leqslant 1 \end{array} $ |
式中的第1部分继承FKC算法处理非球形数据的方法;第2部分是成对约束违反的惩罚项;
1948年,Shannon[20]借鉴热力学中熵的概念,将其引入到信息论中,提出了信息熵(也称为香农熵)。信息熵量化了对象包含的不确定性,而交叉熵作为信息熵的拓展,量化了对象间不确定性的差异程度,也是信息论研究中的重要领域,在机器学习、模式识别等众多领域有着广泛的应用。尤其在深度学习领域中,交叉熵可以作为一种损失函数用来评判学习效果。因此在CEM-FKCPC(cross-entropy-measure based fuzzy kernel clusting algorithm with pairwise constraints)算法中,我们将交叉熵引入到成对约束指导信息度量中。
定义1 对于任意2个对象
${H}\left( {{x_j},{x_k}} \right) = - \mathop \sum \limits_{i = 1}^c {\mu _{ij}}\ln{\mu _{ik}}$ | (1) |
式中:
从对象交叉熵定义的数学表达式中可以推出如下关系式[21]:
${H}\left( {{x_j},{x_k}} \right) = - \sum\limits_{i = 1}^c {{\mu _{ij}}\ln {\mu _{ij}} + \sum\limits_{i = 1}^c {{\mu _{ij}}\ln \frac{{{\mu _{ij}}}}{{{\mu _{ik}}}}} } $ | (2) |
为便于讨论,式(2)右边2项依次记为:
${H}({x_j},{x_j}) \triangleq - \sum\limits_{i = 1}^c {{\mu _{ij}}\ln } {\mu _{ij}}$ |
${D}({x_j},{x_K}) \triangleq \sum\limits_{i = 1}^c {{\mu _{ij}}\ln } \frac{{{\mu _{ij}}}}{{{\mu _{ik}}}}$ |
式中:
${H}({x_j},{x_k}) = {H}({x_j},{x_j}) + {D}({x_j},{x_k})$ | (3) |
从式(3)看到,对象交叉熵
定义2 交叉熵惩罚系数符号矩阵定义为
$ \begin{array}{*{20}{c}} {{s_{jk}} = {\rm{sign}}(\left\langle {{x_j},{x_k}} \right\rangle ) = \left\{ \begin{array}{l} - 1,\left\langle {{x_j},{x_k}} \right\rangle \in {p^ - };j = k \\ + 1,\left\langle {{x_j},{x_k}} \right\rangle \in {p^ + } \\ 0,\begin{array}{*{20}{c}} {}&{{{\text{其他}}}} \end{array} \\ \end{array} \right.}\\ {{\rm{1}} \leqslant j,k \leqslant n} \end{array} $ |
式中:
定义3 最小−最大交叉熵隶属度学习准则
记
![]() |
Download:
|
图 3 最小−最大交叉熵隶属度学习准则示意 |
特别地,当
如图4所示,有3个对象
![]() |
Download:
|
图 4 交叉熵指导算法学习过程 |
CE-sSC(cross-entropy semi-supervised clusting based on pairwise constraints)算法[21]是在极大熵聚类算法的基础上,利用成对约束的一种交叉熵的信息表达方法,扩展得到了一种基于成对约束的交叉熵半监督聚类算法。该方法能有效利用少量的成对约束监督信息在线性可分的类簇上提高聚类性能,但对于非线性可分的类簇难以得到较好的效果(如图5中的左图)。在实际生产环境中,大多数情况的类簇都是非线性可分的,因此,在CE-sSC基础上,本文引入核函数处理非线性可分数据。
![]() |
Download:
|
图 5 核函数实现示意 |
如图5,结合成对约束信息,利用核函数将原本非线性可分的类簇映射到另一个空间后实现线性可分。
2.3 算法设计根据以上定义和分析,构造CEM-FKCPC算法的目标函数如下:
$\begin{aligned} &{\begin{array}{c} {{{J}}_{{{\rm CEM}} - {{\rm FKCPC}}}}({{U}},{{V}};{{X}}) = \mathop {\displaystyle\sum} \limits_{i = 1}^c \mathop {\displaystyle\sum} \limits_{j = 1}^n \mu _{ij}^m{\left\| {{{\varPhi }}\left( {{x_j}} \right) - {{\varPhi }}\left( {{\upsilon _i}} \right)} \right\|^2}+\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; \gamma \displaystyle\sum\limits_{j,k = 1}^n {{s_{jk}} {{H}}({x_j},{x_k})} \end{array}}\\ &\quad \quad \quad \quad \quad {{\rm{s.t.}}\mathop {\displaystyle\sum} \limits_{i = 1}^c {\mu _{ij}} = 1,0 \leqslant {\mu _{ij}} \leqslant 1} \end{aligned} $ |
式中目标函数的符号说明如表1。
![]() |
表 1 符号说明 |
聚类准则是要最小化目标函数
$\begin{array}{c} {J_{{{\rm CEM}} - {{\rm FKCPC}}}}({{U}},{{V}};{{X}}) = \mathop {\displaystyle\sum} \limits_{i = 1}^c \mathop {\displaystyle\sum} \limits_{j = 1}^n \mu _{ij}^m{\left\| {{{\varPhi }}\left( {{x_j}} \right) - {{\varPhi }}\left( {{\upsilon _i}} \right)} \right\|^2}+\\ \gamma \displaystyle\sum\limits_{j,k = 1}^n {{s_{jk}} {{H}}({x_j},{x_k})} + \displaystyle\sum\limits_{j = 1}^n {{\lambda _j}(\displaystyle\sum\limits_{j = 1}^n {{\mu _{ij}} - 1} )} \end{array}$ |
求解上述优化问题,需要满足以下KKT条件。其中
${\left. {\frac{{\partial {{{J}}_{{{\rm CEM}} - {{\rm FKCPC}}}}({{U}},{{V}},\lambda ;{{X}})}}{{\partial {{V}}}}} \right|_{{{V}} = {{{V}}^ * }}} = 0$ |
${\left. {\frac{{\partial {{{J}}_{{{\rm CEM}} - {{\rm FKCPC}}}}({{U}},{{V}},\lambda ;{{X}})}}{{\partial {{U}}}}} \right|_{{{U}} = {{{U}}^ * }}} = 0$ |
$\frac{{\partial {{{J}}_{{{\rm CEM}} - {{\rm FKCPC}}}}({{U}},{{V}},\lambda ;{{X}})}}{{\partial \lambda }} = 0$ |
$\sum\limits_{j = 1}^n {\mu _{ij}^ * - 1} = 0$ |
${\lambda _j} \geqslant 0$ |
由此得到聚类中心更新公式:
${v_i} = \frac{{\mathop {\mathop {\displaystyle\sum} \limits^n }\limits_{j = 1} {\mu _{ij}}^m{{K}}\left( {{x_j},{v_i}} \right){x_j}}}{{\mathop {\mathop {\displaystyle\sum} \limits^n }\limits_{j = 1} {\mu _{ij}}^m{{K}}\left( {{x_j},{v_i}} \right)}}$ | (4) |
同理,由以下式子:
$f\left( {{\mu _{ij}}} \right) = m\mu _{ij}^{m - 1}\left[ {2 - 2{{K}}\left( {{x_j},{v_i}} \right)} \right]$ |
$h\left( {{\mu _{ij}}} \right) = \gamma \mathop \sum \limits_{k = 1,k \ne j}^n {s_{jk}} \ln{\mu _{ik}} + \gamma \mathop \sum \limits_{k = 1,k \ne j}^n {s_{kj}} \frac{{{\mu _{ik}}}}{{{\mu _{ij}}}}$ |
$f\left( {{\mu _{ij}}} \right) + h\left( {{\mu _{ij}}} \right) - {\lambda _j} + {s_{jj}} + {s_{jj}}\ln{\mu _{ij}} = 0$ |
可以得到隶属度迭代公式:
${\mu _{ij}} = \frac{{\exp\left( {\dfrac{{f\left( {{\mu _{{\rm{ij}}}}} \right) + h\left( {{\mu _{{\rm{ij}}}}} \right)}}{{ - {s_{{\rm{jj}}}}}}} \right)}}{{\mathop {\mathop {\displaystyle\sum} \limits^c }\limits_{i = 1} \exp\left( {\dfrac{{f\left( {{\mu _{{\rm{ij}}}}} \right) + h\left( {{\mu _{{\rm{ij}}}}} \right)}}{{ - {s_{{\rm{jj}}}}}}} \right)}}$ | (5) |
据上述CEM-FKCPC算法推导过程和迭代公式,给出CEM-FKCPC算法具体步骤如下:
输入 交叉熵惩罚系数矩阵
输出 数据所属类标签矩阵
1)根据类簇数目和对象数据集确定初始隶属度
2)根据式(4),计算聚类中心
3)根据式(5),更新隶属度
4)若迭代次数
5)得到隶属度矩阵
CEM-FKCPC算法的时间复杂度主要由两部分组成:1)聚类中心矩阵,由于类簇数远远小于对象数据个数所以其时间复杂度为
为了检验CEM-FKCPC算法的聚类性能,实验用基于交叉熵的CE-sSC算法[21]、二次项测度的PCKFCM算法[9]、DKFCM算法[10]和传统的k-means算法、KFCM算法[19]作为对比实验。在所有的实验中,使用高斯核
1) 性能指标
对于采用的各种聚类算法,实验将采用如下性能指标评估聚类算法性能。
Rand Index[22]度量定义为
${\rm{RI}} = \frac{{|{\rm{TP}}| + |{\rm{TN}}|}}{{|{\rm{TP}}| + |{\rm{FP}}| + |{\rm{TN}}| + |{\rm{FN}}|}}$ |
式中:TP:同一类的对象被分到同一个簇;FP:不同类的对象被分到同一个簇;TN:不同类的对象被分到不同簇;FN:同一类的对象被分到不同簇。
RI值指标的取值区间在
2) 标准数据集
实验标准数据集分别选用UCI常用的数据集和人工合成的非球型数据集[23](见表2)。其中,Iris数据集和Wine数据集广泛应用于各类算法性能测试,具有较高的直观性和可靠性。人工合成的非球型数据可以检验核方法对线性不可分数据的聚类性能。X型、抛物线型数据如图6所示。
![]() |
表 2 标准数据集信息 |
![]() |
Download:
|
图 6 人工合成数据集 |
除此之外,为了更能体现上述聚类算法在实际应用中的聚类性能,本文从文献[24]当中选取基于基站定位数据的商圈分析和基于多污染因素的区域空气质量评价等实际应用案例。其中,基站定位数据的商圈分析案例根据手机运营商的用户的历史定位数据进行数据分析,归纳出商圈的人流特征和规律,识别出不同的商圈,从而达到为合适区域进行运营商促销活动的目的。而空气质量评价案例则是关于环境质量评价方面的相关应用,空气质量评价是环境质量评价中的一个重要组成部分,空气质量一般受多个污染因素相互作用影响,从多污染因素角度出发更能客观准确地反映环境质量状况,考虑SO2、NO、NO2等多个相关污染因素,通过采集和预处理得到空气质量数据,用以对空气质量进行评价。因此,本文采用商圈用户特征数据集Y1和空气质量数据集Y2这两个工业数据集进行实验,实验数据均已标准化,其中以文献[24]的划分结果作为数据集Y1和Y2的标签,便于进行聚类性能对比,数据如表3和表4。
![]() |
表 3 Y1数据集部分数据 |
![]() |
表 4 Y2数据集部分数据 |
根据实验设置与上述的实验方案,通过随机抽取已知的成对约束监督信息指导算法聚类学习,实验结果如下:
由图7(a)、(b)可以看出,在Iris和Wine数据集上,基于交叉熵测度的CEM-FKCPC算法在不同的成对约束数量均优于其余算法,在实验中,控制成对约束数量在50对以内,证明了利用交叉熵表达成对约束的CEM-FKCPC算法只需利用少量的监督信息就能达到较好的聚类性能。对于X型(如图7(c)),4种半监督算法在少量的成对约束条件下,整体聚类性能都不高,但CEM-FKCPC算法的聚类性能依然高于其余算法。对于抛物线型数据(如图7(d)),CEM-FKCPC算法随着成对约束数量的增加,聚类性能逐渐超越PCKFCM算法和CE-sSC算法。同时,CEM-FKCPC算法的成对约束对聚类性能的提升效果优于CE-sSC等算法。由结果分析知道,对于非球形数据,CEM-FKCPC算法合理利用成对约束监督信息的核聚类算法能更好地处理非球形数据,提高聚类性能。
![]() |
Download:
|
图 7 聚类结果 |
由图7(e)可以看出,在Y1数据集上,CEM-FKCPC算法的RI值一直都优于其他4种算法。对于Y2数据集(图7(f)),在成对约束数量在0~15时,CE-sSC算法RI值要高于CEM-FKCPC算法,但成对约束数量在20~50时,CEM-FKCPC算法RI值上升趋势明显,逐步赶超其余算法。因此,根据RI值的比较可以看出,基于交叉熵测度的CEM-FKCPC算法能更有效地利用成对约束信息。此外,从图7总体上看,与传统的k-means和FKCM算法比较可以看出,CEM-FKCPC算法优于这类传统算法。
4 结论1)针对基于成对约束的核聚类中,如何合理高效地利用成对约束监督信息,同时更好地表达成对约束信息并作出明确解析等问题,本文引入交叉熵作为成对约束信息度量,提出新的成对约束框架CEM-FKCPC。
2)相比于已有的成对约束度量,交叉熵度量方法更能表达整体的不确定性信息。通过UCI经典数据集、合成的非球形数据集和实际工业数据集的实验表明,CEM-FKCPC算法能有效地利用少量的成对约束监督信息提高聚类性能。
3)对比CE-sSC、PCKFCM、DKFCM算法,基于成对约束的核聚类算法CEM-FKCPC对于线性不可分数据有更好的聚类效果。
[1] |
王立国, 杜心平. K均值聚类和孪生支持向量机相结合的高光谱图像半监督分类
[J]. 应用科技, 2017, 44(3): 12-18. DOI:10.11991/yykj.201606018 (![]() |
[2] |
KANZAWA Y. Semi-supervised fuzzy c-means algorithms by revising dissimilarity/kernel matrices[J]. Fuzzy sets, multisets and clustering. springer, cham , 2017,17(671): 45−61.
(![]() |
[3] |
赵帅, 张雁, 徐海峰. 基于成对约束分的特征选择及稳定性评价[J]. 计算机与数字工程, 2019, 47(6): 1441-1445. DOI:10.3969/j.issn.1672-9722.2019.06.033 (![]() |
[4] |
王楠, 孙善武. 基于半监督聚类分析的无人机故障识别[J]. 计算机科学, 2019(S1): 192-195. (![]() |
[5] |
ANAND S, MITTAL S, TUZEL O, et al. Semi-supervised kernel mean shift clustering[J]. IEEE transactions on pattern analysis & machine intelligence, 2013, 36(6): 1201-1215. (![]() |
[6] |
KUSUNOKI Y, TANINO T. Boolean kernels and clustering with pairwise constraints[C]//IEEE International Conference on Granular Computing. Hokkaido, Japan, 2014: 141–146
(![]() |
[7] |
JEAN N, XIE S M, ERMON S. Semi-supervised deep kernel learning: regression with unlabeled data by minimizing predictive variance[C]// Advances in neural information processing systems. Montreal, Canada, 2018: 5322−5333.
(![]() |
[8] |
HE X, GUMBSCH T, ROQUEIRO D, et al. Kernel conditional clustering and kernel conditional semi-supervised learning[J]. Knowledge and information systems, 2019: 1-27. (![]() |
[9] |
WANG N, LI X, LUO X. Semi-supervised kernel-based fuzzy C-means with pairwise constraints. [C]//International Joint Conference on Neural Networks, IJCNN. DBLP, 2008: 1098–1102.
(![]() |
[10] |
WANG L, WANG S T. Dynamic weighted semi-supervised fuzzy kernel clustering based on pairwise constraints[J]. Computer engineering, 2012, 38(1): 148-150. (![]() |
[11] |
王勇臻, 陈燕, 张金松. 面向主动学习的模糊核聚类采样算法[J/OL]. 计算机应用研究, 2017 (12): 1−8.
(![]() |
[12] |
王小玉, 丁世飞. 基于共享近邻的成对约束谱聚类算法[J]. 计算机工程与应用, 2019, 55(2): 148-153. (![]() |
[13] |
WANG Na, LI Xia. Kernel parameter optimization for semi-supervised fuzzy clustering with pairwise constraints[J]. Chinese journal of electranics, 2008, 17(2): 297-300. (![]() |
[14] |
YIN X, CHEN S, HU E, et al. Semi-supervised clustering with metric learning: an adaptive kernel method[J]. Pattern recognition, 2010, 43(4): 1320-1333. DOI:10.1016/j.patcog.2009.11.005 (![]() |
[15] |
ZHANG Z, JIA L, ZHAO M, et al. Kernel-induced label propagation by mapping for semi-supervised classification[J]. IEEE transactions on big data, 2018, 5(2): 148−165.
(![]() |
[16] |
BIBI A, WU B, GHANEM B. Constrained k-means with general pairwise and cardinality constraints[EB/OL]. 2019-07-24. https://ui.adsabs.harvard.edu/abs/2019arXiv190710410B.
(![]() |
[17] |
ZELENKO D , AONE C , RICHARDELLA A. Kernel methods for relation extraction[J]. Journal of machine learning research, 2003, 3(3): 1086-1106. (![]() |
[18] |
BEZDEK J C, EHRLICH R, FULL W. FCM: the fuzzy c-means clustering algorithm[J]. Computers & geosciences, 1984, 10(2): 191-203. (![]() |
[19] |
ZHANG D Q, CHEN S C. A novel kernelized fuzzy C-means algorithm with application in medical image segmentation[J]. Artificial intelligence in medicine, 2004, 32(1): 37-50. DOI:10.1016/j.artmed.2004.01.012 (![]() |
[20] |
SHANNON C E. A mathematical theory of communication[J]. Bell system technical journal, 1948, 27(3): 379−423.
(![]() |
[21] |
李晁铭, 徐圣兵, 郝志峰. 基于成对约束的交叉熵半监督聚类算法[J]. 模式识别与人工智能, 2017, 30(7): 598-608. (![]() |
[22] |
王军, 周凯, 程勇. 混合的密度峰值聚类算法[J]. 计算机应用, 2019, 39(2): 403-408. DOI:10.11772/j.issn.1001-9081.2018061373 (![]() |
[23] |
ZHOU J, CHEN C L P, CHEN L. Maximum-entropy-based multiple kernel fuzzy c-means clustering algorithm[C]// IEEE International Conference on Systems, Man and Cybernetics. IEEE, 2014: 1198–1203.
(![]() |
[24] |
张良均, 杨坦, 肖刚, 等. MATLAB数据分析与挖掘实战[M]. 北京: 机械工业出版社, 2015: 202, 279-291.
(![]() |