K-Means(无监督算法)

概述

K-Means是一种聚类算法,算法过程是以迭代的方式进行的。

详解

1. Input

  • K(从数据中聚类出的簇的个数)
  • Training set (drop x_0 = 1)

2. Process

Randomly initialize K cluster centroids μ1,μ2,.....,μk       %随机初始化聚类中心
Repeat{
	%簇分配:离哪一个聚类中心近,将其分配到其对应簇。(保持聚类中心不变的情况下,最小化 J)
	for i = 1 to m
		c^(i) := index (from 1 to K) of cluster centroid closest to x^(i)   %c^(i)表示x(i)对应的簇
	%移动聚类中心:计算不同簇的均值,作为新的聚类中心。(选择聚类中心 μ,来最小化 J)
	for k = 1 to K
		u_k := average (mean) of points assigned to cluster k
}

如果存在一个没有点的聚类中心,一般将其移除。

3. 优化目标函数

μ_c^(i) 表示 x^(i) 已经分配的聚类中心
目的:1.帮助我们对学习算法进行调试,,确保K-Means正确进行。
           2.帮助找到更好的簇,并避免局部最优解。

4. 随机初始化

  • K < m

5. 选择簇的个数 K

  • 肘部法则(Elbow method):如下左图;但不能解决所有情况,如右图。
  • 结合实际情况,看哪个聚类数量能更好的应用于后续目的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值