无监督学习----K-means算法

无监督学习

:是指在未加标签的数据中,根据数据之间本身的属性特征和关联性对数据进行区分,相似相近或关联性强的数据放在一起,而不相似不相近、关联性不强的数据不放在一起。
应用场景:降维,聚类算法,关联算法
有监督学习和无监督学习的区别

  • 有监督学习:

分类问题,要求实现必须明确知道各个类别的消息,建立的前提是待分类项都有一个类别都与之对应,但实际上分类问题获取到的数据记录对应的类别信息无法明确,大数据处理的数据是海量的,信息提交可能不完全

  • 无监督学习:
    最常见的是聚类问题,不依赖预定义的类和标号的训练示例
    so
    可以先用无监督学习打标签,再用有监督学习进行分类

聚类分析

定义:聚类分析是分析研究对象(样品或变量)如何按照多个方面的特征进行综合分类的一种多元统计方法,它是根据物以类聚的思想将相似的样品(或变量)归为一类。
把对象分为不同的类别,类别是依据数据的特征确定的。
把相似的东西放在一起,类别内部的差异尽可能小,
类别之间的差异尽可能的大。
在这里插入图片描述
作用:

  • 作为单独过程,对数据进行打标签
  • 作为分类等其他学习的前驱过程

性能度量

通过某种性能度量,对聚类结果的好坏进行性评估

聚类性能度量一般分两类:

  • 外部指标;

将聚类结果与某个“参考模型”进行比较,如将聚类学习结果与业务专家给出的划分结果进行比较。

  • 内部指标:

直接考察聚类结果不利用任何参考模型。

距离计算

  • 欧氏距离
    在这里插入图片描述

  • 曼哈顿距离
    在这里插入图片描述
    在这里插入图片描述
    绿色为欧氏距离,黄色,红色,蓝色为等价的曼哈顿距离

  • 余弦相似度
    在这里插入图片描述

取值范围【-1,1】,数值越接近1,角度越小,距离越近

应用行业

**离群点检测:**离群点指的是与“普通”点相对应的“异常”点,而这些“异常”点往往值的注意。
离群点检测是数据挖掘中重要应用,任务就是发现与大部分观察对象显著不同的对象,大部分的数据挖掘方法会将这种差异信息视作噪声进行预处理,但是另外的一些应用中,离群点本身携带有重要的异常信息,是需要被关注和研究的。

应用方式:
利用聚类算法,找到远离其他簇的小簇;
首先聚类所有对象,然后评估对象属于簇的程度,对不同距离的点进行打分。
用户画像
将相似度高的用户聚为一类
在这里插入图片描述

K-means算法

原型:样本空间中具有代表性的点
基于原型聚类

通常算法先对原型进行初始化,然后对原型进行迭代更新求解。采用不同的原型表示,不同的求解方式,即会产生不同的聚类算法,不断的计算找到最好的中心点,形成最好的分类

概念:基于各个样本点与各个聚集簇的中心点距离远近,进行划分的聚类算法。
在这里插入图片描述
算法步骤:
1)选取𝐾(想分成几类)个对象作为初始中心(叫质心,是数据当中存在的点),作为聚类中心;
2)对每个样本数据,计算它们与中心的欧氏距离,按距离最近的准则将它们分到距离最近的聚类
中心所对应的类;
3)更新聚类中心:将每个类别中所有对象所对应的均值作为该类别的新中心(新的质心,不一定是数据集上面的点),计算目标函数SSE,如果SSE变小了就更新,如果SSE变大了,说明数据更离散了,就不更新;
SSE:回归和方差
E (xi-x)^2 + (yi-y)^2
4)判断聚类中心和目标函数的值是否改变,若不变,则输出结果,若改变,则返回 2)。

在这里插入图片描述

算法思想

1.输入聚类个数𝑘,以及包含𝑛个数据对象的数据集,输出标准的k个聚类的一种算法。
k怎么分:从实际问题出发:根据经验值
均方根:假设有m个样本,k=√(𝑚/2)
枚举法:用不同的𝐾值进行聚类

  • 分别计算类内距离均值和类间距离均值之比,选择最小的那个𝐾值
  • 对不同𝐾值都产生2次聚类,选择两次聚类结果最相似的𝐾值
    手肘法:随着聚类数k的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,那么误差平方和SSE自然会逐渐变小。当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故SSE的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以SSE的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,也就是说SSE和k的关系图是一个手肘的形状,而这个肘部对应的k值就是数据的真实聚类数。

2.然后将𝑛个数据对象划分为𝑘个聚类,而最终所获得的聚类满足:
(1)同一聚类中的对象相似度较高;
(2)而不同聚类中的对象相似度较小。

初始质心的选择:

  • 有时候会影响最终的聚类结果,实际操作中,我们一般会选用不同的数据作为初始簇心,多次执行K-Means算法;
  • 新质心不一定是实际的一个数据点。

K-Means算法会不会陷入一直选质心的过程,永远停不下来?

不会。数学证明一定会收敛,目标函数SSE是可收敛的函数,但数据量大时,收敛时间可能较长。在算法中,默认迭代300次

举例

在这里插入图片描述

1确定k和中心点 :3类,A1,A4,A7
2去计算A1-A8到A1/A4/A7的距离

在这里插入图片描述
新的中心点:
在这里插入图片描述
在这里插入图片描述

K-Means聚类的优缺点

  • 优点

1.简单、易于理解、运算速度快;
2.对处理大数据集,该算法保持可伸缩性和高效性;
3.当簇接近高斯分布时,它的效果较好。

  • 缺点

1.在 K-Means算法是局部最优的,容易受到初始质心的影响;
2.在 K-Means算法中K值需要事先给定的,有时候K值的选定非常难以估计;
3.在簇的平均值可被定义的情况下才能使用,只能应用连续型数据;
该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的性能(时间和计算资源)开销是非常大的;
4.对噪声和孤立点数据敏感。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值