1. 聚类思想
作为无监督学习的一个重要方法,聚类是将样本集D划分为若干互不相交的子集,即样本簇。聚类的思想就是把属性相似的样本归到一类。对于每一个数据点,我们可以把它归到一个特定的类,同时每个类之间的所有数据点在某种程度上有着共性,比如空间位置接近等特性。一句话概括聚类结果:簇内相似度高且簇间相似度低。
2. 聚类与分类的区别
分类是监督学习任务,利用已知的样本标记训练学习器预测未知样本的类别。这就像一个幼儿园的小朋友,老师先拿各种水果教他们,告诉每种水果是什么样子的,接下来这些孩子就会认这些类型的水果了。它有训练和预测两个过程,在训练阶段,我们用大量的样本进行学习,得到一个判定水果类型的模型。接下来,在预测阶段,给一个水果,就可以用这个模型预测出它的类别。
而聚类是无监督学习任务,不知道真实的样本标记,只把相似度搞得样本聚合在一起。没有事先定义好的类别,聚类算法要自己想办法把一批样本分开,分成多个类,保证每一个类中的样本之间是相似的,而不同类的样本之间是不同的。这一次,老师并没有事先告诉孩子们各种水果是什么样子的,孩子们需要自己将水果进行归类划分,而且这些水果可能是他们不认识的。这里没有统一的、确定的划分标准,有些孩子将颜色相似的水果归在了一起,而另外一些孩子将形状相似的水果归在了一起,还有一些孩子将尺寸大小相似的水果归在了一起。
聚类算法没有训练过程,这是和分类算法最本质的区别,算法要根据自己定义的规则,将相似的样本划分在一起,不相似的样本分成不同的类。
3. 聚类相似度度量
聚类相似度度量:几何距离,几种距离度量方法:
要用数量化的方法对事物进行分类,就要用数量化的方法来定义每个样本的相似程度,这个相似程度在数学上可以称之为距离,最常用的闵可夫斯基距离:
当p=1时,闵可夫斯基距离即曼哈顿距离:
当p=2时,闵可夫斯基距离即欧式距离:
用距离来定义相似度度量,距离越大,相似度越小
4. 聚类类别
- 层次聚类:凝聚、分裂
- 划分聚类:k均值(K-means), Mean shift
- 基于密度的聚类:DBSCAN算法
- 基于网格的聚类:STING算法
- 基于模型的聚类:高