点头出品 ,必属精品!!!嘿嘿嘿( ̄y▽, ̄)╭![image]
嗯~~~~,还是先从聚类到底是什么开始吧。
一、聚类概述
有关聚类的思考
数据挖掘导论中提到过:聚类可以看做一种分类,它用类标号创建对象的标记,然而只能从数据导出这些标号,相比之下,前面所说的分类是监督分类:即使用有类标号已知的对象开发的模型,对新的、无标记的对象赋予类标号。
在点头PPT上,聚类是一种通过对无标签的训练样本的训练来学习数据内在性质及规律从而给其他无标签的样本划分类别。
那么是否可以认为聚类算法所做的就是学习数据的内在性质和规律(简称簇内结构),将具有相似性质和规律的数据聚集到一起并且给聚集在一起的数据打上标签、标号(简称物以类聚),使其从无标签数据变为有标签数据,而聚类与分类的区别在于,聚类是将无标签的样本进行分类,类别数量不固定,而分类的类别数量是固定的且需要有确切的标签。https://blog.csdn.net/julyclj55555/article/details/83143060
性能度量
类比聚类与分类,聚类中被聚集到一起性质相似的数据被称为样本簇(分类中是类别),分类模型的好坏可以用已知标签进行分析,那么该怎么评价聚类模型的好坏呢?直观上看,我们希望物以类聚,即同一簇的样本的相似度尽可能地高,不同簇的样本之间相似度尽可能地低,换言之,聚类结果的“簇内相似度”高,“簇间相似度”低。
因此聚类性能主要分为两类:一种是将聚类结果与某个“参考模型”进行比较,被称为外部指标,另一种是直接考察聚类结果而不利用任何参考模型,被称为内部指标。(这些指标就不写了,现用现学)
距离度量
西瓜书中指出我们一般是基于某种形式的距离来定义“相似度度量”,也就是距离近相似度高,距离远相似度低,但需要注意有些关系不能用距离表示,这里先介绍距离的定义(本文的距离都是指度量距离):
- 非负性:\(dist(x_i,x_j) > 0\)
- 同一性:\(dist(x_i,x_j)=0\) 当且仅当\(x_i=x_j\)
- 对称性:\(dist(x_i,x_j)=dist(x_j,x_i)\) (
突然想到SNE的距离不对称) - 直递性:\(dist(x_i,x_j) \leq dist(x_i,x_k)+dist(x_k,x_j)\)(这里主要解释直递性,也就是如果从i到j有多条路,那么选最近的一条)
对于那些不能用度量距离表示的我们借用西瓜书的例子来理解,这些不满足“人马”和“人”和“马”就不满足直递性,这些不满足度量距离定义的距离被称为非度量距离,也就是不能完全按照距离大小判断距离。