zoukankan      html  css  js  c++  java
  • 【聚类】 聚类之Kmeans基础

    一、相异度计算
     
     
        基于空间的距离
     
     
        1、欧几里得距离:
     
                
        2、曼哈顿距离:
        
                
        3、闵科夫斯基距离:
        
                
        
        (可见:欧氏距离和曼哈顿距离都是闵科夫斯基距离在P=1,2下的特例)
     
     
        标量规格化
     
        
        由于标量大小不一致导致对空间映射会同质化,所以需要对属性在[0,1]空间上映射,以来规格化。
     
        映射公式为:     (ai 是一个属性)
     
     
    二、二元变量
     
        
        二元变量就是只能取0、1 的变量。
     
        二元相异度计算公式: 取值不同的同位属性个数 所有属性个数
        
        例如:X={1,0,0,0,1,0,1,1},Y={0,0,0,1,1,1,1,1}。 二元相异度为 3/8
     
        非对称二元相异度计算公式:取值不同的同位属性个数 / 所有属性个数 - 值为0的同位属性个数 
     
        非对称二元相似度计算公式: 1 -  非对称二元相异度
     
        jaccard系数:非对称二元相似度
     
     
    三、分类变量
     
        
           是二元变量的扩展 只不过枚举种类个数为多个
     
            分类变量相异度计算公式:取值不同的同为属性个数 /  所有属性个数
     
     
    四、K均值聚类
     
            所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高。其中每个子集叫做一个簇。
     
     
        K-means聚类算法
     
           1、从D中随机取k个元素,作为k个簇的各自的中心。

          2、分别计算剩下的元素到k个簇中心的相异度,将这些元素分别划归到相异度最低的簇。

          3、根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。

          4、将D中全部元素按照新的中心重新聚类。

          5、重复第4步,直到聚类结果不再变化。

          6、将结果输出。

    五、MAHOUT中的分布式Kmeans算法实现

       稍后给出

  • 相关阅读:
    nginx的linux服务器内核参数调整【转】
    从运维角度来分析mysql数据库优化的一些关键点【转】
    10 个 MySQL 经典错误【转】
    keepalived的vip无法ping通【原创】
    MySQL数据库的锁详解【转】
    CGI,FastCGI,PHP-CGI与PHP-FPM区别详解【转】
    vim块编辑删除、插入、替换【转】
    Keepalived两节点出现双VIP情况及解决方法【原创】
    通过全备+relaylog同步恢复被drop的库或表【转】
    MySQL伪master+Binlog+同步【转】
  • 原文地址:https://www.cnblogs.com/lixusign/p/2550239.html
Copyright © 2011-2022 走看看