常用的聚类算法及聚类算法评价指标

作者 | 荔枝boy

来源 | 磐创AI

引用 | 基于图的聚类分析研究—张涛
【导读】:本文介绍了常用的聚类算法及聚类算法评价指标。

1. 典型聚类算法

1.1 基于划分的方法

代表:kmeans算法

·指定k个聚类中心10a7acf469cae50fad4cf6149f828784.png
·940bb5d7f10b739e304d47811fb7ad6d.png(计算数据点与初始聚类中心的距离)
·a450d76c3bc539a3d8f5f5b06262fd8b.png(对于数据点217833c98e43fb0d6be0d6fe3297911f.png,找到最近的6b14a730ff09c9b6e253a8c21b1f3d63.png{i}ci(聚类中心),将b433870a62488ed3b3b65c915725976c.png分配到1d5e50b78d3ef2a7b88a18547d8c7e64.png{i}ci中)
·bbf0ccdb454a30a9638ff2a73e69be59.png(更新聚类中心点,77cd3b6f61b66990b09832d31bae3242.png是新类别数值的均值点)
·f75fab90fbcfa7d60744489646bbd953.png(计算每一类的偏差)
·27ddab1b9a3dce06a2cb852c5f3074e8.png返回e1379817f90a91b2f5f163bb86b831fe.png
5e5d16ee337dfe7a4c1bb576939d0ffa.png返回第二步

1.2 基于层次的方法

代表:CURE算法

·每个样本作为单独的一个类别8e2ed570fb3cdb0ac24ae0f31a1a9bf5.png
·6731b50d5bbf4d090970eb2825a463a3.png
·合并400b9b2b9f0558317e774711e5a68e60.png,74a880bb6da9706eb7ceee525963d8c5.png5c1b611077b8ac9a1a4aa38021b15afd.png
·遍历完本次样本,合并成新的类别后,若存在多个类别,则返回第二步
·遍历完本次样本,合并成新的类别后,若所有样本为同一类别,跳出循环,输出每层类别

1.3 基于网格的方法

代表:STING算法

·将数据集合X划分多层网格结构,从某一层开始计算
·查询该层网格间的属性值,计算属性值与阈值的关系,判定网格间的相关情况,不相关的网格不作考虑
·如果网格相关,则进入下一层的相关区域继续第二步,直到下一层为最底层
·返回相关网格结果

1.4 基于密度的方法

代表:DBSCAN算法

·输入数据集合X,随机选取一点,并找出这个点的所有高密度可达点
·遍历此点的所有215eb5e6437b81f4ef28414f1bc5b16c.png邻域内的点,并寻找这些密度可达点,判定某点a49d92432c36d6fde5751a0e2c493dd4.png邻域内的点,并寻找这些点密度可达点,判定某点的df9331a8f3a576de352ff7ec773f63e4.png邻域内的点数是否超过阈值点数,超过则构成核心点
·扫描数据集,寻找没有被聚类的数据点,重复第二步
·输出划分的类,并输出异常值点(不和其他密度相连)

1.5 神经网络的方法

代表:SOM算法

·数据集合e6663f1f417a811ed8dea7349c37c7ab.png,权重向量为bc03d1c1b98d578ce5733116d52926ab.png8bb8b2d13d9e99639e0f03109aa46a41.png,归一化处理290335c6ecf548a54609ee3766ac16ba.png
·寻找获胜的神经元,找到最小距离,对于每一个输入数据,找到与之最相匹配的节点
851f24f9c63d01797be05d909be5e89b.png4fbe97c468a008b5066a0ba8bccbf8f8.png480451481a9a63d201416ca3ab92b6c0.png的距离,更新权重:d64d5aa41edb3c6262ac448c3d4dcb73.png
·更新临近节点,b6c44b26adde1352188956ee10b9e9f3.png,其中7b398164cfe333acd5329cc031de804b.png代表学习率

1.6 基于图的聚类方法

代表:谱聚类算法

·计算邻接矩阵a507dfdbac24fbe2fae0ae1ace1b874b.png,度矩阵ad697734187d8a7eed20f3b98dd8c0fe.pnge83004320c8737f91d8951f07b52da0e.png
·计算拉普拉及矩阵0bfc60d47d4fe16e6cb077ae527a3f4f.png
·计算归一化拉普拉斯矩阵dc6bd87d897b66918243fec6d1245ea7.png
·计算5b6b4e9d89cce3f5b927a5a2cf7dc694.png的特征值和特征向量ef1538156d9f97a5d4fa5c59e13104aa.png
·对Q矩阵进行2e300e38f278f6d5b716f0a93ab47649.png聚类,得到聚类结果

2. 聚类算法的评价指标

一个好的聚类方法可以产生高品质簇,是的簇内相似度高,簇间相似度低。一般来说,评估聚类质量有两个标准,内部质量评价指标和外部评价指标。

2.1 内部质量评价标准

内部评价指标是利用数据集的属性特征来评价聚类算法的优劣。通过计算总体的相似度,簇间平均相似度或簇内平均相似度来评价聚类质量。评价聚类效果的高低通常使用聚类的有效性指标,所以目前的检验聚类的有效性指标主要是通过簇间距离和簇内距离来衡量。这类指标常用的有CH(Calinski-Harabasz)指标等

CH指标

CH指标定义为:
8eb623d2d97d46e36b8fa230bcd64baf.png
其中6212479f3f5b38db795c5ceaa8059906.png表示类间距离差矩阵的迹,5f9109325c0be391033e26de5b71dc7a.png表示类内离差矩阵的迹,26c6e4c3f87e2410af5d79c13c5926c0.png是整个数据集的均值,180ea63f5afc73851f2654771eae3261.png是第3c9cde3ca56f1e6f8676111d13266d45.png个簇78fafd904cd1994308c635c3294f8a1a.png的均值,3f32a3f264b56b2a43fa025697bc7ed3.png代表聚类个数,bc6588b5944eae84c6b3c11f018f8534.png代表当前的类。e14dcfe6bf2a2ee618d5a12b1c24fa73.png值越大,聚类效果越好,7f84e349eeced3307b810ebfb80a2ed0.png主要计算簇间距离与簇内距离的比值

簇的凝聚度

簇内点对的平均距离反映了簇的凝聚度,一般使用组内误差平方(SSE)表示:
51fdc04fef19e5026b9ea7906e17e2ff.png

簇的邻近度

簇的邻近度用组间平方和(SSB)表示,即簇的质心6cf52251ce8644b7cb50f22c18ef9eb2.png到簇内所有数据点的总平均值d45cffc3b8b4e939b8c30730e1bc6b8b.png的距离的平方和

2.2 外部质量评价标准

外部质量评价指标是基于已知分类标签数据集进行评价的,这样可以将原有标签数据与聚类输出结果进行对比。外部质量评价指标的理想聚类结果是:具有不同类标签的数据聚合到不同的簇中,具有相同类标签的数据聚合相同的簇中。外部质量评价准则通常使用熵,纯度等指标进行度量。

熵:

簇内包含单个类对象的一种度量。对于每一个簇,首先计算数据的类分布,即对于簇4b0125364f96f6d6699a371341be0050.png,计算簇7dccac12e7d05fd2a1633b18157dea14.png的成员属于类e59167fe043a1b4918047eea38a21bfa.png的概率
ebbfb5048d998f55821909d221aab7d6.png
其中df117bef24caa5f4e57051e624fd3322.png表示簇a7ab869f7f9491db910be65c340cd748.png中所有对象的个数,而0b38c15efc4c360516fa05861925ee62.png是簇65ad8b89f299a9661d45a59f897ee193.png中类402eca12d6af590b7aa66f68ee6c4810.png的对象个数。使用类分布,用标准公式:
ba35b0e62869cd377a84fb34afcd0f41.png
计算每个簇8b5d7ae37e1430abed264c9134db4499.png的熵,其中K是类个数。簇集合的总熵用每个簇的熵的加权和计算即:
ff3a215c82b12d34ef384b37d1f5979a.png
其中98eb1b269afcd8bf077801d882fd14e1.png是簇的个数,而abb3eba2b37d352e1f8423116751fbc8.png是簇内数据点的总和

纯度:

簇内包含单个类对象的另外一种度量。簇ea48f631b3734f1d0d3b31d43d6bc946.png的纯度为6e760919e633b01aef96e356c91de5f4.png,而聚类总纯度为:
1048f01e27698c60c7d766958d03aeb0.png

-------- End --------

36b41ef8ecd39ef6f1df28a6b617ee1d.png
精选资料

回复关键词,获取对应的资料:

关键词资料名称
600《Python知识手册》
md《Markdown速查表》
time《Python时间使用指南》
str《Python字符串速查表》
pip《Python:Pip速查表》
style《Pandas表格样式配置指南》
mat《Matplotlib入门100个案例》
px《Plotly Express可视化指南》
精选视频

可视化: Plotly Express

财经: Plotly在投资领域的应用 | 绘制K线图表

排序算法: 汇总 | 冒泡排序 | 选择排序 | 快速排序 | 归并排序 | 堆排序 | 插入排序 | 希尔排序 | 计数排序 | 桶排序 | 基数排序

3e906c7609b682d0b918db0f449b8016.png
  • 0
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值