K-Means算法
前面学习的几个基本的机器学习算法都是监督学习的;而当分类或者回归中给定的数据没有类别,即目标变量事先不存在,而这种就是无监督学习。
聚类方法就属于无监督学习的一种,目的就是将相似的对象归到同一个簇中,这样属于同一簇的数据很相似,不同簇的数据相似度低(相似度要看如何定义)。
聚类计算方法有分很多种,K-Means算法、层次算法、基于密度算法等等,鉴于是在学习了解同时结合结合机器学习实战那本书书,故本文主要讨论简单易于实现的K-Means算法。
K-Means 算法接受输入量 K(用户自定义的) ;然后将n个数据对象划分为 K个聚类以便使得所获得的聚类满足:同一聚类中对象相似度较高;而不同聚类中对象相似度较小
质心是一个簇中所有数据的均值。
K-Means伪代码:
(1) 从 n个数据对象任意选择 k 个对象作为初始聚类中心;
(2) 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;
(3) 重新计算每个(有变化)聚类的均值(中心对象);