06 K均值(K-Means)

引子:

聚类算法的简介

        聚类算法是一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。聚类算法与分类算法最大的区别是:聚类算法是无监督的学习算法,而分类算法属于监督的学习算法。

        在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法。



K均值K-Means

1、定义

K-means聚类算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。


K-Means算法的思想

 基本K-Means算法的思想很简单,事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类中,接着,重新计算每个类的质心(即为类中心),重复这样的过程,新的质心与原质心相等或小于指定阈值,最终就确定了每个样本所属的类别以及每个类的质心。由于每次都要计算所有的样本与每一个质心之间的相似度,故在大规模的数据集上,K-Means算法的收敛速度比较慢。


K-Means算法的流程

1N个文档随机选取K个文档作为质心

2对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类

3重新计算已经得到的各个类的质心

4迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束

如下图:

 

 第五轮迭代产生的结果和第三迭代产生的结果一样,于是算法停止,得到最终的簇划分。


 

2、优缺点

优点:

§ 算法快速、简单;

§ 对大数据集有较高的效率并且是可伸缩性的;

§ 时间复杂度近于线性,而且适合挖掘大规模数据集

 

缺点:

§  K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的。

§ 由于每次都要计算所有的样本与每一个质心之间的相似度,故在大规模的数据集上,K-Means算法的收敛速度比较慢

 

 

3、应用场景

K-means算法通常可以应用于维数、数值都很小且连续的数据集

K-means常用的场景是在不清楚用户有几类时,尝试性的将用户进行分类,并根据每类用户的不同特征,决定下步动作。一个典型的应用场景是CRM管理中的数据库营销。举例,对于一个超市/电商网站/综合零售商,可以根据用户的购买行为,将其分为“年轻白领”、“一家三口”、“家有一老”、”初得子女“等等类型,然后通过邮件、短信、推送通知等,向其发起不同的优惠活动。

 

§ 文档分类器

§ 客户分类

§ 图像分类

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮卡丘学算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值