Skip to content

《COMP620054 计算智能》课程作业:聚类

License

Notifications You must be signed in to change notification settings

jindada1/cluster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

计算智能课程练习

目录

需求

数据:文件 iris.txt 中包含了 iris 数据,其中每行的前四个数据代表一个样本,最后一个数据表示该样本的类别。

  1. 用C-means的方法对iris数据作聚类,要求聚成 3类。要求给出下列数据:

    • 初始类中心点
    • 迭代次数
    • 聚类结果(每类包含的样本,类中心)
    • 错误率
  2. 用谱聚类方法对 iris 数据作聚类

  3. 递交实验报告,源代码

快速运行

运行 Fuzzy c-means

$ cd .\cmeans\
$ python .\cmeans.py

运行 Spectral

$ cd .\spectral\
$ pip install -r .\requirements.txt
$ python .\spectral.py

Fuzzy c-means Clustering

问题分析

令:

  • 表示 个样本

  • 表示 个类别

  • 对于样本 来说,其属于类别 的概率为 ,则可以构建一个概率矩阵,称之为隶属度矩阵 U

    对于其中的任意一个样本 ,它对于所有类别的隶属度(概率)之和为 1 ,即

  • 定义样本点 到类中心 的距离为:

则所有点 到所有类 的距离之和为:,其中 代表模糊系数

我们认为一个好的聚类应该意味着总距离尽可能的小

于是问题变为:在约束条件 下,求 。这个优化问题通常使用交互式策略求解,即给定 关于 求最小,再给定 关于 求最小。

使用拉格朗日乘数法计算得到:

一定时,点 对样本 的隶属度:

一定时,聚类中心点 为:

算法表述

伪码如下:

设置模糊参数 m、误差阈值 precise、随机初始化聚类中心点 C[]

loop:
    计算最优隶属度矩阵 U[][]
    根据隶属度矩阵计算新的聚类中心点 C'[]
    if C[] 和 C'[] 的距离 < 误差阈值 precise:
        将 C 更新为 C‘
        break
    将 C 更新为 C‘

用 C 对样本进行分类

源代码

cmeans.py

运行结果

以下输出包含:初始类中心点、迭代次数、聚类结果(每类包含的样本,类中心)、正确率

计算得错误率 = 1 - 正确率 = 0.106667

(ml) PS D:\Projects\cluster> python .\cmeans.py
初始类中心点
[5.199999999999999, 3.6, 1.5, 0.30000000000000004] 0.0
[7.1, 3.3000000000000003, 4.8, 1.5] 1.0
[6.3999999999999995, 3.4, 6.1, 2.6] 2.0
在第15次迭代时收敛
聚类后的类中心
[5.003966319284148, 3.4140814490387914, 1.4828276178642037, 0.2535517357359567] 0.0
[5.889081869565415, 2.7611232276170203, 4.364170157821359, 1.3974276857268302] 1.0
[6.77519207409717, 3.052434885440432, 5.647007100459471, 2.0536335619897863] 2.0
聚类准确率为0.893333
聚类的结果如下
属于第0.0类的样本有
[5.1, 3.5, 1.4, 0.2] 0.0
[4.9, 3.0, 1.4, 0.2] 0.0
[4.7, 3.2, 1.3, 0.2] 0.0
[4.6, 3.1, 1.5, 0.2] 0.0
[5.0, 3.6, 1.4, 0.2] 0.0
[5.4, 3.9, 1.7, 0.4] 0.0
[4.6, 3.4, 1.4, 0.3] 0.0
[5.0, 3.4, 1.5, 0.2] 0.0
[4.4, 2.9, 1.4, 0.2] 0.0
[4.9, 3.1, 1.5, 0.1] 0.0
[5.4, 3.7, 1.5, 0.2] 0.0
[4.8, 3.4, 1.6, 0.2] 0.0
[4.8, 3.0, 1.4, 0.1] 0.0
[4.3, 3.0, 1.1, 0.1] 0.0
[5.8, 4.0, 1.2, 0.2] 0.0
[5.7, 4.4, 1.5, 0.4] 0.0
[5.4, 3.9, 1.3, 0.4] 0.0
[5.1, 3.5, 1.4, 0.3] 0.0
[5.7, 3.8, 1.7, 0.3] 0.0
[5.1, 3.8, 1.5, 0.3] 0.0
[5.4, 3.4, 1.7, 0.2] 0.0
[5.1, 3.7, 1.5, 0.4] 0.0
[4.6, 3.6, 1.0, 0.2] 0.0
[5.1, 3.3, 1.7, 0.5] 0.0
[4.8, 3.4, 1.9, 0.2] 0.0
[5.0, 3.0, 1.6, 0.2] 0.0
[5.0, 3.4, 1.6, 0.4] 0.0
[5.2, 3.5, 1.5, 0.2] 0.0
[5.2, 3.4, 1.4, 0.2] 0.0
[4.7, 3.2, 1.6, 0.2] 0.0
[4.8, 3.1, 1.6, 0.2] 0.0
[5.4, 3.4, 1.5, 0.4] 0.0
[5.2, 4.1, 1.5, 0.1] 0.0
[5.5, 4.2, 1.4, 0.2] 0.0
[4.9, 3.1, 1.5, 0.2] 0.0
[5.0, 3.2, 1.2, 0.2] 0.0
[5.5, 3.5, 1.3, 0.2] 0.0
[4.9, 3.6, 1.4, 0.1] 0.0
[4.4, 3.0, 1.3, 0.2] 0.0
[5.1, 3.4, 1.5, 0.2] 0.0
[5.0, 3.5, 1.3, 0.3] 0.0
[4.5, 2.3, 1.3, 0.3] 0.0
[4.4, 3.2, 1.3, 0.2] 0.0
[5.0, 3.5, 1.6, 0.6] 0.0
[5.1, 3.8, 1.9, 0.4] 0.0
[4.8, 3.0, 1.4, 0.3] 0.0
[5.1, 3.8, 1.6, 0.2] 0.0
[4.6, 3.2, 1.4, 0.2] 0.0
[5.3, 3.7, 1.5, 0.2] 0.0
[5.0, 3.3, 1.4, 0.2] 0.0
属于第1.0类的样本有
[6.4, 3.2, 4.5, 1.5] 1.0
[5.5, 2.3, 4.0, 1.3] 1.0
[6.5, 2.8, 4.6, 1.5] 1.0
[5.7, 2.8, 4.5, 1.3] 1.0
[6.3, 3.3, 4.7, 1.6] 1.0
[4.9, 2.4, 3.3, 1.0] 1.0
[6.6, 2.9, 4.6, 1.3] 1.0
[5.2, 2.7, 3.9, 1.4] 1.0
[5.0, 2.0, 3.5, 1.0] 1.0
[5.9, 3.0, 4.2, 1.5] 1.0
[6.0, 2.2, 4.0, 1.0] 1.0
[6.1, 2.9, 4.7, 1.4] 1.0
[5.6, 2.9, 3.6, 1.3] 1.0
[6.7, 3.1, 4.4, 1.4] 1.0
[5.6, 3.0, 4.5, 1.5] 1.0
[5.8, 2.7, 4.1, 1.0] 1.0
[6.2, 2.2, 4.5, 1.5] 1.0
[5.6, 2.5, 3.9, 1.1] 1.0
[5.9, 3.2, 4.8, 1.8] 1.0
[6.1, 2.8, 4.0, 1.3] 1.0
[6.3, 2.5, 4.9, 1.5] 1.0
[6.1, 2.8, 4.7, 1.2] 1.0
[6.4, 2.9, 4.3, 1.3] 1.0
[6.6, 3.0, 4.4, 1.4] 1.0
[6.8, 2.8, 4.8, 1.4] 1.0
[6.0, 2.9, 4.5, 1.5] 1.0
[5.7, 2.6, 3.5, 1.0] 1.0
[5.5, 2.4, 3.8, 1.1] 1.0
[5.5, 2.4, 3.7, 1.0] 1.0
[5.8, 2.7, 3.9, 1.2] 1.0
[6.0, 2.7, 5.1, 1.6] 1.0
[5.4, 3.0, 4.5, 1.5] 1.0
[6.0, 3.4, 4.5, 1.6] 1.0
[6.7, 3.1, 4.7, 1.5] 1.0
[6.3, 2.3, 4.4, 1.3] 1.0
[5.6, 3.0, 4.1, 1.3] 1.0
[5.5, 2.5, 4.0, 1.3] 1.0
[5.5, 2.6, 4.4, 1.2] 1.0
[6.1, 3.0, 4.6, 1.4] 1.0
[5.8, 2.6, 4.0, 1.2] 1.0
[5.0, 2.3, 3.3, 1.0] 1.0
[5.6, 2.7, 4.2, 1.3] 1.0
[5.7, 3.0, 4.2, 1.2] 1.0
[5.7, 2.9, 4.2, 1.3] 1.0
[6.2, 2.9, 4.3, 1.3] 1.0
[5.1, 2.5, 3.0, 1.1] 1.0
[5.7, 2.8, 4.1, 1.3] 1.0
[5.8, 2.7, 5.1, 1.9] 2.0
[4.9, 2.5, 4.5, 1.7] 2.0
[5.7, 2.5, 5.0, 2.0] 2.0
[6.0, 2.2, 5.0, 1.5] 2.0
[5.6, 2.8, 4.9, 2.0] 2.0
[6.3, 2.7, 4.9, 1.8] 2.0
[6.2, 2.8, 4.8, 1.8] 2.0
[6.1, 3.0, 4.9, 1.8] 2.0
[6.3, 2.8, 5.1, 1.5] 2.0
[6.0, 3.0, 4.8, 1.8] 2.0
[5.8, 2.7, 5.1, 1.9] 2.0
[6.3, 2.5, 5.0, 1.9] 2.0
[5.9, 3.0, 5.1, 1.8] 2.0
属于第2.0类的样本有
[7.0, 3.2, 4.7, 1.4] 1.0
[6.9, 3.1, 4.9, 1.5] 1.0
[6.7, 3.0, 5.0, 1.7] 1.0
[6.3, 3.3, 6.0, 2.5] 2.0
[7.1, 3.0, 5.9, 2.1] 2.0
[6.3, 2.9, 5.6, 1.8] 2.0
[6.5, 3.0, 5.8, 2.2] 2.0
[7.6, 3.0, 6.6, 2.1] 2.0
[7.3, 2.9, 6.3, 1.8] 2.0
[6.7, 2.5, 5.8, 1.8] 2.0
[7.2, 3.6, 6.1, 2.5] 2.0
[6.5, 3.2, 5.1, 2.0] 2.0
[6.4, 2.7, 5.3, 1.9] 2.0
[6.8, 3.0, 5.5, 2.1] 2.0
[5.8, 2.8, 5.1, 2.4] 2.0
[6.4, 3.2, 5.3, 2.3] 2.0
[6.5, 3.0, 5.5, 1.8] 2.0
[7.7, 3.8, 6.7, 2.2] 2.0
[7.7, 2.6, 6.9, 2.3] 2.0
[6.9, 3.2, 5.7, 2.3] 2.0
[7.7, 2.8, 6.7, 2.0] 2.0
[6.7, 3.3, 5.7, 2.1] 2.0
[7.2, 3.2, 6.0, 1.8] 2.0
[6.4, 2.8, 5.6, 2.1] 2.0
[7.2, 3.0, 5.8, 1.6] 2.0
[7.4, 2.8, 6.1, 1.9] 2.0
[7.9, 3.8, 6.4, 2.0] 2.0
[6.4, 2.8, 5.6, 2.2] 2.0
[6.1, 2.6, 5.6, 1.4] 2.0
[7.7, 3.0, 6.1, 2.3] 2.0
[6.3, 3.4, 5.6, 2.4] 2.0
[6.4, 3.1, 5.5, 1.8] 2.0
[6.9, 3.1, 5.4, 2.1] 2.0
[6.7, 3.1, 5.6, 2.4] 2.0
[6.9, 3.1, 5.1, 2.3] 2.0
[6.8, 3.2, 5.9, 2.3] 2.0
[6.7, 3.3, 5.7, 2.5] 2.0
[6.7, 3.0, 5.2, 2.3] 2.0
[6.5, 3.0, 5.2, 2.0] 2.0
[6.2, 3.4, 5.4, 2.3] 2.0

Spectral Clustering

问题分析

定义问题:

  • 表示 个样本

  • 每两个样本之间或多或少都有联系,如果样本 和样本 之间的联系用 来衡量( ),则所有的联系可以构成一个 的矩阵:

    使用基于高斯径向核RBF的全连接法计算样本之间的联系,即:

分析问题:

将样本视为一组点,点与点之间的联系视为带权值的边,则可以构造出一个图 其中 聚类的过程就转化为对图的一种划分(切图),将样本聚为 类等价于将图 切成 个子图:

一个好的聚类意味着子图之间的联系尽可能少,子图内部的点聚合度尽可能高

再定义:

  • 将两个不相交的子图 之间的联系定义为所有连接两个子图的边权重之和,即:

  • 将点 的度记为 ,定义为与 相连的所有边的权重之和,即:

    进一步得到一个 对角矩阵 ,只有主对角线有值,第 i 行第 i 个元素的值对应着 的度 ,即:

  • 将一个子图 内部的聚合度定义为其中所有点的度数之和,即:

  • 对于一个子图 ,可以定义一个指标 α = A 与外界的联系度 ÷ A 内部的聚合度,即:

  • 对于一种切分 ,我们定义该切分的聚类程度为每个字图的 α 之和,即:

再分析问题:

聚类的过程就需要优化(最小化)上述的:

再定义:

  • 对于切图中的某个子图 ,我们对它定义一个 n 维(n为样本数)的指示(列)向量 ,如果点 属于子图 ,则指示向量 的第 个元素 等于 ,即:

    记: 是拉普拉斯矩阵,会发现:

    怎么发现的见附录

再分析问题:

所以要最小化的目标:

其中:,一个 n 行、k 列的矩阵

问题变成求解:

,则问题变成:

再令 ,则问题变为:

我们要求出 最小的前 k 个特征值。一般来说,k 远小于 n,也就是说将从 n 维降到了 k 维。另外, 相当于对 做了标准化:

接着求出对应的 k 个特征向量,可以得到一个 n×k 的矩阵,即为我们的

然后对 按行做标准化,即:

由于我们在使用维度规约的时候损失了少量信息,导致得到的优化后的指示向量 h 对应的 现在不能完全指示各样本的归属,因此一般在得到 n×k 的矩阵 后还需要对每一行进行一次传统的聚类,比如使用 K-Means 。

算法表述

  1. 构建邻接矩阵 W,度矩阵 D,计算出拉普拉斯矩阵 L
  2. 构建标准化后的拉普拉斯矩阵
  3. 计算 最小的 k 个特征值所各自对应的特征向量 f
  4. 将各自对应的特征向量 f 组成的矩阵按行标准化,最终组成 n×k 维的特征矩阵 F
  5. 把 F 中的每一行作为一个 k 维的样本,共 n 个样本,用传统聚类方法进行聚类,聚类维数为 K
  6. 得到簇划分

源代码

spectral.py

运行结果

标准化后的拉普拉斯矩阵:
 [[ 0.94760147  0.          0.         ...  0.          0.
   0.        ]
 [ 0.          0.9124808  -0.07256349 ...  0.          0.
   0.        ]
 [ 0.         -0.07256349  0.93417065 ...  0.          0.
   0.        ]
 ...
 [ 0.          0.          0.         ...  0.9315538  -0.07011117
   0.        ]
 [ 0.          0.          0.         ... -0.07011117  0.89498362
   0.        ]
 [ 0.          0.          0.         ...  0.          0.
   0.91567561]]
前 3 个最小的特征值:
 [(-5.551115123125783e-17, 0), (1.214306433183765e-16, 50), (0.019842972248943297, 51)]
前 %d 个最小的特征值对应的特征向量:
 [[-0.16906564  0.10816728 -0.15672531 -0.13092652 -0.0490668   0.08781605
   0.06457376 -0.04246249  0.11012205  0.00328772  0.36972239  0.0194687
   0.1895311  -0.10465268 -0.1244069   0.02046343 -0.04346536  0.02242108
   0.1164522  -0.03286019  0.03175442  0.09528833 -0.0135314   0.10715087
  -0.03400193 -0.16064558 -0.00453491  0.04555546 -0.02760322 -0.26332282
  -0.28866898 -0.18933231 -0.00156389 -0.13418623 -0.09859749  0.15621798
  -0.3753152  -0.30066783 -0.15279305  0.048503   -0.01907583 -0.00132372
  -0.05783982  0.14763368  0.27460392 -0.1000876   0.09770901  0.0441368
  -0.03487257 -0.00889804  0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.        ]
 [-0.13081671 -0.15612145  0.01066228  0.26777019 -0.02883947  0.18248695
   0.24215817 -0.05770441 -0.0157502   0.10591291  0.07574946 -0.08797724
  -0.17008025 -0.04200753  0.08909346 -0.07950693  0.08998358 -0.04573212
   0.24510485 -0.00094442  0.08759288  0.12942972  0.23513007 -0.02795797
  -0.28698108  0.14814041  0.08243547  0.06133251 -0.5027385   0.06759108
   0.04861763 -0.01020471 -0.04203467  0.04115469 -0.12280525  0.07634075
  -0.05732899  0.03683833  0.11128786  0.15137554  0.21586559 -0.18696691
   0.0834821  -0.04903204  0.05434949  0.03377982  0.01855217 -0.15843772
   0.06962382  0.07529264  0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.        ]
 [-0.15083604 -0.20011291  0.07194666 -0.07769783 -0.00252465  0.11929617
   0.01122155  0.31393715 -0.0306828  -0.09223113 -0.05934368  0.17460319
   0.13831238  0.16024527 -0.2324454   0.01138916 -0.0092682   0.05096698
  -0.09431016 -0.18375396 -0.08024428 -0.16203505 -0.14031008 -0.094478
   0.27479935  0.09022724  0.00139943 -0.13361664  0.02284891  0.03650127
  -0.09096278 -0.03098912 -0.16999457 -0.07214325 -0.21963327  0.28970899
   0.04043035  0.02244718  0.33441921  0.07838977  0.07737128 -0.12162577
   0.00459616  0.00859246  0.12234634  0.1075786   0.08370802 -0.28698959
   0.11609811  0.12139216  0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.
   0.          0.          0.          0.          0.          0.        ]]
特征矩阵:
 [[-1.69065640e-01  0.00000000e+00  0.00000000e+00]
 [-1.30816712e-01  0.00000000e+00  0.00000000e+00]
 [-1.50836039e-01  0.00000000e+00  0.00000000e+00]
 [-1.50378236e-01  0.00000000e+00  0.00000000e+00]
 [-1.51228227e-01  0.00000000e+00  0.00000000e+00]
 [-1.33322622e-01  0.00000000e+00  0.00000000e+00]
 [-1.39693150e-01  0.00000000e+00  0.00000000e+00]
 [-1.65027995e-01  0.00000000e+00  0.00000000e+00]
 [-1.29046567e-01  0.00000000e+00  0.00000000e+00]
 [-1.37074119e-01  0.00000000e+00  0.00000000e+00]
 [-1.48774520e-01  0.00000000e+00  0.00000000e+00]
 [-1.25906123e-01  0.00000000e+00  0.00000000e+00]
 [-1.54484980e-01  0.00000000e+00  0.00000000e+00]
 [-1.25643645e-01  0.00000000e+00  0.00000000e+00]
 [-1.18248578e-01  0.00000000e+00  0.00000000e+00]
 [-1.15384152e-01  0.00000000e+00  0.00000000e+00]
 [-1.33302748e-01  0.00000000e+00  0.00000000e+00]
 [-1.61326453e-01  0.00000000e+00  0.00000000e+00]
 [-1.26011215e-01  0.00000000e+00  0.00000000e+00]
 [-1.61687718e-01  0.00000000e+00  0.00000000e+00]
 [-1.29377262e-01  0.00000000e+00  0.00000000e+00]
 [-1.50827010e-01  0.00000000e+00  0.00000000e+00]
 [-1.19658848e-01  0.00000000e+00  0.00000000e+00]
 [-1.34295154e-01  0.00000000e+00  0.00000000e+00]
 [-1.22481374e-01  0.00000000e+00  0.00000000e+00]
 [-1.34599284e-01  0.00000000e+00  0.00000000e+00]
 [-1.41537997e-01  0.00000000e+00  0.00000000e+00]
 [-1.69394298e-01  0.00000000e+00  0.00000000e+00]
 [-1.42510202e-01  0.00000000e+00  0.00000000e+00]
 [-1.55000157e-01  0.00000000e+00  0.00000000e+00]
 [-1.45393286e-01  0.00000000e+00  0.00000000e+00]
 [-1.30026853e-01  0.00000000e+00  0.00000000e+00]
 [-1.31819480e-01  0.00000000e+00  0.00000000e+00]
 [-1.21709499e-01  0.00000000e+00  0.00000000e+00]
 [-1.47321098e-01  0.00000000e+00  0.00000000e+00]
 [-1.30124763e-01  0.00000000e+00  0.00000000e+00]
 [-1.33948687e-01  0.00000000e+00  0.00000000e+00]
 [-1.45569976e-01  0.00000000e+00  0.00000000e+00]
 [-1.29424777e-01  0.00000000e+00  0.00000000e+00]
 [-1.64906163e-01  0.00000000e+00  0.00000000e+00]
 [-1.55920394e-01  0.00000000e+00  0.00000000e+00]
 [-1.10867882e-01  0.00000000e+00  0.00000000e+00]
 [-1.33794414e-01  0.00000000e+00  0.00000000e+00]
 [-1.29276702e-01  0.00000000e+00  0.00000000e+00]
 [-1.22043520e-01  0.00000000e+00  0.00000000e+00]
 [-1.54380873e-01  0.00000000e+00  0.00000000e+00]
 [-1.48352457e-01  0.00000000e+00  0.00000000e+00]
 [-1.41439492e-01  0.00000000e+00  0.00000000e+00]
 [-1.70547921e-01  0.00000000e+00  0.00000000e+00]
 [-1.56000486e-01  0.00000000e+00  0.00000000e+00]
 [ 0.00000000e+00 -8.92192209e-02 -1.92146575e-02]
 [ 0.00000000e+00 -9.87751752e-02 -3.32238252e-02]
 [ 0.00000000e+00 -8.98822021e-02 -1.88482911e-02]
 [ 0.00000000e+00 -1.08636196e-01 -1.39353670e-01]
 [ 0.00000000e+00 -1.21356911e-01 -3.14896392e-02]
 [ 0.00000000e+00 -1.02276687e-01 -9.92187557e-02]
 [ 0.00000000e+00 -9.74148319e-02 -2.98008180e-02]
 [ 0.00000000e+00 -8.41257105e-02 -1.13786482e-01]
 [ 0.00000000e+00 -1.02503769e-01 -3.35826306e-02]
 [ 0.00000000e+00 -1.03547763e-01 -1.33059710e-01]
 [ 0.00000000e+00 -8.36850546e-02 -1.12933864e-01]
 [ 0.00000000e+00 -9.91931169e-02 -8.97633730e-02]
 [ 0.00000000e+00 -9.13884600e-02 -1.02798241e-01]
 [ 0.00000000e+00 -1.09531289e-01 -3.72869732e-02]
 [ 0.00000000e+00 -9.49252193e-02 -1.24153519e-01]
 [ 0.00000000e+00 -9.13953628e-02 -2.77165392e-02]
 [ 0.00000000e+00 -9.79267337e-02 -1.00030935e-01]
 [ 0.00000000e+00 -1.09400226e-01 -1.35420948e-01]
 [ 0.00000000e+00 -8.65317644e-02 -2.68373983e-02]
 [ 0.00000000e+00 -1.13389671e-01 -1.47899067e-01]
 [ 0.00000000e+00 -9.06753630e-02 -2.45553614e-02]
 [ 0.00000000e+00 -9.80333812e-02 -9.85729183e-02]
 [ 0.00000000e+00 -1.01265110e-01 -1.21522341e-02]
 [ 0.00000000e+00 -9.77047823e-02 -3.86561984e-02]
 [ 0.00000000e+00 -9.89651340e-02 -4.36701167e-02]
 [ 0.00000000e+00 -9.91787038e-02 -3.11218223e-02]
 [ 0.00000000e+00 -9.06770895e-02 -1.48128678e-02]
 [ 0.00000000e+00 -9.77258602e-02  3.10741569e-02]
 [ 0.00000000e+00 -1.12435895e-01 -6.34250448e-02]
 [ 0.00000000e+00 -1.01127893e-01 -1.33788318e-01]
 [ 0.00000000e+00 -1.10394108e-01 -1.44859638e-01]
 [ 0.00000000e+00 -1.06796520e-01 -1.40796536e-01]
 [ 0.00000000e+00 -1.13626239e-01 -1.42083076e-01]
 [ 0.00000000e+00 -1.09027305e-01  1.62647191e-03]
 [ 0.00000000e+00 -9.32088957e-02 -9.96336868e-02]
 [ 0.00000000e+00 -8.95884770e-02 -4.01821652e-02]
 [ 0.00000000e+00 -9.23342021e-02 -1.99987915e-02]
 [ 0.00000000e+00 -8.74512807e-02 -4.02727759e-02]
 [ 0.00000000e+00 -1.06510529e-01 -1.24146744e-01]
 [ 0.00000000e+00 -1.15726377e-01 -1.48502003e-01]
 [ 0.00000000e+00 -9.78728313e-02 -1.15119945e-01]
 [ 0.00000000e+00 -1.06483859e-01 -4.34847803e-02]
 [ 0.00000000e+00 -1.16839225e-01 -1.45760610e-01]
 [ 0.00000000e+00 -8.52412114e-02 -1.15114665e-01]
 [ 0.00000000e+00 -1.16533062e-01 -1.40814531e-01]
 [ 0.00000000e+00 -1.03482996e-01 -1.18634535e-01]
 [ 0.00000000e+00 -1.10876203e-01 -1.24318892e-01]
 [ 0.00000000e+00 -1.02593902e-01 -4.92833732e-02]
 [ 0.00000000e+00 -8.18492595e-02 -1.10748617e-01]
 [ 0.00000000e+00 -1.23008999e-01 -1.47351333e-01]
 [ 0.00000000e+00 -8.73561344e-02  1.12770677e-01]
 [ 0.00000000e+00 -1.01643809e-01 -3.21351509e-03]
 [ 0.00000000e+00 -1.10283292e-01  1.56484641e-01]
 [ 0.00000000e+00 -9.44354052e-02  8.93926467e-02]
 [ 0.00000000e+00 -1.08665976e-01  1.33759250e-01]
 [ 0.00000000e+00 -8.50754907e-02  1.29074666e-01]
 [ 0.00000000e+00 -8.02898456e-02 -8.00422326e-02]
 [ 0.00000000e+00 -9.42388620e-02  1.38394854e-01]
 [ 0.00000000e+00 -9.59280996e-02  1.09543830e-01]
 [ 0.00000000e+00 -8.75384023e-02  1.26548001e-01]
 [ 0.00000000e+00 -9.43812996e-02  9.17979941e-02]
 [ 0.00000000e+00 -1.01791400e-01  6.71373928e-02]
 [ 0.00000000e+00 -1.26722161e-01  1.55036660e-01]
 [ 0.00000000e+00 -9.20514411e-02 -1.20067524e-02]
 [ 0.00000000e+00 -8.63893541e-02  1.65098833e-03]
 [ 0.00000000e+00 -1.04413599e-01  1.16838478e-01]
 [ 0.00000000e+00 -1.08273555e-01  1.12162476e-01]
 [ 0.00000000e+00 -7.55464034e-02  1.14805114e-01]
 [ 0.00000000e+00 -7.51263282e-02  1.14297061e-01]
 [ 0.00000000e+00 -9.07018166e-02 -4.48529533e-03]
 [ 0.00000000e+00 -1.15100002e-01  1.55955897e-01]
 [ 0.00000000e+00 -9.29656757e-02 -1.46751586e-02]
 [ 0.00000000e+00 -8.20473518e-02  1.24247957e-01]
 [ 0.00000000e+00 -1.12083036e-01  5.53634615e-03]
 [ 0.00000000e+00 -1.13580072e-01  1.48203571e-01]
 [ 0.00000000e+00 -1.03284019e-01  1.49467021e-01]
 [ 0.00000000e+00 -1.17826459e-01 -1.59569885e-02]
 [ 0.00000000e+00 -1.12349953e-01 -6.68139214e-03]
 [ 0.00000000e+00 -9.88185729e-02  1.09185424e-01]
 [ 0.00000000e+00 -9.37081811e-02  1.29615129e-01]
 [ 0.00000000e+00 -9.42849887e-02  1.38224215e-01]
 [ 0.00000000e+00 -7.79712203e-02  1.17903343e-01]
 [ 0.00000000e+00 -1.04768340e-01  1.18555027e-01]
 [ 0.00000000e+00 -1.08035340e-01  7.97688438e-03]
 [ 0.00000000e+00 -8.56510025e-02  4.15288215e-02]
 [ 0.00000000e+00 -8.98049446e-02  1.34513766e-01]
 [ 0.00000000e+00 -8.96486755e-02  1.15405692e-01]
 [ 0.00000000e+00 -1.04556189e-01  1.11153949e-01]
 [ 0.00000000e+00 -1.12412376e-01 -2.10137921e-02]
 [ 0.00000000e+00 -1.04743674e-01  1.32540338e-01]
 [ 0.00000000e+00 -1.14993132e-01  1.47510353e-01]
 [ 0.00000000e+00 -8.92347669e-02  1.00812772e-01]
 [ 0.00000000e+00 -9.86084377e-02 -6.36170881e-03]
 [ 0.00000000e+00 -1.03685594e-01  1.41706088e-01]
 [ 0.00000000e+00 -9.77899770e-02  1.28179689e-01]
 [ 0.00000000e+00 -9.10048460e-02  1.07508989e-01]
 [ 0.00000000e+00 -1.00406027e-01 -4.37014531e-05]
 [ 0.00000000e+00 -1.09487385e-01  1.07395741e-01]
 [ 0.00000000e+00 -8.83914491e-02  1.07021833e-01]
 [ 0.00000000e+00 -9.86420695e-02 -7.58702211e-03]]
得到的簇划分:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2
 2 2 1 1 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2
 2 1]

聚类准确率为:0.9

参考资料

  1. https://blog.csdn.net/changyuanchn/article/details/80427893
  2. https://en.wikipedia.org/wiki/Fuzzy_clustering
  3. https://zhuanlan.zhihu.com/p/85244505
  4. https://www.bilibili.com/video/BV1kt411X7Zh
  5. https://www.cnblogs.com/pinard/p/6221564.html

附录

拉普拉斯矩阵 具有以下性质:

  1. 拉普拉斯矩阵是对称矩阵,这可以由DD和WW都是对称矩阵而得

  2. 由于拉普拉斯矩阵是对称矩阵,则它的所有的特征值都是实数

  3. 对于任意的向量 我们有:

    证明如下:

  1. 拉普拉斯矩阵是半正定的,且对应的 n 个实数特征值都 ≥ 0,即 。且最小的特征值为 0,这个由性质 3 很容易得出。

基于以上性质,我们的指示向量 利用拉普拉斯矩阵的性质三可以得出:

About

《COMP620054 计算智能》课程作业:聚类

Topics

Resources

License

Stars

Watchers

Forks

Languages