聚类,无监督学习,将无标签样本分为几个簇,两个基本问题,性能度量和距离计算
聚类性能度量大致分为2类,外部指标:将聚类结果与某个“参考模型”进行比较;内部指标:直接考察聚类结果但是不利用任何参考模型。
外部指标JC/FMI/RI等,值越大性能越好。内部指标DBI/DI等,根据簇内样本的距离值来进行考察。
距离计算,距离函数dist(.,.)满足非负性,同一性,对称性,直递性,最常用的是“闵可夫斯基距离”,当p为2是为欧氏距离,根号下各坐标轴差值的平方和;当p为1时为曼哈顿距离,各坐标轴差值的和(街区距离)。
属性分为“连续属性”和“离散属性”,闵可夫斯基距离可用于计算有序属性,对于无序属性可使用VDM来计算距,将二者结合使用,即可处理混合属性,以上的距离定义和算法都是事先定义好的常规方法,对于现实任务,可以通过“距离度量学习”基于数据样本来确定合适的距离计算公式。
原型聚类,此类算法假设聚类结构能通过一组原型刻画。通常先对原型进行初始化,然后对原型进行迭代更新求解。
1. K均值算法
适用于给定样本集D,聚类划分为k个簇,k均值算法将最小化平方误差,直观来看,一定程度上刻画了簇内样本围绕簇均值向量的紧密程度。
此算法需先找到其样本集的所有可能的簇划分,是一个NP难问题,因此采用贪心策略,通过迭代优化来近似求解式(先根据样本集设定n个簇,然后假设n个初始均值向量,然后对样本进行分簇(根据样本和簇向量之间的距离,通过闵可夫斯基距离来进行计算),然后再计算各簇的均值向量并更新(即计算添加了新样本的簇的均值向量),