K-Means 算法_1|学习笔记

简介: 快速学习 K-Means 算法_1

开发者学堂课程【高校精品课-华东师范大学-人工智能基础:K-Means 算法_1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/920/detail/15583


K-Means 算法_1

 

内容介绍:

一、聚类简介

二、算法的实现

 

一、聚类简介

有时得到的对象无标签及训练样本的标记信息是未知的。这时需要对无标记的训练样本进行学习。分析这类无标签数据需要使用非监督学习技术。

非监督学习可以揭示数据的内在性质或分布规律。为进一步的数据分析提供基础。我们一起来学习非监督学习的一种基本方法,聚类算法。这类 clustering 是指将不同的对象划分成由多个对象组成的多个类的过程。由聚类产生的数据分组。同一组里对象具有相似性。不同组的对象具有相异性。聚类中待划分的类别未知。即训练数据没有标签。

簇(cluster)是由距离邻近的对象组合而成的集合。聚类的最终目标是获得紧凑独立的簇集合,一般采用相似度作为聚类的依据。两个对象的距离越近,其相似度就越大。

由于聚类使用的数据是无标记的,因此聚类属于非监督学习。聚类本质上仍然是类别的划分问题。由于没有固定的类别标准,因此聚类的核心问题是如何定义簇,可以依据样本间距离、样本的空间分布密度等确定。按照簇的定义和聚类的方式,聚类大致可以分为以下几种。K-Means 为代表的簇中心聚类。基于连通性的层次聚类。以 EM 算法为代表的概率分布聚类。以 DBSCAN 为代表的基于网格密度的聚类。以及高斯混合聚类的。K-Means 聚类算法也称为K均值聚类算法是典型的聚类算法。

对于给定的数据集和需要划分的类数K。算法依据距离函数进行简单处理。动态的把数据划分成K个簇类别直到收敛位置。簇中心 cluster center 也称为聚类中心。K-Means 聚类的优点是算法简单,即使数据集很大,计算起来也便捷。不足之处是,如果数据集较大,容易获得局部最优的分类结果。而且所产生的类的大小相近。对造成数据也比较敏感。

 

二、算法的实现

算法的实现很简单,首先选取 K 个数据点作为初始的簇中心即聚类中心。初始的聚类中心也被称为种子。随后逐个计算各数据点到各聚类中心的距离。把数据点分配到离他最近的簇。一次迭代之后,所有的数据点都会分配给某个簇。再根据分类结果计算出新的聚类中心,并重新计算各数据点到各种子的距离。根据距离重新进行分配。不断重复计算和重新分配步骤,直到分配不再发生变化或满足终止条件。

算法设计如下:

随机选取 K 个数据点作为起始簇中心。

While 数据点的分配结果发生改变。对数据集中的每个数据点p。循环访问每个簇中心 C。计算 P 和 C的距离,把P分配到最近的簇。对于每个簇将簇中心更新为簇内数据点的均值。聚类是一个反复迭代的过程,理想的终止条件是簇的分配和各簇中心不再改变。

下面我们看聚类的流程演示

image.png

第一步随机选取 K 个样本作为初始聚类中心。

第二步通过距离函数计算每个样本到各个聚类中心的距离。将样本划分给最近的聚类中心。

 image.png

第三步重新计算每个聚类的均值。获取新的聚类中心。

 image.png

第四步重新将所有样本分配到最近的聚类中心。重复三到四步,直到聚类中心和划分方式不再变化,程序停止。

相关文章
|
4月前
|
数据采集 机器学习/深度学习 算法
|
4月前
|
数据采集 机器学习/深度学习 算法
【优秀设计案例】基于K-Means聚类算法的球员数据聚类分析设计与实现
本文通过K-Means聚类算法对NBA球员数据进行聚类分析,旨在揭示球员间的相似性和差异性,为球队管理、战术决策和球员评估提供数据支持,并通过特征工程和结果可视化深入理解球员表现和潜力。
144 1
【优秀设计案例】基于K-Means聚类算法的球员数据聚类分析设计与实现
|
4月前
|
数据采集 算法 数据可视化
基于Python的k-means聚类分析算法的实现与应用,可以用在电商评论、招聘信息等各个领域的文本聚类及指标聚类,效果很好
本文介绍了基于Python实现的k-means聚类分析算法,并通过微博考研话题的数据清洗、聚类数量评估、聚类分析实现与结果可视化等步骤,展示了该算法在文本聚类领域的应用效果。
114 1
|
4月前
|
数据采集 资源调度 算法
【数据挖掘】十大算法之K-Means K均值聚类算法
K-Means聚类算法的基本介绍,包括算法步骤、损失函数、优缺点分析以及如何优化和改进算法的方法,还提到了几种改进的K-Means算法,如K-Means++和ISODATA算法。
117 4
|
4月前
|
数据采集 算法 数据可视化
基于K-Means聚类算法对球员数据的聚类分析,可以自主寻找最优聚类数进行聚类
本文介绍了一个基于K-Means聚类算法的NBA球员数据分析项目,该项目通过采集和分析球员的得分、篮板、助攻等统计数据,使用轮廓系数法和拐点法确定最优聚类数,将球员分为不同群组,并提供了一个可视化界面以便直观比较不同群组的球员表现。
基于K-Means聚类算法对球员数据的聚类分析,可以自主寻找最优聚类数进行聚类
|
5月前
|
机器学习/深度学习 算法 数据挖掘
基于改进K-means的网络数据聚类算法matlab仿真
**摘要:** K-means聚类算法分析,利用MATLAB2022a进行实现。算法基于最小化误差平方和,优点在于简单快速,适合大数据集,但易受初始值影响。文中探讨了该依赖性并通过实验展示了随机初始值对结果的敏感性。针对传统算法的局限,提出改进版解决孤点影响和K值选择问题。代码中遍历不同K值,计算距离代价,寻找最优聚类数。最终应用改进后的K-means进行聚类分析。
|
4月前
|
算法 数据可视化 搜索推荐
基于python的k-means聚类分析算法,对文本、数据等进行聚类,有轮廓系数和手肘法检验
本文详细介绍了基于Python实现的k-means聚类分析算法,包括数据准备、预处理、标准化、聚类数目确定、聚类分析、降维可视化以及结果输出的完整流程,并应用该算法对文本数据进行聚类分析,展示了轮廓系数法和手肘法检验确定最佳聚类数目的方法。
107 0
|
5月前
|
机器学习/深度学习 运维 算法
「AIGC算法」K-means聚类模型
**K-means聚类模型概览:** - 是无监督学习算法,用于数据集自动分组。 - 算法步骤:初始化质心,分配数据点,更新质心,迭代直至收敛。 - 关键点包括K的选择、初始化方法、收敛性和性能度量。 - 优点是简单快速,适合大样本,但对初始点敏感,需预设K值,且仅适于球形簇。 - 应用场景包括图像分割、市场分析、异常检测等。 - 示例展示了使用scikit-learn对Iris数据集和自定义CSV数据进行聚类。
62 0
「AIGC算法」K-means聚类模型
|
5月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类模型算法
K-means聚类模型算法
|
5月前
|
数据采集 算法 搜索推荐
Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析
Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析
185 0