2. 桂林电子科技大学 广西自动检测技术与仪器重点实验室, 广西 桂林 541004
2. Guangxi Key Laboratory of Automatic Testing and Instrument, Guilin University of Electronic Technology, Guilin Guangxi 541004, China
聚类是一种重要的数据分析技术, 旨在将数据集划分成不同的子集, 并且同一个子集中的数据具有较高相似度.聚类在许多领域都受到广泛应用, 包括机器学习、数据挖掘、模式识别、信息检索等.经过研究者多年的研究, 众多聚类性能高效的聚类算法相继被提出, 包括基于划分的聚类[1]、层次聚类[1]、密度聚类[2]、模糊聚类[3]等.
聚类具有广泛的应用背景, 在分布式数据管理系统中, 集群中每台计算机负责的数据分块可以由聚类算法来决定, 聚类使处于相同计算节点中的数据具有较高的相似性, 降低了集群中计算机之间由于大量通信造成的性能消耗.然而, 传统聚类算法通常未对簇可包含的数据点数目上限或者下限做出限定, 所以生成的数据块平衡性往往较差, 容易出现某些数据块过大或者过小情形, 往往会降低分布式数据管理系统的整体性能.因此, 如何在聚类过程中进一步约束簇的平衡性, 将所有簇的大小约束在一定的阈值范围内, 这具有重要的应用价值.
目前, 已提出的平衡约束聚类方法普遍存在以下两点不足:
①算法的复杂度普遍较高.由于许多平衡约束聚类方法是基于
针对上述的现有平衡约束聚类算法普遍存在的问题, 本文提出了一种基于
本文的主要贡献包括:
(1) 提出了一种基于
(2) 提出的平衡约束聚类算法可以约束每个簇最多可包含的数据点个数, 同时支持用户自定义数据点数目上限, 算法具有一定的通用性;
(3) 在6个UCI真实数据集上与其他聚类算法进行比较了三项聚类评价指标(包括一项平衡性), 实验结果表明本文提出的平衡约束聚类算法相比其他平衡约束聚类算法更加高效, 而且能够保证聚类结果的平衡性.
1 相关工作根据数据划分的方式将现有的平衡约束聚类方法分为2类:硬平衡划分方法与软平衡划分方法.两者的区别在于算法是否对划分出的数据块规模进行严格控制.在所有的平衡划分方法中, 绝大多数算法划分数据都是通过聚类来实现.硬划分方法由于方法的局限性, 总体数量不多, 在Bradley等[6]提出的方法中, 通过对每个簇中元素个数设置下限来避免在算法执行过程中产生过小簇. Malinen等[4]对Bradley等的工作提出了改进, 在聚类开始阶段先构造一个由
相较于硬划分方法而言, 软数据划分方法仅将划分后的数据块平衡性列为一个较重要的约束指标, 最终的平衡性可能非常靠近硬划分的理想状态但很难真正达到.具体措施是通过设置Loss function中的正则化参数来约束结果的平衡性.在WU等[8]提出的方法中, 首先将数据块分为若干个RSG, 随后根据定义的Loss function将不同的RSG进行合并, 合并在一起的RSG将被分配至相同的节点计算机. Banerjee等[9]设计了一个由三个步骤组成的平衡聚类算法, 在数据点分配阶段将每个簇中已有数据个数纳入数据点加入簇的代价计算公式中, 另外算法基于stable marriage problems问题的思路解决点分配中的稳定性问题.在Banerjee等[10]另一个工作中实现了用户可以预先自定义设置簇的平衡度. Liu等[5]的工作中, 在Loss function中引入对簇平衡性惩罚因子来约束聚类结果的平衡性, 并使用增广拉格朗日乘子加速算法收敛.
2 问题定义给定数据集
$ \label{eq1} t\left( {d_i } \right)=\vert \vert d_i \vert \vert \le \tau, i=1, 2, 3, \cdots, {K}. $ | (1) |
平衡约束聚类的任务在于所有簇在满足上限阈值的情况下, 数据集中所有的点到其所在的簇平均代价最低, Loss Function如公式(2)所示.
$ \begin{array}{l} MSE(x_1 , \cdots, x_N , \mu _1 , \cdots, \mu _K )=\frac{1}{N}\sum\limits_{i=1}^N {\phi (x_i , \mu _{{\rm e}^{(i)}} )} , \\ \quad \quad \quad \vert \vert d_i \vert \vert \mbox{ }\le \tau, i=1, 2, 3, \cdots, {K}. \end{array} $ | (2) |
其中
在
假设在
针对上述分析的平衡约束聚类中可能出现的问题, 我们提出了一种基于
本文提出的平衡约束聚类算法首先计算出每个数据点与
$ \left\{ {{\begin{array}{*{20}c} {x_i 分配至簇\gamma _j , \quad\vert \vert d_{\gamma _j } \vert \vert\le\tau } \hfill \\ {进一步判断簇\gamma _j , \quad\vert \vert d_{\gamma _j } \vert \vert >\tau } \hfill \\ \end{array} }} \right., $ | (3) |
$ \left\{ {{\begin{array}{*{20}c} {x_i分配至簇\gamma _j\mbox{并移除簇 }\gamma _j 的边界点, \quad radius_{\gamma _j } >d(\mu _{\gamma _j } , x_i )} \hfill \\ {尝试加入簇\gamma _{j{+}1} , \quad radius_{\gamma _j } \le d(\mu _{\gamma _j } , x_i )} \hfill \\ \end{array} }} \right.. $ | (4) |
上述的平衡约束聚类的过程如算法1所示.
![]() |
在算法1中, AddtoNearestCluster(
本文提出的基于
本节我们将提出的平衡聚类算法与其他5种聚类算法相比较, 分别是K-Means(KM)[1]、Fuzzy C-means(FCM)[3]、Spectral Clustering(SC)[11]、Balanced
数据集与预处理本实验选取了6个UCI真实数据集, 分别是Wine、Lonosphere、Iris、Cryotherapy、User Model和Vechicel.为了更好地测试每个算法的平衡聚类性能, 将所有数据集中每种类别的数据个数删减至相同, 即在平衡的数据集下聚类测试聚类结果的平衡度, 这与文献[5]中的实验设置类似.调整后的每个数据集信息如下: Wine中数据总数144, 包含3类; Lonosphere中数据总数252, 包含2类; Iris中数据总数150, 包含3类; Cryotherapy中数据总数84, 包含2类; User Model中数据总数200, 包含4类; Vechial中数据总数796, 包含4类.本实验中每个簇可以包含的数据点个数上限设置为
评价体系 本文使用平衡约束聚类常用的三种评价方法对提出的方法进行评估.
(1) 准确率(Accuracy, ACC)[12].该指标衡量数据所有数据元素在聚类后的标签相较于先验知识中真实标签的准确率, 如式(5)所示.
$ \label{eq5} {\rm ACC=}\frac{\sum\limits_{i=1}^{N} \delta ( s_{i} , {\rm map}(r_{i} ))} {N}. $ | (5) |
其中,
(2) 归一化互信息(Normalized Mutual Information, NMI)[13], 用于评价聚类结果与数据集原分布近似程度, 如式(6)所示.
$ \label{eq6} {\rm NMI}(X, Y) =\frac{I(X, Y)}{\sqrt {{H(X)H(Y)}} }. $ | (6) |
其中,
(3) 标准信息熵(Normalized Entropy,
$ {N}_{{\rm entro}}{=-}\frac{{1}}{{\rm log}_2 { c}}\sum\limits_{{ k=1}}^{c} {\frac{{r}_{k}}{{ N}}{\rm log}_2 } \frac{{r}_{k} }{{N}}. $ | (7) |
其中,
实验中每个算法的聚类结果质量及其平衡性如表 1所示.
![]() |
表 1 6种聚类算法在6个数据集上的实验结果 Tab.1 Clustering results of six clustering algorithms operated on six datasets |
由表 1可知, 本文提出的平衡约束聚类算法的聚类表现整体优于其他5种聚类算法, 在保证了聚类结果平衡性的同时聚类结果也具有较高的质量.在表 1的6种聚类算法中, BKM、BCLS和本文提出的平衡约束聚类算法结果的平衡性效果较好.其中, 在Lonosphere、Iris、User Model、Vechicle数据集上本文提出的聚类算法的表现均优于BCLS; 在Wine、Cryotherapy、User Model、Vechicle数据集上本文所提出的算法表现均优于BKM. BKM作为一种基于匈牙利分配的硬平衡聚类算法, 其聚类结果可以保证绝对均衡的效果, 但对提高聚类结果质量未采取进一步措施, 因此除标准信息熵以外的评价指标略低; BCLS通过优化代价函数来达到平衡约束的目的, 其聚类结果的平衡性往往较难达到绝对均衡, 而其他聚类评价指标的表现略好.同时, 由图 1可知本文提出的平衡约束聚类算法相较其他算法具有较高的时间性能.本文提出的平衡约束聚类算法针对平衡约束的特点对
![]() |
图 1 算法实际运行时间比较 Fig.1 Comparison of algorithm running time |
平衡约束聚类是分布式数据管理中数据划分常用的技术, 在实际应用中通常要求划分后的数据块能够尽可能平衡, 从而提高分布式数据管理系统的整体性能.本文提出了一种基于
[1] | AGGARWAL C C, REDDY C K. Data Clustering: Algorithms and Applications[M]. Raton: Chapman & Hall/CRC, 2013. |
[2] | VISWANATH P, PINKESH R. l-DBSCAN: A fast hybrid density based clustering method[C]//Proceedings of the 18th International Conference on Pattern Recognition. NJ: IEEE, 2006: 912-915. |
[3] | PEIZHUANG W. Pattern recognition with fuzzy objective function algorithms (James C. Bezdek)[J]. SIAM Review, 1983, 25(3): 442-442. |
[4] | MALINEN M I, FRÄNTI P. Balanced k-means for clustering[C]//Joint IAPR International Workshops on Statistical Techniques in Pattern Recognition (SPR) and Structural and Syntactic Pattern Recognition (SSPR). Berlin: Springer, 2014: 32-41. |
[5] | LIU H, HAN J, NIE F, et al. Balanced clustering with least square regression[C]//Proceedings of the 31th AAAI Conference on Artificial Intelligence. CA: AAAI, 2017: 2231-2237. |
[6] | BRADLEY P S, BENNETT K P, DEMIRIZ A. Constrained k-means clustering[J]. Microsoft Research Redmond, 2000, 59(1): 1-34. |
[7] | KUHN H W. The Hungarian method for the assignment problem[J]. Naval Research Logistics, 2005, 52(1): 7-21. DOI:10.1002/(ISSN)1520-6750 |
[8] | WU B, ZHOU Y, YUAN P, et al. Semstore: A semantic-preserving distributed rdf triple store[C]//Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management. NY: ACM, 2014: 509-518. |
[9] | BANERJEE A, GHOSH J. On scaling up balanced clustering algorithms[C]//Proceedings of the 2002 SIAM International Conference on Data Mining. PA: Society for Industrial and Applied Mathematics, 2002: 333-349. |
[10] | BANERJEE A, GHOSH J. Frequency-sensitive competitive learning for scalable balanced clustering on highdimensional hyperspheres[J]. IEEE Transactions on Neural Networks, 2004, 15(3): 702-719. DOI:10.1109/TNN.2004.824416 |
[11] | NG A Y, JORDAN M I, WEISS Y. On spectral clustering: Analysis and an algorithm[C]//Proceedings of the neural information processing systems. Massachusetts: MIT Press, 2002: 849-856. |
[12] | CAI D, HE X, HAN J. Document clustering using locality preserving indexing[J]. IEEE Transactions on Knowledge and Data Engineering, 2005, 17(12): 1624-1637. DOI:10.1109/TKDE.2005.198 |
[13] | STREHL A, CHOSH J. Knowledge reuse framework for combining multiple partitions[J]. Journal of Machine learning Research, 2002, 33(3): 583-617. |