K-means文档聚类初值选择方法

      k-means的本质在于通过多次迭代,达到逐步求精的目的。k-means算法具有线性的时间复杂度,因而更加适合像文档聚类这种运算时间开销较大的应用。但是该方法需要预先制定初始值,如聚类的初始种子点、聚类个数k、初始化分等。并且初始化分的好坏对最终聚类的质量有较大影响。选择初始聚类点一般有经验选择、随机选择、最小最大原则等方法,其中最小最大原则主要依据待聚类对象的相似情况选择初始聚点,从而克服了随机选择的盲目性,对经验知识的依赖也较小,本文对该方法进行了改进,提出了一种同时选择聚点和k值的方法,对比实验表明取得了较好的聚类效果。

       基于最小最大原则的聚点选择方法的基本原理是:假设要将样品分成k个类别,则首先使相距最远(余弦相似度最小)的两个样品Xi1 和Xi2 为前两个聚点,而其余聚点的选取则可以用递推公式表达。若已经选择了m个聚点(m<k),则第m+1个聚点选取的原则为:

           

     如果样本数目为N,可以考察前M个聚类点的深度,并根据深度最大值确定k值。M的取值应该足够大,以保证大于k值,但是也没有必要等于所有输入样本的个数。研究表明聚类的个数k一般小于样本个数的平方根,因此可以取M等于N1/2   的整数部分。


      具体过程描述如下:

      输入:N个待聚类的文档

      输出:初始聚点(种子文档)集合S(|S|=k)和k值

      1、初始化M等于N1/2  的整数部分,初始化聚点集合S、S1、S2;

      2、i=1;

      3、获取样本相似度矩阵,矩阵中保存任何两个文档之间的相似度

      4、选择其中相似度最小(距离最大)的两个样本作为初始聚点;

      5、i=i+1;

      6、if i>M,then exit;

      7、else

      8、For r=i to N-1   //对于每个其余的点

      9、max=0;

      10、for j=0; to i-1   //对于每个已经选出的聚点

             a)到先四度矩阵中检索文档r和文档j之间的相似度

             b)if sim(r,j)>max,then max=sim(r,j);

       11、End for

       12、将最大相似度max以及对应的文档索引r保存到集合S1中;

        13、End for

        14、到S1中检索所有的max值,并找到其中的最小值min,将min及对应的文档索引r保存到集合S2中;

        15、清空S1;

        16、 Goto 5;

        17、根据公式(4),计算S2中各聚点的深度depth;

         18、找到深度最大的点,将之前的聚点保存到集合S中作为初始聚点;

         19、算法结束。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值