推荐阅读: 原型聚类;聚类划分;K-means
9.4 原型聚类
原型聚类亦称基于原型聚类(prototype-based clustering),原型指的是样本空间中具有代表性的点。基于原型的定义是每个对象到该簇的原型的距离比到其他簇的原型的距离更近。在K-means中,聚类中心就是原型,就是具有代表性的点,一个样本距离哪一个原型近,就划分为哪一簇。
常见的原型聚类算法有: K-means;LVQ(learning vector quantization,学习向量量化);高斯混合聚类
9.4.1 K均值算法(K-means)
K-menas算法中的K表示划分为K个簇,K是需要认为预先设定的,这个K和KNN里的K是完全不同的意思,以前刚接触ML,经常混淆KNN和K-means的K。K-means是通过 最小化平方误差: E=∑ki=1∑x∈ci∥∥x−μi∥∥2 来划分样本。其中k就表示k个簇, μi 表示第i个簇的聚类中心(第i簇的原型)。E就表示所有样本到各自簇的聚类中心的距离之和,要这个聚类最小,其实就是使得各个簇最紧密。
K-means的算法流程:
Step 1. 给定K,随机初始化每个簇的聚类中心
Step 2.按照欧氏距离,计算每个样本到所有聚类中心距离,样本离哪个聚类中心近,就划分为哪一类。
Step 3. 更新聚类中心:针对每个簇, 利用簇中的样本,求取均值向量,得到新的聚类中心
Step 4. 检查 当前平方误差: “`
E=∑ki=1∑x∈ci∥∥x−μi∥∥2
是否小于上一次的平方误差,是的话,停止,否则重复 。
通常情况下是设定一定的迭代次数让算法停止。
9.4.2 学习向量量化(LVQ)
LVQ属于神经网络模型
9.4.3 高斯混合聚类
高斯混合聚类(Mixture-of-Gaussian)采用概率模型来表达聚类原型
9.5 密度聚类
密度聚类也称为基于密度聚类(density-based clustering),此类算法假设聚类结构能通过样本分布的紧密程度确定。
DBSCAN(Density-Based Spatial Clustering of Appplication with Noise)是著名的密度聚类算法,它基于一组领域参数来刻画样本的紧密程度(neighborhood)
9.6 层次聚类
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。
AGNES(agglomerative nesting)是一种自底向上聚类策略的层次聚类算法。它先将每个样本看作一个簇,再将相近的两个簇进行合并,直到达到预设的聚类簇个数.
计算两个簇(集合)的距离有:最小距离,最大距离,平均距离。
聚类划分:
(1)原型聚类 k-means ;LVQ; 高斯混合聚类
(2)密度聚类 DBSCAN;OPTICS;DENCLUE
(3)层次聚类 AGENS、DIANA、BIRCH、ROCK