zoukankan      html  css  js  c++  java
  • mahout系列之---谱聚类

    1.构造亲和矩阵W
    2.构造度矩阵D
    3.拉普拉斯矩阵L

    4.计算L矩阵的第二小特征值(谱)对应的特征向量Fiedler 向量

    5.以Fiedler向量作为kmean聚类的初始中心,用kmeans聚类


    亲和矩阵 :W_ij=exp(-(d(s_i,s_j)/2o^2))             d(s_i,s_j)  = ||s_i,s_j||.    o 为事先设定的参数。

    度矩阵:D_ii  =sum(w_i) 

    规范相似矩阵:D^(-1/2)*W*D^(1/2) ,即:W(i,j)/(D(i,i))^1/2*(D(j,j))^1/2

    计算(D-W)*x=lamd*D*x  的第二小特征值



    Mahout 流程:

              

               亲和矩阵格式
               i,j,value
               AffinityMatrixInputJob 输出格式
               i  vector


               构造度矩阵(亲和矩阵,i行元素求和作为返回向量i列的值)
               MatrixDiagonalizeJob


         

              VectorCache 将向量存储在HDFS中
              VectorMatrixMultiplicationJob 向量矩阵相乘
             

              求矩阵的特征值:SSVDSolver  (分布式SVD),默认是DistributedLanczosSolver(兰索斯分解器)

             

             将U矩阵归一化

             UnitVectorizerJob.runJob(data, unitVectors);

                   UnitVectorizerJob 归一化矩阵
                 输入矩阵V,输入矩阵U
               v_ij = u_ij / sqrt(sum_j(u_ij * u_ij)


                   归一化后的U矩阵中i行的最大值作为特征向量的i列的值,以该向量作为种子生成初始中心。

             Kmeans 聚类,生成最终的簇。


           

            

          


  • 相关阅读:
    设计模式--22、状态模式
    设计模式--21、备忘录模式
    设计模式--20、迭代器模式
    关于分布式事务、两阶段提交协议、三阶提交协议
    分布式系统的一致性探讨
    分布式系统的BASE理论
    分布式系统的CAP理论
    Kafka集群环境搭建
    Elasticsearch插件head的安装(有坑)
    centos6 x64安装elasticsearch5.5.2启动报错
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205128.html
Copyright © 2011-2022 走看看