在前面我们介绍过了很多的监督学习算法,分类和回归。这篇文章主要介绍无监督算法,通过聚类分析来处理无类标数据。我们事先并不知道数据的正确结果(类标),通过聚类算法来发现和挖掘数据本身的结构信息,对数据进行分簇(分类)。聚类算法的目标是,簇内相似度高,簇间相似度低。有点像LDA降维算法,类内方差最小,类间方差最大。这篇文章主要包括:
1、K-Means算法
2、K-Means++
3、硬聚类和软聚类
4、聚类算法的性能评价指标
一、K-Means算法
在聚类算法中K-Means算法是一种最流行的、使用最广泛的一种聚类算法,因为它的易于实现且计算效率也高。聚类算法的应用领域也是非常广泛的,包括不同类型的文档分类、音乐、电影、基于用户购买行为的分类、基于用户兴趣爱好来构建推荐系统等。
K-Means算法的实现步骤,主要分为四个步骤:
1、从样本集合中随机抽取k个样本点作为初始簇的中心。
2、将每个样本点划分到距离它最近的中心点所代表的簇中。
3、用各个簇中所有样本点的中心点代表簇的中心点。
4、重复2和3,直到簇的中心点不变或达到设定的迭代次数或达到设定的容错范围。
常用的距离度量标准是欧几里得距离的平方:
其中x和y表示不同的两个样本,n表示样本的维度(特征的数量)。基于欧几里得距离,K-Means算