前几次的回归和分类等模型都是属于有监督的学习方法,这次来聊聊无监督学习。它的定义是:“无监督学习是机器学习的一种方法,指的是没有给定事先标记过的训练示例,自动对输入的资料进行分类或分群。”今天我们主要介绍聚类分析和关系规则这两种常用方法,除此之外应用较为广泛的还有纬度缩减(如主成分分析、因子分析等降维方法,使用spss、matlab软件均可较为方便地实现,这里就不再赘述)。
一、聚类分析
聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程,是一种发现这种内在结构的技术。
在聚类方法当中,k均值聚类(K-means)是最著名的划分聚类算法,由于简洁和效率使得其成为所有聚类算法中使用最广泛的。具体算法如下:
step1:先随机选取K个对象作为初始的聚类中心。
step2:计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。
step3:一旦全部对象都被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是以下任何一个:
1)没有(或最小数目)对象被重新分配给不同的聚类。
2)没有(或最小数目)聚类中心再发生变化。
3)误差平方和局部最小。
算法示意图如下所示: