聚类分析学习笔记(一)
此笔记参考了数据挖掘导论、周志华的机器学习以及机器学习实战三本书
1.概要
聚类分析的作用是根据在数据中发现的描述对象及其关系的信息,将数据分组(簇)。组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内的相似性越大,组间的差别越大,则聚类就越好。
因为聚类分析是无标记学习,所以是一种非监督学习。聚类分好几种类型,本文中主要涉及基于原型的聚类,基于层次的聚类以及基于密度的聚类。
2.基于原型的聚类
假设聚类结构能通过一组原型刻画。其中簇是对象的集合,其中每个对象到定义该簇的原型的距离比到其他簇的原型的距离更近(或者更加相似)。我们通常把基于原型的簇看做基于中心的簇。基于原型的聚类通常步骤是:算法先对原型进行初始化,然后对原型进行迭代更新求解。不同的原型聚类算法会采用不同的原型表达方式或不同的求解方式等等。
2.1 K-means算法
K-means是一种基于距离的迭代式算法。它将n个观察实例分类到k个聚类中,以使得每个观察实例距离它所在的聚类的中心点比其他的聚类中心点的距离更小。
给定样本D={x1,x2,x3,…,xm},K-means算法针对聚类所得划分簇C={C1,C2,…,Ck}最小化平方误差:
E=∑i=1k∑xεCi