TensorFlow深度学习实战(18)——K-means 聚类详解
0. 前言
K-means
聚类是一种常用的无监督学习算法,用于将数据集划分为若干个互不重叠的簇 (cluster
),使得同一簇内的数据点尽可能相似,而不同簇之间的数据点尽可能不同。在本节中,将介绍 K-means
聚类的基本原理与局限性,并使用 TensorFlow
实现 K-means
聚类。
1. K-means 聚类
K-means
聚类是一种数据聚类技术,即将数据划分为指定数量的数据点,是一种无监督学习技术,通过识别给定数据中的模式工作。
有多种聚类技术,如层次聚类、贝叶斯聚类或划分聚类。K-means
聚类属于划分聚类,将数据分成 k
个簇。每个簇有一个中心,称为质心,簇的数量 k
需要自行指定。K-means
算法的工作流程如下:
- 随机选择
k
个数据点作为初始质心(簇中心) - 将每个数据点分配给最近的质心;可以使用不同的度量方法来确定接近度,最常见的是欧几里得距离
- 使用当前的簇成员重新计算质心,以使(每个点与其质心