zoukankan      html  css  js  c++  java
  • 机器学习算法之Kmeans算法(K均值算法)

    Kmeans算法(K均值算法)

    KMeans算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。

    如何定义两个样本的相似:

    两个样本在欧式空间中的距离

    引入新概念:

    Cluster: 表示一个簇
    centroid: 表示当前簇的中心

    算法步骤 :

    1.随机从数据集中选取k个样本当做centroid
    2.对于数据集中的每个点,计算它距离每个centroid的距离,并把它归为距离最近打那个cluster
    3.更新新的centroid位置
    4.重复2和2,直到centroid的位置不再改变

    KMEANS 的优缺点

    Pros:

    1. 非监督类的算法不需要样本的标注信息
    

    CONS:

    1. 不能利用到数据的标注信息,意味着模型的性能不如其他监督学习
    2. 对于K的取值,也就是你认为数据集中的样本应该分为几类,这个参数的设置极为敏感!
    不同的K值,导致完全不同的分类结果!
    3. 对于数据集本身样本的分布也很敏感
    

    和KNN的区别:

    KNN:

      1.只关注待测样本的局部分布
      2.K:K个最近邻 
      3.监督类模型
    

    KMeans:

      1.关注样本的全局分布
      2.k:K个簇
  • 相关阅读:
    uva 1605 building for UN ——yhx
    uva 120 stacks of flapjacks ——yhx
    uva133-S.B.S.
    Uva10082 WERTYU -S.B.S.
    Quicksum-S.B.S.
    NOIP2014提高组 DAY1 -SilverN
    NOIP2013普及组 -SilverN
    uva 1354 Mobile Computing ——yhx
    UVa 11292 Dragon of Loowater
    UVa 839 Not so Mobile
  • 原文地址:https://www.cnblogs.com/virtualman/p/14381818.html
Copyright © 2011-2022 走看看