【机器学习基础】K-Means聚类算法

简介: 【机器学习基础】K-Means聚类算法

1 聚类算法分析概述

近几年,随着网络的发展,越来越多的人开始习惯于在网上找信息,而网络也逐渐地走进了人们的日常生活。从人们每天都会接触到大量的数据,比如文字、音乐、图像、视频等等。随着信息的增多,人工智能应运而生。而在人工智能这个概念中,机器学习尤为重要,是实现人工智能的基础。机器学习,就是让计算机具有人一样的学习能力的技术,对当前和历史的海量数据进行挖掘、分析,并从中发现有价值的信息和规律。

随着大数据时代的来临,数据挖掘技术逐渐成为一种通用的业务方式,并推动了机器学习技术的快速发展。2021年,我国电商交易额为42.30万亿元,较上年同期增加了19.6%。在电商和其他行业中,要想获得更好的用户体验,就必须要对新用户进行类型的识别,这时,就可以将新用户进行聚类,将其分成多个簇,之后再以获得的结果为依据,来训练分类模型,进而判别新用户的类型。但是传统的数据挖掘技术已经不能适应海量的数据,K-Means聚类算法依赖其较简单的推导过程和实用、简单和高效的特性等广受青睐,在很多领域有巨大的贡献,例如:文档聚类、市场细分、图像分割、特征学习等。在非监督学习领域,K均值聚类是最广泛的,也是研究最多,应用最广泛的。而在聚类算法中,最常见的就是原型聚类(也称原型判别),以K均值算法为代表。


2 K-Means聚类算法

给定或随机产生m个样本的样本集。为了描述每个示例(即样本),我们给出了这样一个假设:每个示例具有d个属性来描述,这些属性反映了它与其他示例的关系,即每个示例是d维样本空间中的一个向量。

K-Means算法的基本思想是:将数据集按照距离进行划分,对于每一个样本,将它的邻域内的所有样本都分配到最近的那个类中。

首先,算法需要预先指定并且划分为k个簇,这也是与其他算法的不同点。在这里定义簇的均值向量为:

基于此,定义簇内样本围绕簇均值向量的紧密程度[13],即平方误差为:

E的值越小则簇内样本相似度越高,K-Means算法就是通过通过最小化SSE来寻找使得模型预测误差最小的模型参数。

3 K-Means参数概念及公式推导

3.1 平方误差(Sum of Squared Errors)

在聚类分析中,平方误差(Sum of Squared

Errors,SSE)是一种衡量聚类效果的指标。聚类算法将数据点分配到不同的簇中,每个数据点与它所属的簇的质心之间的距离被计算出来,然后平方,最后这些平方距离的和被称为平方误差。

具体来说,对于每个数据点xi和它所属的簇ci的质心,平方误差会计算为(xi - ci)^2。然后,所有簇的平方误差会相加,得到总的平方误差。这个值越小,说明每个数据点与它所属的簇的质心之间的距离越小,也就是聚类效果越好。

这个概念可以用于评估和优化聚类算法。比如在K-means算法中,初始质心的选择可能会影响聚类结果。K-means++ 算法通过让选择的质心尽可能分散来改善这个问题。另外,二分K-means算法则通过反复将一个簇划分为两个簇,直到达到用户给定的簇数目为止。在这个过程中,被划分出去的总是误差平方和最大的簇,因为这通常意味着这个簇的聚类效果最不好。

3.2 欧氏距离(euclidean metric)

也被称为欧几里得度量,是一个经常使用的在m维空间中两点之间的距离定义,或者向量的自然长度,即该点到原点的距离。在二维和三维空间中的欧氏距离就是两点之间的实际距离。

在聚类分析中,欧氏距离是常用的距离度量方式之一。它表示的是在n维空间中,两个点之间的直线距离。

具体计算公式为:

其中,x和y是两个n维向量,x1,x2,…,xn和y1,y2,…,yn是它们的对应维度上的值。

在应用方面,欧氏距离经常被用于衡量数据点之间的相似度,数据点之间的距离越小,说明它们越相似。例如,在客户分群中,可以使用该算法将相似行为模式的客户归类到同一簇中,以便进行个性化推荐和精准营销。在图像分析中,可以使用该算法将相似的图像归类到同一簇中,以便进行图像检索和内容识别。

  • 缺点

例如,它对数据的尺度敏感,需要对数据进行归一化处理,以避免尺度差异对聚类结果的影响。此外,它只考虑了数据点之间的距离,没有考虑到数据点之间的方向关系,因此在处理某些特殊数据集时可能会出现聚类效果不佳的情况。

3.3 轮廓系数(Silhouette Coefficient)

轮廓系数(Silhouette Coefficient)是一种用于评估聚类效果的指标,它考虑了聚类中的内聚度和分离度。

轮廓系数的计算涉及到每个数据点和其所属簇内其他数据点的距离,以及该数据点与其他簇的距离。具体而言,对于每个数据点,其轮廓系数被定义为:s = (b - a) / max(a, b),其中a是数据点与其同簇其他数据点的平均距离,b是数据点与其他簇的平均距离。

轮廓系数计算公式如下:

根据轮廓系数的定义,si接近1时,说明样本i聚类合理;si接近-1时,说明样本i更应该分类到另外的簇;若si近似为0,则说明样本i在两个簇的边界上。所有样本的si的均值称为聚类结果的轮廓系数,是该聚类是否合理、有效的度量

  • 优点

它可以用于处理不等簇大小的情况,因为它考虑了每个样本点与其他簇的平均距离。

轮廓系数的值域为[-1,1],方便理解和使用。

  • 局限性

它对异常值比较敏感,可能会受到离群点的影响。

3.4 DB指数(Davies-Bouldin Index)

DB指数(Davies-Bouldin Index)是一种用于评估聚类效果的内部指标。它考虑了每个簇内的样本点的紧密程度以及不同簇之间的分离度。

DB指数的计算方法如下:

  1. 对于每个簇Ck,计算其内部样本点之间的平均距离avg(Ck)。
  2. 对于每个簇Ck,计算其与其它簇之间的最小样本距离dmin(Ck, Cj)。
  3. 对于每个簇Ck,计算其中心点与其它簇中心点之间的距离dcen(Ck, Cj)。
  4. 计算DB指数,公式为:DBI=k1i=1∑kmaxj̸=i(dcen(ui,uj)avg(Ci)+avg(Cj))。

DB指数的值越小,说明聚类效果越好。这是因为DB指数衡量的是不同簇之间的分离度和簇内的紧密程度之间的平衡,当DB指数越小,说明聚类效果越好。

  • 缺点

DB指数对于异常值比较敏感,因为异常值可能会影响簇内样本点的平均距离的计算。

此外,DB指数也可能会受到样本规模的影响,因为样本规模的增加可能会增加计算量,从而影响聚类效果的评价。

DB指数在计算过程中需要知道真实标签信息,因此常常被用作无监督聚类算法的评价指标,在比较不同算法或不同参数设置时提供了重要的帮助。


4 K-Means聚类算法的实现

K-Means聚类算法的基本原理是,针对聚类簇划分,最小化平方误差。平方误差在一定程度上描述了簇内样本点围绕簇均值向量的紧密程度,它的值越小说明聚类效果越好。

4.1 算法流程

  • 从数据中选择K个对象作为初始聚类中心
  • 计算每个聚类对象到聚类中心的距离,将每个对象归到距离最近的聚类中心所对应的类别
  • 对于每个聚类,计算其所有数据点的均值,作为新的聚类中心
  • 如果聚类中心发生变化,返回第2步;否则算法结束。
  • 整个算法会反复迭代第2步至第4步,直到聚类中心不再发生变化或达到最大迭代次数为止。最终,算法将会得到聚类结果,将每个数据点划分到不同的聚类中心所对应的类别中。

4.2 算法的伪代码描述

K-Means聚类算法的执行效果如下图所示:

4.3 算法优缺点

  • 优点
    首先,此算法容易理解、方便实现,其次,K均值算法可以看作高斯混合聚类在混合成分方差相等、且每个样本仅派给一个混合成分时的特例,所以该算法在数据集近似高斯分布时,聚类效果不错。同时,该算法可以处理大规模数据集,效率高。
  • 缺点
    但是,缺点也很显然。K值和初始聚类点的选取对于聚类的效果可能产生较大的影响,其次,样本点的离散程度可能对于聚类影响有较大的差别,特别是离群点的处理问题。由于K-Means聚类算法只能使用欧氏距离进行计算,所以只能较好的适用于椭球形类簇,对于非凸形状的簇不适合。K-Means算法只能处理数值型数据,对于非数值型数据需要进行转换才能使用。最后,由于此算法的时间复杂度为O ( n k t ) O(nkt)O(nkt),所以在大规模数据上收敛较慢甚至引起崩溃。
相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
6月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
|
7月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
302 6
|
9月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
9月前
|
人工智能 编解码 算法
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
使用 PAI-DSW x Free Prompt Editing图像编辑算法,开发个人AIGC绘图小助理
215 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
523 14
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
497 1
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)

热门文章

最新文章

下一篇
oss云网关配置