聚类算法的选型与评估
相比于监督学习,非监督学习通常没有标注数据,为了对分布的数据集合选择合适的算法模型同时评估不同聚类算法性能的优劣需要了解常见的数据簇的特点。
写在前面
- 聚类算法针对的是具有非随机分布特征的数据集合,如果数据集合服从随机分布聚类也就失去了意义。
以中心定义的数据簇
数据集合倾向于球形分布,通常中心被定义为质心(词数据簇的几何平均值):
- 该数据簇的特征
- 数据簇的中心是词数据簇的几何平均值;
- 数据簇中的点到该数据簇中心的距离相比其他簇中心的距离更近
以密度定义的数据簇
- 该数据簇的特征
- 该数据集合呈现和周围数据簇明显不同的密度
- 数据簇不规则或相互盘绕,并且有噪声和离开群点
以联通定义的数据簇
- 该数据簇的特征
- 数据集合中点和点之间有连接关系,整个数据簇表现为图结构
以概念定义的数据簇
- 该数据簇的特征
- 数据簇中的点具有某种共性特征
聚类算法的评估流程
- 估计聚类趋势
- 检验数据分布是否存在非随机分布(对于随机分布的数据集合,聚类误差随聚类类别数量的增加变化幅度不显著,简而言之无法获取一个合适的k对数据集合进行聚类)
- 检测方法:
- 通过霍普金斯统计量(Hopkin Statistics)判定数据在空间上的随机性
- 判定数据簇数
- 找到与真实数据分布最为吻合的簇数
- 检测方法:
- 手肘法、Gap Statistics等
- 测定聚类质量
- 可以通过考察簇的分离情况和簇的紧凑情况来评估聚类的效果。
- 常用的检测指标
- 轮廓系数:反映的是一个簇中的点和该簇中的其他点的紧密程度对比和其他簇的分离程度
- 均方根标准偏差,用于衡量簇的同质性(紧凑程度)
- R方,用于衡量聚类的差异度(表示聚类前和聚类后平方误差的改进程度)
- 改进的Hubert统计