K均值算法

K均值算法

K均值算法是一种聚类算法,把样本分配到离它最近的类中心所属的类,类中心由属于这个类的所有样本确定。

k均值算法是一种无监督的聚类算法。算法将每个样本分配到离它最近的那个类中心所代表的类,而类中心的确定又依赖于样本的分配方案。

在实现时,先随机初始化每个类的类中心,然后计算样本与每个类的中心的距离,将其分配到最近的那个类,然后根据这种分配方案重新计算每个类的中心。这也是一种分阶段优化的策略。

与k近邻算法一样,这里也依赖于样本之间的距离,因此需要定义距离的计算方式,最常用的是欧氏距离,也可以采用其他距离定义。算法在实现时要考虑下面几个问题:

1.类中心向量的初始化。一般采用随机初始化。最简单的是Forgy算法,它从样本集中随机选择k个样本作为初始类中心。第二种方案是随机划分,它将所有样本随机的分配给k个类中的一个,然后按照这种分配方案计算各个类的类中心向量。

2.参数k的设定。可以根据先验知识人工指定一个值,或者由算法自己确定。

3.迭代终止的判定规则。一般做法是计算本次迭代后的类中心和上一次迭代时的类中心之间的距离,如果小于指定阈值,则算法终止。

(0)

相关推荐

  • K-means聚类:原理简单的聚类算法

    对于监督学习而言,回归和分类是两类基本应用场景:对于非监督学习而言,则是聚类和降维.K-means属于聚类算法的一种,通过迭代将样本分为K个互不重叠的子集. 对于K-means聚类而言,首先要确定的第 ...

  • 这篇文章把数据讲透了(四):数据挖掘

    编辑导读:随着"数智化"时代的到来,我们生活中的方方面面都离不开数据,而你真的了解数据吗?本文将为你重新解读数据的概念和价值,以及数据的价值是如何在"数智化"时 ...

  • SAS用K-Means 聚类最优k值的选取和分析

    原文链接:http://tecdat.cn/?p=17808 什么是聚类? "聚类是将数据集分为几组的过程,其中包括相似的数据点".聚类是一种无监督的机器学习,在您拥有未标记的数据 ...

  • 一句话总结K均值算法

    一句话总结K均值算法 核心:把样本分配到离它最近的类中心所属的类,类中心由属于这个类的所有样本确定. k均值算法是一种无监督的聚类算法.算法将每个样本分配到离它最近的那个类中心所代表的类,而类中心的确 ...

  • 第120天:机器学习算法之 K 均值聚类

    本文我们来学习一下另一种经常听到的机器学习算法-- K 均值聚类. 这个名字确实跟"K 近邻"有些相像,但是要明确的是,"K 近邻"中的"K" ...

  • R语言非参数方法:使用核回归平滑估计和K-NN(K近邻算法)分类预测心脏病数据

    原文链接:http://tecdat.cn/?p=22181 本文考虑一下基于核方法进行分类预测.注意,在这里,我们不使用标准逻辑回归,它是参数模型. 非参数方法 用于函数估计的非参数方法大致上有三种 ...

  • JASP做K均值聚类提供的肘部图是个亮点

    K均值聚类要求事先给出聚类个数K,或你需要对K有一定的认知.SPSS操作时允许用户直接指定K,但是没有配套的可视化图形辅助判断聚类是否合适. JASP提供了肘部图,有助于我们理解聚类个数K. 以著名的 ...

  • 基于拉普拉斯约束的半监督模糊C均值算法

    基于拉普拉斯约束的半监督模糊C均值算法 近年来,聚类分析在模式识别.图像处理和数据挖掘中得到了广泛的应用.它试图将数据集划分为不同的组,使得同一集群中的数据点具有较高的相似性,而不同集群中的数据点具有 ...

  • K近邻算法(KNN)原理小结

    目录 1. KNN算法原理 2. KNN算法三要素 3. KNN算法之暴力实现原理 4. KNN算法之KD树实现原理 5. KNN算法之训练样本不平衡情况 6. 算法优缺点 1. KNN算法原理 KN ...

  • R机器学习:分类算法之K最邻进算法(KNN)的原理与实现

    从今天开始给大家写机器学习算法,这个东西并不是大多数人想象的那么高深,也不是说编程的人,搞计算机的人才能学习使用,医学领域.社会科学领域的研究越来越多运用机器学习的,在我的理解中每个人都应该掌握基本的 ...

  • 第117天:机器学习算法之 K 近邻

    所谓"K 近邻(K-nearest neighbor,K-NN)",顾名思义,指的是"K 个最近的邻居",属于一种监督学习的方法. 1. 工作原理 简单地介绍一 ...

  • ML之kNN:k最近邻kNN算法的简介、应用、经典案例之详细攻略

    ML之kNN:k最近邻kNN算法的简介.应用.经典案例之详细攻略kNN算法的简介邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓 ...