美文网首页K-Means
K-means,K-means++和KNN的比较

K-means,K-means++和KNN的比较

作者: 四喜汤圆 | 来源:发表于2017-12-21 16:51 被阅读0次

1. K-means

作用

把n个对象根据他们的属性分为K个聚类,使得

  • 同一个聚类中的对象相似度较高
  • 不同聚类中的对象相似度较小

算法过程

一开始是原始数据,杂乱无章,看起来都一样,没有label。

  1. 人为指定聚类个数,令K=2;
  2. 人为指定初始聚类中心(需要一定的先验知识):随机在坐标上选K(此处K=2)个点,作为聚类中心;
  3. 把每个数据样本划分到最近的中心点那一簇;
  4. 划分完后更新每个簇的中心(即把该簇的所有数据点的坐标加起来取平均值),得到新的簇中心后,再次进行操作3,就这样不断“划分——更新——划分——更新”,知道每个簇的中心不再移动为止。

注意

求簇中心的算法:
1. 使用每个点的坐标平均值
2. 
3. 
4. 

算法特点

  1. 聚类中心的个数K要事先给定,但在实际中这个K是非常难以估计的,很多时候事先并不知道该分几个类才合适。
  2. 需要人为地指定初始聚类中心,不同的初始聚类中心可能导致完全不同的聚类结果。(这个缺陷可以使用K-means++改进)。

2. K-means++

算法过程

  1. 从输入的数据点集合中随机选择一个点作为第一个聚类中心
  2. 对于数据集中的每一个点x,计算它与最近聚类中心(指已选择的聚类中心)的距离D(x)
  3. 选择一个新的数据点作为新的聚类中心,选择的原则是:D(x)较大的点,被选取作为聚类中心的概率较大
  4. 重复2和3直到K个聚类中心被选出来
  5. 利用这K个初始的聚类中心来运行标准的K-means算法。

注意

如何使D(x)较大的点,被选取作为聚类中心的概率较大
A:
1. 先从数据库中随机挑个随机点当“种子点”
2. 对每个未被选中的点:计算其和最近的“种子点”的距离D(x)保存在一个数组里,然后把这些距离加起来得到Sum(D(x))
3. 再取一个随机值,用权重的方式来取下一个“种子点”:
  1)先取一个能落在Sum(D(x))中的随机值Random
  2)对于未被选中的数据点,如果Random-=D(x)后,Random<=0,则将该数据点选做种子点
4. 重复2和3,直到K个聚类中心被选出来
5. 利用这K个聚类中心运行标准的K-means算法

算法特点

  1. 聚类中心的个数K要事先给定,但在实际中这个K是非常难以估计的,很多时候事先并不知道该分几个类才合适。
  2. 不需人为地指定初始聚类中心(是对K-means的改进)。

3. KNN

4. KNN和K-means比较

KNN K-means
分类算法 聚类算法
监督学习 无监督学习
喂给它的数据集是带label的数据 喂给它的数据集是无label的
没有明显的前期训练过程,属于memory-based learning 有明显的前期训练过程
K的含义:…… K是人工固定好的数字,假设数据集可以分为K个簇,由于是依靠人工定好,需要一点先验知识

参考文献

Kmeans(K均值)与Kmeans++和KNN(K近邻)算法比较

相关文章

  • K-means,K-means++和KNN的比较

    1. K-means 作用 把n个对象根据他们的属性分为K个聚类,使得 同一个聚类中的对象相似度较高 不同聚类中的...

  • K-means++算法

    K-means++简介 K-means++算法是K-means算法的改进版本,由David Arthur 和Ser...

  • Kmeans

    K-means与kNN虽然都是以k打头,但却是两类算法——kNN为监督学习中的分类算法,而k-means则是非监督...

  • 面试题目总结

    阿里机器学习面试的一些题目, 1.说一下KNN的过程(刚开始的时候和k-means搞混了。。。) KNN是k ne...

  • 7. K-means

    要说K-means跟KNN(K近邻)有什么区别,那就是: K-means是非监督学习,是clustering KN...

  • 机器学习之深入理解K-means、与KNN算法区别及其代码实现

    机器学习之深入理解K-means、与KNN算法区别及其代码实现

  • KNN和K-Means的区别

    KNN算法: 在距离空间中,如果一个样本最近的K个邻居里,邻居们绝大多数属于某个类别,那么这个样本就属于这个类别。...

  • Apriori、ID3、Naive_Bayes等(数据挖掘)

    Apriori算法 线性回归 UCI分类KNN 决策树 Naive_Bayes K-Means图像分割 Aprio...

  • 不同聚类算法的优缺点

    一,k-means均值聚类法: 它和KNN都具有计算简洁的优点,他们同样受聚类个数和初始分布的影响。它的思...

  • K-means与K-means++

    转载:https://www.cnblogs.com/wang2825/articles/8696830.html...

网友评论

    本文标题:K-means,K-means++和KNN的比较

    本文链接:https://www.haomeiwen.com/subject/ipyowxtx.html