非监督分类器
聚类原理
相似性测度
欧氏距离:
明氏距离:
马氏距离:
Σ为样本集的协方差矩阵,当协方差矩阵为单位矩阵时,马氏距离简化为欧氏距离;当协方差矩阵为对角阵时,各特征完全相互独立
角度相关系数:
表征两个向量的夹角余弦。两个向量越相似,该值越接近1,越不相似,该值越接近-1
概率相关系数:
聚类准则函数
误差平方和准则:
一个好的聚类方法应能使每个子集中的所有向量与这个均值向量的“误差向量”长度平方之和最小。
离散度准则:
离散度矩阵不仅反映同类样本的聚合程度,而且也反映不同类之间的分离程度,对某一聚类结果,类内散度越小越好,类间散度越大越好。
以上准则同时考虑了类内散度和类间散度。为了得到好的聚类结果,它们的取值越大越好。
聚类方法
基于划分的聚类方法:k-means
基于层次的聚类方法:分级聚类、ISO-dada
基于密度的聚类方法:DBSCAN
基于模型的聚类方法
分级聚类
具体过程:
这里的相似性测度有:
(1)最小距离法:
(2)最大距离法:
(3)均值距离法:
(4)组平均距离法:
动态(划分)聚类
原理:首先选择一批有代表性的样本作为初始聚类中心,将样本集进行初始分类;然后根据聚类准则重新计算聚类中心,不断调整不合适的聚类样本,进行重新聚类,直到满足给定的结束条件为止。
k-means
算法的基础是误差平方和准则。通过迭代寻找C个聚类的划分方案,使得这C个聚类的均值表达各类样本时的总体误差平方和最小。
但是迭代计算准则函数的计算量巨大,经过优化可以使用这种方法:
这样通过计算和修改聚类中心,没有直接运用准则函数式进行分类,减少了运算。
关键问题
(1)样本集初始聚类中心的选择
(2)相似性测度选择
(3)类别数判定
k-means++算法在选择初始聚类中心时,选取第一个聚类中心时同样通过随机的方法,但是在选取n个聚类中心,选择第n+1个聚类中心时,距离当前n个聚类中心越远的点会有更高的概率被选为第n+1个聚类中心,这样就解决了随机初始中心选择的问题。
ISODATA
ISODASTA算法在k-means算法基础上增加对聚类结果的“合并”和“分裂”,动态调整各个类别的聚类中心,从而解决聚类数量需要解决的问题。
1、聚类合并:当两个聚类中心之间距离值小于某个阈值时,将两个聚类中心合并成一个
2、聚类分裂:当某个聚类的样本方差大于一定的阈值且该聚类内样本数量超过一定阈值时,将该聚类分裂为两个聚类
算法参数:
1、预期的聚类中心数目C
2、每个类所包含的最少样本数目Nmin
3、最大方差Sigma
4、两个类别的聚类中心间允许的最小距离dmin:
算法流程:
k-means算法解决了初始聚类中心选择问题、选定聚类数量问题,ISODATA算法在K-means聚类基础上增加对聚类结果的“合 并”和“分裂”,解决了聚类数量需要设定的问题。
密度聚类
DBSCAN算法
概念:
关于簇的定理:
算法流程:
这种算法对于特定的样本集来说有很大的优点:
而且该算法不需要确定聚类的数量,而是基于数据推测聚类的数目,能够针对任意形状产生聚类。