聚类(一)
聚类(一)
本文是我为了做某个数据驱动的科研项目不得不先学习一部分聚类的基础知识,于是拿了本西瓜书(机器学习·周志华)做的笔记~
1.聚类任务
在“无监督学习”(unspervised learning)中,训练样本的标记信息是未知的,目标是通过对无标记的训练样本的学习来揭示数据的内在性质和规律,为进一步的数据分析提供基础。
聚类(clustering)、密度估计(density estimation)、异常检测(anomaly detection)
聚类试图将数据集中的样本划分为若干个通常不相交的子集,每个子集称为一个“簇”(cluster)。通过这样的划分,每个簇可能对应于一些潜在的概念(类别)。
2.性能度量
聚类性能度量亦称聚类“有效性指标”(validity index)。对于聚类结果,我们需要通过性能度量来评估其好坏;另一方面,若明确了最终将要使用的性能度量,则可直接将其作为聚类过程的优化目标,从而更好地的得到符合要求的聚类结果。
聚类是将样本集D划分为若干互不相交的子集,即样本簇。目标:簇内样本相似度高、簇间样本相似度低。
-
外部指标:将聚类结果于某个“参考模型”进行比较。
- JC系数(简称JC)
- FM指数(简称FMI)
- Rand指数(简称RI)
以上三个性能度量的结果值都在[0,1]区间,值越大,性能效果越好。
-
内部指标:直接考察聚类结果而不利用任何参考模型。
- DB 指数(简称DBI)
- Dunn指数(简称DI)
DBI的值越小越好,DI的值越大越好。
这些奇奇怪怪的指标也许会在论文中出现叭...
3.距离计算
对函数dist(·,·),若它是一个“距离度量”(distance measure),则需满足一些基本性质:
-
非负性:\(dist(x_i,x_j)\ge0\);
-
同一性:\(dist(x_i,x_j)=0\)当且仅当\(x_i=x_j\)
-
对称性:\(dist(x_i,x_j)=dist(x_j,x_i)\)
-
直递性:\(dist(x_i,x_j)\le dist(x_i,x_k)+dist(x_k,x_j)\)
给定样本\(x_i=(x_{i1};x_{i1};...;x_{in})\)与\(x_j=(x_{j1};x_{j1};...;x_{jn})\)
- 闵可夫斯基距离:\(dist_{mk}(x_i,x_j)\)
- 欧氏距离:\(dist_{ed}(x_i,x_j)\)
- 曼哈顿距离:\(dist_{man}(x_i,x_j)\)
- 加权距离:\(dist_{wmk}(x_i,x_j)\)
- VDM距离:\(VDM_p(a,b)\)
- 闵可夫斯基距离和VDM结合:\(MinkovDM_p(x_i,x_j)\)
连续属性和离散属性、有序属性(能计算距离)和无序属性(不能计算距离)。当属性可计算距离时,使用前四种距离定义,当属性是抽象概念,无法做数学计算,使用后面两种距离定义。
!相似度度量,距离越大,相似度越小。
!非度量距离:相似度度量不满足直递性时