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聚类算法


  • 相关阅读:
    博客园背景页面动态特效
    windows7 VirtualBox 安装docker异常:looks like something went wrong in step ‘looking for vboxmanage.exe’
    VUE 封装axios 接口
    实时显示系统当前时间时间
    Git 命令执行
    从模型训练中认知拟合现象
    ModernRNN
    Fundamentals of Recurrent Neural Network
    Language Model & Data Sampling
    Text Preprocessing
  • 原文地址:https://www.cnblogs.com/engineerLF/p/5392977.html
Copyright © 2011-2022 走看看