system: [SYSTEM]

user: 4. 实验 为直观地看到聚类结果，首先在人工数据集上进行试验。人工数据集有两个，一个包括30个2维的数据点(记作“数据集1”)，依次属于3个类，每个类10个点，前10个点属于第一类，最后10个点属于第3类。另外一个数据集包括30个100维的数据点(记作“数据集2”)，同样依次属于3个类。此外，为验证在实际数据上的聚类结果，构造了一个图像集(记作“图像集1”)，该图像集从TRECVID数据集选取，包括4类75幅图像，每类选取部分图像，这些图像也依次分别属于4个类，这4个类是“compere”、“singer”、“rice”和“sports”。实验测试环境为8G DDR3 1600 RAM和AMD速龙II X2 255双核主频3.11 GHz CPU，操作系统为Windows 7 64位旗舰版，开发环境为Matlab 2013a和Visual Studio 2010及相关开发包。 4.1. 人工数据集实验 首先在人工数据集1上进行比较，由于ELSC是基于聚类集成的算法，将它与基于聚类集成的k-means算法(记作“Ek-means”)进行比较。K-means算法的基本思想是：以空间中k个点为中心进行聚类，对最靠近他们的对象归类。通过迭代的方法，逐次更新各聚类中心的值，直至得到最好的聚类结果。k-means聚类如图1所示。 由图1可见，所有30个点被正确地分为3个类。将该实验重复多次，其中5次聚类结果如表1所示，表中仅给出了第1类数据的类标签。可见，虽然每次得出的类标签不同，但这些标签都是正确的，因为它们都把这些点聚到了一类。在这些类标签上运行聚类集成算法后，Ek-means得出完全正确的结果，最终类标签为[1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3]。 对数据集1运行ELSC算法，其桶标记计算结果见图2所示。桶标记是由位置敏感哈希函数对数据点映射后得出的。将该实验重复多次，其中5次的桶标记如表2所示。 从表2可见，每个聚类结果中同一个类的每个点的桶标记不同，但每个类类内桶标记都在较小的范围内波动。由图2可知，类内两点桶标记的距离小于类间两点桶标记的距离。不同聚类结果中同一个点的桶标记也可能不同，这与哈希函数中的随机性有关。 图1. 数据集1上k-means聚类结果 图2. 数据集1的ELSC桶标记计算结果 Table 1 The label of k-means clustering from the first type in data set Data point index 1 2 3 4 5 6 7 8 9 10 Label 1 1 1 1 1 1 1 1 1 1 1 Label 2 2 2 2 2 2 2 2 2 2 2 Label 3 1 1 1 1 1 1 1 1 1 1 Label 4 3 3 3 3 3 3 3 3 3 3 Label 5 3 3 3 3 3 3 3 3 3 3 表1. 数据集1第1类数据k-means聚类得出的类标签 Table 2 The bucket indices of ELSC algorithm from the first type in data set Data point index 1 2 3 4 5 6 7 8 9 10 Bucket indices 1 59 64 66 64 64 63 61 64 62 61 Bucket indices 2 63 68 68 65 66 66 65 65 63 64 Bucket indices 3 68 74 71 71 71 72 67 71 69 71 Bucket indices 4 69 75 73 72 71 72 71 73 69 70 Bucket indices 5 57 63 60 59 59 62 61 61 57 59 表2. 数据集1第1类数据的ELSC桶标记计算结果 对这些桶标记进行运算，可得出数据集1的多个基划分。采用PAM算法对基划分进行聚类，并运行聚类集成算法，得出的最终划分的类标签是[1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3]，这与Ek-means的结果相同。 为验证新的聚类算法在高维数据上的运行效果，在数据集2上也进行了实验。先运行了k-means算法，其聚类结果如图3所示，图中所有30个数据点被正确地分为3类。重复该实验多次，对这些聚类结果进行集成后，Ek-means可得出完全正确的结果。最终的类标签是[1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3]。 在数据集2上运行ELSC算法，得出的桶标记如图4所示，桶标记正确地反映了对应点所属的类别信息。对这些桶标记进行PAM聚类以产生多个基划分。并运行聚类集成算法，最终划分的类标签为 图3. 数据集2的k-means聚类结果 图4. 数据集2的ELSC算法的桶标记 [1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3]。该结果也与Ek-means相同。 这些实验说明，在人工数据集上，ELSC可达到与Ek-means相同的准确率。 4.2. 图像集实验 在图像集1上运行k-means结合聚类集成(记作“EKM”)和ELSC算法进行比较。先运行k-means算法，其结果如图5所示。然后重复多次，得出多个基划分(或基聚类)，再在基划分的基础上运行聚类集成算法，最终划分的类标记为[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4]。可见，虽然基划分存在一些错误的类标签，但EKM算法产生的最终划分是完全正确的。 图像集1的ELSC算法产生的桶标记如图6所示，第1类、第2类和第4类的桶标记中部分点对应的类别信息是错误的，第3类图像的结果完全正确。多次划分中第2类图像的桶标记如表3所示。 对这些桶标记分别运行PAM聚类算法，就可以得出图像集1的多个基划分，最后运行三种聚类集成算法，得出三种集成划分，并通过互信息的衡量去最好的集成划分作为最终划分。最终划分的标签为[3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 3 3]。图像集1的最终划分显示在图7中，该次试验的聚类准确率为93%。 Table 3 The bucket indices of the ELSC algorithm in the second type of image Image index 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 bucket indices 1 42 40 39 36 37 49 39 39 40 40 40 39 41 40 34 42 47 39 40 52 bucket indices 2 15 8 8 10 10 8 9 9 13 8 8 10 9 9 9 9 9 8 8 13 bucket indices 3 24 26 26 26 25 28 27 25 25 26 26 25 26 26 25 26 27 27 26 19 bucket indices 4 15 7 7 9 9 5 7 11 10 9 9 15 9 9 10 8 7 8 8 17 表3. 图像集1第2类图像ELSC算法的桶标记 图5. 图像集1的k-means聚类结果 图6. 图像集1的ELSC算法的桶标记 为验证算法的运行时间和准确率，在图像集1上多次运行两种算法。两种算法的基划分从10增加到100，增加间隔为10，在不同数量的基划分上分别进行聚类集成，得出10个最终划分。并将该过程重复10次，将聚类时间进行平均，最终得出的聚类时间如图8所示，ELSC的运行时间要少于EKM，而且基聚类数目越大，其聚类时间的优势越大。 在准确率上，采用F值和MAP值进行比较。MAP将4个类作为整体进行计算，其结果如图9所示，可见在一些基划分上两种算法各有优势，但平均而言，它们的平均值分别为0.9667和0.9662，即ELSC仍有一定优势。F值对4个类分别计算，其值如表4所示。在各类别各划分上，两种算法各有优势，但差距不大。对不同的基划分方案进行平均，前3个类EKM略高，第4类ELSC略高。 图像集1的实验证明，ELSC算法在真实数据集上能达与EKM相当甚至稍高的准确率。而且它优势在于继承了E 2 LSH低内存消耗、低计算代价和短运行时间的特点，以及其自身的数据无关特性决定的对增量聚类的适应性。E 2 LSH的全数聚集运行时间低于该数据集规模的线性水平，数据集更新时只需要对更新数据进行计算，这都远远低于k-means的计算时间。尤其是数据更新时，k-means需要重新对全数聚 图7. 图像集1 ELSC算法最终划分的类标签 图8. 图像集1两种算法的聚类时间 图9. 图像集1 ELSC算法的MAP值 Table 4 The F number of the algorithms in each type of image set 基聚类数目 类别1 类别2 类别3 类别4 EKM ELSC EKM ELSC EKM ELSC EKM ELSC 10 0.938 0.947 0.976 0.938 0.919 1.000 1.000 1.000 20 0.882 1.000 0.947 1.000 1.000 0.947 0.947 0.938 30 0.882 0.833 0.947 0.947 1.000 1.000 0.947 0.889 40 0.968 0.889 0.974 1.000 1.000 0.833 1.000 0.947 50 0.889 0.833 1.000 0.947 0.833 0.889 0.947 1.000 60 0.938 0.833 1.000 0.947 0.947 0.889 1.000 1.000 70 0.947 0.833 0.938 0.947 1.000 0.889 1.000 1.000 80 1.000 1.000 0.889 0.889 0.947 0.833 0.833 0.947 90 0.947 1.000 1.000 0.889 0.938 0.833 1.000 0.947 100 0.882 0.947 0.947 0.833 1.000 0.889 0.947 1.000 平均 0.927 0.912 0.962 0.934 0.958 0.900 0.962 0.967 表4. 图像集1各类别的F值 集聚类。综合准确率、时间复杂度和可增量运算几点来看，ELSC是可以用于高维空间数据聚类的。尤其是增量聚类和快速聚类对当前大数据处理是非常重要的。