机器学习(11)K-means算法

本文介绍了K-means算法的基本概念,包括其作为无监督学习的迭代过程,簇分配和中心移动的步骤。优化目标、初始化簇中心的方法(如随机选择)以及如何根据图形选择簇的数量。重点讲解了如何通过多次尝试找到最佳分类结果。
摘要由CSDN通过智能技术生成

简介

监督学习是:把带有标签的样本集求得决策边界,把样本划分成几种,通过假设函数去拟合样本集。

无监督学习是:它的样本集没有标签,寻找样本集中相似的她特征,把样本集划分成几个簇。

K-means算法又叫做K均值算法,它是无监督学习的一种。

它是个迭代算法,算法内部有两个循环。

1.簇分配。选取几个簇中心,遍历整个样本集,每个样本距离那个簇中心近,就被划分到这个簇。

2.中心移动。在每个簇内部,计算整个样本的平均值,得到一个新的簇中心,取代旧的簇中心。

算法流程

如下图,以下为待分类的无标签样本集,并选择两个样本,两个簇中心。
在这里插入图片描述

步骤1:然后计算每个样本到簇中心的距离,距离那个近就划分到那个簇。
在这里插入图片描述

步骤2:然后计算每个簇内部所有样本的平均值,得到新的簇中心。

在这里插入图片描述

重复步骤1。

在这里插入图片描述

重复步骤2。

在这里插入图片描述
。 。 。 。 。 。

优化目标

监督学习都有一个优化目标,或者最小化代价函数,K-means算法同样也有。

符号规定:

一共有 m m m个样本,分成 K K K个簇。 i { ∈ 1 , 2 , . . m } i\{\in{1,2,..m}\} i{1,2,..m} k ∈ { 1 , 2... K } k\in\{1,2...K\} k{1,2...K} x ( i ) x^{(i)} x(i)表示每个样本的位置,

c ( i ) c^{(i)} c(i)表示每个样本被分到第几个簇, u k u_{k} uk表示每个簇中心的位置, u c ( i ) u_{c^{(i)}} uc(i)表示每个样本所属簇的簇中心的位置。

代价函数,又叫失真函数

在这里插入图片描述
当代价函数的值小于我们规定的一个阈值,或者簇中心不在变化,迭代即可停止。

初始化簇中心的选取

不同的初始簇中心的选取可能导致不同的结果,如下图:

在这里插入图片描述

为了得到比较好的分类结果,可以多试几次,比如随机初始化100次,得到不同的分类结果,最后比较哪一种的失真函数最小,就用哪一个。

簇的数量选取

如何选择簇的数量呢?

一种是绘制图形来得到结果。

绘制簇的数量和代价值的图像,由下图可知,曲线在簇的数量为3时,出现了拐点,一般这个拐点所在的簇的数量就是比较合适的值。
在这里插入图片描述

二是结合具体情况。

你需要几个类别就分几类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值