📕参考:西瓜书+ysu老师课件+博客(3)聚类算法之DBSCAN算法 - 知乎 (zhihu.com)
目录
【涉及到的英文单词】
无监督学习 unsupervised learning
聚类 clustering
簇 cluster
簇标记 cluster label
有效性指标 validity index
簇内相似度 intra-cluster similarity
簇间相似度 inter-cluster similarity
外部指标 external index
内部指标 internal index
基于原型的聚类 prototype-based clustering
基于密度的聚类 density-based clustering
噪声 noise
异常 anomaly
DBSCAN Density-Based Spatial Clustering of Applications with Noise
AGNES Agglomerative Nesting
1.聚类任务
【聚类任务的引入】
【什么是聚类】
通过这样的划分,每个簇可能对应一些潜在的概念(类别),如“浅色瓜”、“深色瓜”、“有籽瓜”、“无籽瓜”......
【注】这些概念对聚类算法而言,是未知的。聚类过程仅能自动形成簇结构,簇所对应的概念语义需由使用者来把握和命名。
接下来谈一下聚类算法的聚类指标——性能度量
与监督学习中的性能度量作用类似,对聚类结果,我们需要通过某种性能度量来评估其好坏;另一方面,若明确了最终将要使用的性能度量,则可直接将其作为聚类过程的优化目标。
聚类是将样本集D划分为若干互不相交的子集,即样本簇。那么什么样的聚类结果比较好呢?
直观上,我们希望“物以类聚”,即同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同。
【聚类性能度量】:
【外部指标】:
【内部指标】
补充,距离计算
2.聚类算法的实现
【原型聚类】
2.1 划分式聚类方法
2.1.1 k均值算法
k均值算法基本原理:
k均值算法算法流程:
1.选取质心
2.分配数据点
3.更新聚类中心
4.判断是否结束
2.2 基于密度聚类方法
通常情况下,密度聚类算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇,以获得最终的聚类结果。
基于密度聚类方法的代表算法是DBSCAN。
2.2.1 DBSCAN
DBSCAN的基本概念
看图理解:
画图理解,,,,我的建议是直接看大佬的文
(3)聚类算法之DBSCAN算法 - 知乎 (zhihu.com)
DBSCAN算法定义
那么,如何从数据集D 中找出满足以上性质的聚类簇呢?
DBSCAN算法先任选数据集中的一个核心对象为“种子”,再由此出发确定相应的聚类簇。
1.找核心对象
2.成簇
3.重复
其它问题
这个是大佬的博客里的:(3)聚类算法之DBSCAN算法 - 知乎 (zhihu.com)
2.3 基于层次聚类方法
数据集的划分可以采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略。因此可分为聚合层次聚类与划分层次聚类。
2.3.1 AGNES
AGNES是一种采用自底向上聚合策略的层次聚类算法。
这里的关键是如何计算聚类簇之间的距离。
实际上,每个簇是一个样本集合,因此只需采用关于集合的某种距离即可。
AGNES算法流程
给定包含 n 个对象的数据集 D ,聚类簇距离度量函数 d,聚类簇数为 k。
1.计算所有样本间的距离
2.更新聚类簇及样本间距离
3.重复