Page 116 - 《软件学报》2021年第10期
P. 116

3088                                 Journal of Software  软件学报 Vol.32, No.10, October 2021

                 多改进算法.Capo 等人    [31] 提出了针对海量数据的 K-means 问题的有效近似方法,通过利用近似次优距离代替真
                 实距离以有效降低距离计算的工作量.Zhang 等人              [32] 提出了一种基于密度的改进 K-means 算法,该算法通过合
                 适的类簇数和最佳初始种子选取,提高了 K-means 的准确性和稳定性.Jiang 等人                    [33] 从异常值检测的角度考虑
                 K-modes 聚类的初始化,并提出了两种不同的 K-modes 聚类初始化算法.通过使用两种离群值检测技术来计算
                 每个对象的离群程度,进而避开了所选择的初始类簇中心是异常值的可能.Ismkhan                          [34] 通过在每次迭代中移除
                 一个类簇,再划分另一个类簇,然后再重新聚类来提高 K-means 的聚类质量和精度.K-means++                       [35] 通过增量方式
                 选取类簇中心,在该算法中,第 1 个初始类簇中心是随机选取的.一旦第 1 个中心被确定下来,增量选取的其余类
                 簇中心将距已选取的中心尽可能地远.Grid-K-means 算法             [16] 将网格划分的思想应用于改进 K-means 算法,该算
                 法使用动态变化的网格操作代替 K-means 算法中的样本点的操作.得益于网格操作的快速性,Grid-K-means 具
                 备快速且准确处理大型数据集的能力.关于 K-means 算法的最新改进算法还有基于密度参数的改进 K-means
                 算法(DPI-K-means) [36] 、基于 Density Canopy 的改进 K-means 算法(DC-K-means) [32] 和基于可压缩近邻表示的聚
                 类方法 Bit  k-means [37] 等.以上这些改进算法都对传统的 K-means 算法的缺陷做出了某方面的改进,但是都没有
                 充分考虑 K-means 对非球状分布数据集的不适应性.本文在 K-means 算法的基础上,结合 AHC 算法的特点,提出
                 了 K-means-AHC 混合算法.该算法具备快速处理多种形状分布的数据集的能力.
                    聚类有效性指标用于判断目标数据集应被划分为多少类簇更为合适.近年来,除了一些经典的指标,如 CH
                 指标、COP 指标、DB 指标、Dunn 指标以及 I 指标等,研究人员提出了许多新的聚类有效性指标以应对传统聚
                                          [7]
                 类有效性指标的不足.Zhou 等人 根据类簇中对象的几何分布,提出了一个基于类簇中心和最邻近距离的新的
                 内部聚类有效性指标.Ahmed 等人          [38] 提出了一个基于 Jeffrey divergence 的聚类有效性指标,其中,Jeffrey
                 divergence 用来衡量类簇之间的分离性.Yue 等人        [39] 基于两种常用的分区聚类算法——C-means 和模糊 C-means
                 以及它们的变体,提出了一种新的度量来表示类簇之间的分离性.根据这个度量,他们提出了一种新的聚类有效
                 性指标来评估分区算法的聚类性能.Lin 等人             [40] 基于分散度和重叠度提出了一种新的有效性指标,其中,离散度
                 估计数据集中类簇的总体数据密度,而重叠度则估算所有类簇之间的隔离程度.Yang 等人                            [41] 利用基于标准欧氏
                 距离和 ReliefF 算法的优化形态相似度距离来创建新的有效性指标,该指标可以平衡类簇内部和类簇之间的一
                                                [5]
                 致性问题.基于层次聚类算法,Zhou 等人 提出的 CSP 指标可以有效评估多种结构的数据集的聚类结果.黄晓辉
                 等人 [42] 根据每个类簇中心不但能代表本簇的数据对象,且可尽可能地远离不属于本簇的数据对象的思想,设计
                 了一个优化聚类算法的目标函数(P).Starczewski        [43] 提出的 STR 指标使用了拐点检测的方法来衡量数据集的划
                 分准确性.Zhao 等人    [44] 指出,拐点检测通常是必需的,因为大多数指标随着类簇数量的增加显示出单调性.因此,
                 具有明确的最小值或最大值的指数是优选的.鉴于拐点检测的必要性,本文提出的 DAS 指标将类簇内紧密度和
                 类簇间分离度的线性组合纳入聚类效果的整体质量评估.最终,通过应用拐点检测的方法找到目标数据集的最
                 佳类簇数.在文献[45]中,张远翔对 DAS 指标的相关背景、设计与实现进行了更加详尽的阐述.

                 2    K-means-AHC:基于 K-means 和 AHC 的混合算法

                    为了充分利用 K-means 算法和 AHC 算法的优点,本文将这两种算法的思想相结合,并提出了一种改进的混
                 合算法,即 K-means-AHC.总体来讲,K-means-AHC 首先运用 K-means 算法处理数据的方式形成数据集的初始划
                 分.在形成的初始划分的基础上,运用 AHC 算法处理数据的方式得到数据集的最优划分.K-means-AHC 算法的
                                             m
                 设计基于如下假设,即:在欧氏空间 R 中,数据集 D={x 1 ,x 2 ,…,x n }具有 n 个样本点.每个样本点 x i ={x i1 ,x i2 ,…,x im }
                 具有 m 个属性.在数据集 D 中,样本点 x i 和 x j 之间的欧氏距离 dist(x i ,x j )定义为
                                                                       2 1/2
                                                            2
                                              dist(x i ,x j )=((x i1 x j1 ) +…+(x im x jm ) ) .
                    在给定的数据集 D 和类簇数 K 的情况下,首先,通过运用 K-means 算法处理数据的方法,将数据集 D 划分成
                 K 1 个类簇.与其他算法不同的是,这一步骤生成的初始类簇的数量是一个较大预估值(K 1 > n ).故初始类簇的数
                 量 K 1 要远远大于算法最终生成的类簇的数量 K.其次,在生成的 K 1 个初始类簇的基础上,运用 AHC 算法处理数
                 据的方法将 K 1 个初始类簇逐步合并,直到生成的类簇的数量等于 K 为止.K-means-AHC 算法的具体流程如图 1
   111   112   113   114   115   116   117   118   119   120   121