聚类(一)——Kmeans
Clustering 聚类K-means 聚类 是机器学习和数据挖掘领域的主要研究方向之一,它是一种 无监督 学习算法,小编研究生时期的主要研究方向是“ 数据流自适应聚类算法 ”,所以对聚类算法有比较深刻的理解,于是决定开一个专题来写聚类算法,希望可以为入门及研究聚类相关算法的读者带来帮助。聚类可以作为一个单独的任务,用于寻找数据内在分布结构,也经常作为其他学习任务的前驱过程,应用十分广泛。今天,小编就带你探索聚类算法的奥秘,并介绍第一个聚类算法Kmeans。 Q:什么是聚类? A:聚类是按照某一种特定的 标准 (相似性度量,如欧式距离等),把一个数据集分割成不同的类,使得同一个类中的数据对象的相似性尽可能大,不同类之间的差异性也尽可能大,如下图是一个聚类结果的可视化: 聚类有非常广泛的应用,比如根据消费记录发现不同的客户群,对基因表达进行聚类可以研究不同种群中的基因特征,对文本进行聚类可以快速找出相关主题的文章等。 Q:如何度量相似性? A:常用的相似性度量方式主要有以下几种: 欧式距离: Minkowoski距离: 曼哈顿距离: 余弦距离: Jaccard相似系数: 相关系数: Q:常用的聚类算法有哪些? A: 基于划分的聚类:k-means,mean shift 层次聚类:BIRCH 密度聚类:DBSCAN 基于模型的聚类:GMM Affinity propagation