K-Means 算法性能评价|学习笔记

简介: 快速学习 K-Means 算法性能评价

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

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


K-Means 算法性能评价

 

聚类算法的技术标准和性能评价

聚类算法的流程是首先随机选取K个样本作为初始聚类中心。然后通过距离函数计算每个样本到各个聚类中心的距离。把样本划分给最近的聚类中心。

 image.png

接下来,重新计算新的聚类中心,并将所有样本重新分配到各聚类中心。聚类的结束条件通常是聚类中心和划分方式不再变化。

然而,有时聚类中心和划分方式比较难固定。很难在有限时间内达到最优分配方案,这时就需要手工设定聚类的结束条件。如聚类时间、迭代次数达到指定的误差范围的。从聚类目标的角度来看,可以用聚类平方和来体现聚类的效果。

聚类平方和是这样计算,公式中,假设数据集 X 包含 N 个数据点。需要划分到K个类。类中心用集合u表示,聚类后所有数据点到各自聚类中心的距离的平方和为聚类平方和用J表示,

image.png

距离的度量手段有很多种,如常用的欧式距离、曼哈顿距离等。

 image.png

例如图中这个簇,簇内的每个样本与簇中心求距离,并计算平方。关于距离的计算。不同维度的向量计算有各自的计算方式。

例如,一维空间样本数据直接做减法,二维空间可以使用样本间的欧氏距离的距离。如果是多维空间,这个距离可以用样本向量间的距离来计算。对于所有的簇,其中的每个样本都这样计算。最后将所得的距离的平方进行加和,这个总的加和就是J值。

聚类目标是使得J值最小化。也可以设定J值作为聚类结束的标准。例如,在某次迭代前后J值没有发生变化,这说明簇的分配不再发生变化,算法已经收敛。

相关文章
|
5月前
|
数据采集 机器学习/深度学习 算法
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
116 4
|
2月前
|
机器学习/深度学习 算法 数据挖掘
提高时钟置换算法的性能
【10月更文挑战第25天】通过上述一种或多种方法的综合应用,可以在不同程度上提高时钟置换算法的性能,使其更好地适应各种复杂的系统环境和应用场景,提高虚拟内存管理的效率和系统的整体性能。
126 62
|
5月前
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
117 1
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
65 1
|
2月前
|
机器学习/深度学习 算法 5G
基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真
基于MIMO系统的SDR-AltMin混合预编码算法通过结合半定松弛和交替最小化技术,优化大规模MIMO系统的预编码矩阵,提高信号质量。Matlab 2022a仿真结果显示,该算法能有效提升系统性能并降低计算复杂度。核心程序包括预编码和接收矩阵的设计,以及不同信噪比下的性能评估。
54 3
|
3月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
3月前
|
搜索推荐 Shell
解析排序算法:十大排序方法的工作原理与性能比较
解析排序算法:十大排序方法的工作原理与性能比较
89 9
|
3月前
|
缓存 分布式计算 监控
算法优化:提升程序性能的艺术
【10月更文挑战第20天】算法优化:提升程序性能的艺术
|
4月前
|
缓存 算法 数据处理
时间&空间复杂度,Python 算法的双重考验!如何优雅地平衡两者,打造极致性能?
在Python算法中,时间与空间复杂度的平衡至关重要。时间复杂度反映算法执行时间随输入规模的变化趋势,空间复杂度则关注额外存储空间的需求。优秀的算法需兼顾两者,如线性搜索时间复杂度为O(n),空间复杂度为O(1);二分查找在时间效率上显著提升至O(log n),空间复杂度保持为O(1);动态规划通过牺牲O(n)空间换取O(n)时间内的高效计算。实际应用中,需根据具体需求权衡,如实时数据处理重视时间效率,而嵌入式系统更关注空间节约。通过不断优化,我们能在Python中找到最佳平衡点,实现高性能程序。
81 3

热门文章

最新文章