机器学习实战——Kmeans聚类算法
1 聚类算法介绍
在无监督学习中,训练样本的标记是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。聚类分析是无监督学习中的典型代表,其中比较常见的聚类算法有:K-均值聚类、密度聚类与层次聚类。接下来的文章逐一对三种聚类算法进行介绍。
1.1 K-均值聚类
K-均值聚类的基本思想是,对于给定的样本集,随机选择 k 个点作为初始点,按照样本间的距离大小,将样本集划分为 k 个簇,且簇内的点均方误差尽量小,簇间的点均方误差尽量大。假设给定样本集为 D = { x 1 , x 2 , . . . , x m } D=\{x_1,x_2,...,x_m\} D={ x1,x2,...,xm},划分的簇 C = { C 1 , C 2 , . . . , C k } C=\{C_1,C_2,...,C_k\} C={ C1,C2,...,Ck},则其划分簇的平方误差数学表达式如下:
E = ∑ i = 1 k ∑ x ∈ C i ∣ ∣ x − μ i ∣ ∣ 2 2 E=\sum_{i=1}^k\sum_{x\in C_i}{\mid\mid{x-\mu_i}\mid\mid}_2^2 E=