K-Means聚类算法原理是怎么样的?

2024-05-15

1. K-Means聚类算法原理是怎么样的?

一,K-Means聚类算法原理
        k-means 算法接受参数 k 
;然后将事先输入的n个数据对象划分为 
k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对
象”(引力中心)来进行计算的。
  K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
  假设要把样本集分为c个类别,算法描述如下:
  (1)适当选择c个类的初始中心;
  (2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;
  (3)利用均值等方法更新该类的中心值;
  (4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。
  该算法的最大优势在于简洁和快速。算法的关键在于初始中心的选择和距离公式。

K-Means聚类算法原理是怎么样的?

2. k-means算法是聚类算法还是分类算法

一,k-means聚类算法原理
k-means
算法接受参数
k
;然后将事先输入的n个数据对象划分为
k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小.聚类相似度是利用各聚类中对象的均值所获得一个“中心对
象”(引力中心)来进行计算的.
  k-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一.k-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类.通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果.
  假设要把样本集分为c个类别,算法描述如下:
  (1)适当选择c个类的初始中心;
  (2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;
  (3)利用均值等方法更新该类的中心值;
  (4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代.
  该算法的最大优势在于简洁和快速.算法的关键在于初始中心的选择和距离公式.

3. 关于k-means算法的聚类分析


关于k-means算法的聚类分析

4. k mean聚类算法可以干什么

一,K-Means聚类算法原理
k-means 算法接受参数 k 
;然后将事先输入的n个数据对象划分为 
k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对
象”(引力中心)来进行计算的。
K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
假设要把样本集分为c个类别,算法描述如下:
(1)适当选择c个类的初始中心;
(2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;
(3)利用均值等方法更新该类的中心值;
(4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。
该算法的最大优势在于简洁和快速。算法的关键在于初始中心的选择和距离公式。

5. K-Means 聚类原理

K-Means 是聚类算法中的最常用的一种,算法最大的特点是简单,好理解,运算速度快,但是只能应用于连续型的数据,并且一定要在聚类前需要手工指定要分成几类。
  
 假设有一些点分散在直线上,现在需要对这些点进行聚类分析。
                                          
 第一步,想一下我们希望最终将这些点聚为多少类?
  
 假设我们希望聚为3类
  
 第二步,在这些点中随机选择3个点,作为初始簇(initial cluster)
                                          
 第三步,计算第一个点f分别到这3个initial cluster的距离
                                          
 第四步,将第一个点归属为距离最近的那个cluster
                                          
 重复第三/四步
                                          
 一一判断所有点的归属
                                          
 第五步,计算每一个cluster的均值
                                          
 然后像之前一样,通过计算每个点到这些均值的距离,重新判断每个点归属于哪个cluster
                                          
 判断完每个点的归属之后,重新计算均值……判断归属……计算均值……判断归属……直到聚出来的cluster不再变化
                                          
 很明显,上面的聚类效果很差,还不如我们肉眼聚类出来的效果。是否有办法判断不同聚类结果的好坏呢?
                                          
 第一步,计算每一个cluster的总变差(total variation)
                                          
 第二步,重新选择3个initial cluster,并且多次迭代判断cluster,计算total variation
                                          
 第三步,多次重复上一步的内容,选择total variation最小的聚类结果
                                          
 在本文的案例中,我们通过肉眼可以判断出K选择3比较好。但是如果我们自己无法判断时,如何处理?
  
 一种方法是直接尝试不同的K值进行聚类
  
 K=1是最差的一种结果,total variation此时最大
                                          
 K=2的效果会稍微好些
                                          
 随着K值增大,total variation也逐渐减小;当K=N(样本数)时,total variation降至0。
  
 绘制total variation随K值变化的elbow plot
                                          
 可以看出,K>3时,variation的降低速率明显降低。所以K=3是较好的选择。
  
 二维平面上的点,可以通过欧式距离来判断聚类
                                          
 然后同之前一般,计算平面上同一cluster的中心,重新判断点的归属,寻找中心……判断归属……
                                          
 对于热图相关数据,也可以通过欧式距离来判断样本的聚类
                                          
  https://blog.csdn.net/huangfei711/article/details/78480078 
  
  https://www.biaodianfu.com/k-means-choose-k.html 
  
  https://www.youtube.com/watch?v=4b5d3muPQmA&feature=youtu.be

K-Means 聚类原理

6. 哪些因素影响k-means算法聚类性能

K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。
k个初始类聚类中心点的选取对聚类结果具有较大的
公式
影响,因为在该算法第一步中是随机的选取任意k个对象作为初始聚类的中心,初始地代表一个簇。该算法在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离将每个对象重新赋给最近的簇。当考察完所有数据对象后,一次迭代运算完成,新的聚类中心被计算出来。如果在一次迭代前后,J的值没有发生变化,说明算法已经收敛。
算法过程如下:
1)从N个文档随机选取K个文档作为质心
2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类
3)重新计算已经得到的各个类的质心
4)迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束
具体如下:
输入:k, data[n];
(1) 选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1];
(2) 对于data[0]….data[n],分别与c[0]…c[k-1]比较,假定与c[i]差值最少,就标记为i;
(3) 对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数;
(4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值。
工作原理
K-MEANS算法的工作原理及流程
K-MEANS算法

输入:聚类个数k,以及包含 n个数据对象的数据库。
输出:满足方差最小标准的k个聚类。
处理流程
(1) 从 n个数据对象任意选择 k 个对象作为初始聚类中心;
(2) 根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分;
(3) 重新计算每个(有变化)聚类的均值(中心对象)
(4) 循环(2)到(3)直到每个聚类不再发生变化为止
k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
工作过程k-means 算法的工作过程
说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然 后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数。k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

7. kmeans聚类算法是什么?

K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。
聚类属于无监督学习,以往的回归、朴素贝叶斯、SVM等都是有类别标签y的,也就是说样例中已经给出了样例的分类。而聚类的样本中却没有给定y,只有特征x,比如假设宇宙中的星星可以表示成三维空间中的点集。
扩展资料:
k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。
(1)适当选择c个类的初始中心;
(2)在第k次迭代中,对任意一个样本,求其到c个中心的距离,将该样本归到距离最短的中心所在的类;
(3)利用均值等方法更新该类的中心值;
(4)对于所有的c个聚类中心,如果利用(2)(3)的迭代法更新后,值保持不变,则迭代结束,否则继续迭代。
参考资料来源:百度百科-K均值聚类算法

kmeans聚类算法是什么?

8. 国外K-means聚类算法的研究现状

国外K-means聚类算法的研究现状
您好亲, k-means 算法属于聚类分析方法中一种基本的且应用最广泛的划分算法,它是一种已知聚类类别数的聚类算法。指定类别数为k,对样本集合进行聚类,聚类的结果由k 个聚类中心来表达,基于给定的聚类目标函数(或者说是聚类效果判别准则),算法采用迭代更新的方法,每一次迭代过程都是向目标函数值减小的方向进行,最终的聚类结果使目标函数值取得极小值,达到较优的聚类效果。
使用平均误差准则函数e作为聚类结果好坏的衡量标准之一,保证了算法运行结果的可靠性和有效性。希望可以帮到您哦。【摘要】
国外K-means聚类算法的研究现状【提问】
国外K-means聚类算法的研究现状
您好亲, k-means 算法属于聚类分析方法中一种基本的且应用最广泛的划分算法,它是一种已知聚类类别数的聚类算法。指定类别数为k,对样本集合进行聚类,聚类的结果由k 个聚类中心来表达,基于给定的聚类目标函数(或者说是聚类效果判别准则),算法采用迭代更新的方法,每一次迭代过程都是向目标函数值减小的方向进行,最终的聚类结果使目标函数值取得极小值,达到较优的聚类效果。
使用平均误差准则函数e作为聚类结果好坏的衡量标准之一,保证了算法运行结果的可靠性和有效性。希望可以帮到您哦。【回答】
有没有国外的相关参考文献【提问】
有没有国外的相关参考文献
您好亲,自己去sciencedirect,springerlink等外文数据库下载啊或者到知网,维普等中文数据库下载很多的,校园网内免费获取校园网外可以利用google学术搜索,有部分能免费下载仅供参考~
 
希望可以帮到您哦。【回答】