机器学习算法——聚类3(k均值算法)

本文详细介绍了k均值聚类算法的理论基础,包括簇内样本围绕簇均值的紧密程度衡量标准以及算法的迭代优化过程。通过案例讲解,以西瓜数据集为例,演示了如何应用k均值算法进行聚类,并提供了代码实现,展示了算法的最终簇划分结果。
摘要由CSDN通过智能技术生成

一、理论讲解

给定样本集D=\{x_1,x_2,...,x_m \},k均值(k-means)算法针对聚类所得簇划分C=\{C_1,C_2,...,C_k \}最小化平方误差为:

E=\sum_{i=1}^{k} \sum_{x \in C_i} || x-\mu_i ||_2^2    (1)

其中\mu_i = \frac{1}{|C_i|} \sum_{x \in C_i} x是簇内C_i的均值向量。直观来看,(1)式在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,E越小,则簇内样本相似度越高。

最小化(1)式并不容易,找到它的最优解需考察样本集D所有可能的簇划分,这是一个NP难问题。因此,k均值算法采用了贪心策略,通过迭代优化来近似求解(1)式。算法流程为:


输入:样本集D=\{x_1,x_2,...,x_m \};聚类簇数k

过程:从D中随机选择k个样本最为初始均值向量\{\mu_1,\mu_2,...,\mu_k \}

repeat

        令 C_i = \phi (1 \leqslant i \leqslant k)

        for j = 1,2,..,m do

                计算样本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值