zoukankan      html  css  js  c++  java
  • Kmeans

    1.基本思想

        聚类属于无监督学习,以往的回归、朴素贝叶斯、SVM等都是有类别标签y的,也就是说样例中已经给出了样例的分类。而聚类的样本中却没有给定y,只有特征x,比如假设宇宙中的星星可以表示成三维空间中的点集clip_image002[10]。聚类的目的是找到每个样本x潜在的类别y,并将同类别y的样本x放在一起。比如上面的星星,聚类后结果是一个个星团,星团里面的点相互距离比较近,星团间的星星距离就比较远了。

         在聚类问题中,给我们的训练样本是clip_image004,每个clip_image006,没有了y。

         K-means算法是将样本聚类成k个簇(cluster),具体算法描述如下:

    1、 随机选取k个聚类质心点(cluster centroids)为clip_image008[6]

    2、初始分类

             对于每一个样例i,计算其应该属于的类

                   clip_image009


    3、 重复下面过程直到收敛 {

                   重新分配:对于样例i,假设将其分给其它集合。判断集合时最小的代价情况,将样例i分   给新集合

                   质心重计算。对于每一个类j,重新计算该类的质心

                   clip_image010[6]

    }



    2.性能分析

            算法本质是面向非凸代价函数优化下的贪婪下降求解算法,仅仅能获得局部最优解。聚类思想比较简单明了,并且聚类效果也还算可以,算是一种简单高效应用广泛。隐含假设,数据呈高斯球分布。可以实现对数据进行白化操作用以获得较好的效果。但是数据存在非凸形状的聚类时,只要找到数据间合适的偏差度量方法,仍然可以保证算法收敛。

           (1)算法简单,但是计算量很大。

           (2)离群点的影响较大。

          (3)不恰当的初始聚类中心机器影响结果。其初始类数较难判断。

          (4)开源库较多。Weka,SAS中对应算法为FastClus.








    参考:

           1.K-means聚类算法


  • 相关阅读:
    进行代码复审训练
    源代码管理工具调查
    软工作业PSP与单元测试训练
    P18 第四题
    开学第一课
    进行代码复审训练
    源代码管理工具调查
    软工 任务2
    软工课后作业01 P18第四题
    课堂作业1--自我介绍
  • 原文地址:https://www.cnblogs.com/engineerLF/p/5392977.html
Copyright © 2011-2022 走看看