zoukankan      html  css  js  c++  java
  • 聚类

     
    1.聚类定义: 聚类算法将一系列文档聚团成多个子集或簇(cluster),其目标是建立类内紧密、类间分散的多个簇。换句话说,聚类的结果要求簇内的文档之间要尽可能相似,而簇间的文档之间则要尽可能不相似。 
         聚类是无监督学习(unsupervised learning)的一种最普遍的形式。无监督也意味着不存在对文档进行类别标注的人类专家。聚类中,数据的分布和组成结构决定最后的类别归属。
           聚类算法的一个关键输入是距离计算方法。计算距离时采用的是二维平面上的距离计算方法。基于这种距离计算方法在图中得出了三个不同的簇。在文档聚类当中,距离计算方法往往采用欧氏距离。不同的距离计算方法会导致不同的聚类效果。因此,距离的计算方法是影响聚类结果的一个重要因素。
     
           扁平聚类(flat clustering)算法会给出一系列扁平结构的簇,它们之间没有任何显式的结构来表明彼此的关联性。而层次聚类(hierarchical clustering)算法则会产生层次性的聚类结果。 
           了解硬聚类和软聚类之间的差别也相当重要。硬聚类(hard clustering)计算的是一个硬分配(hard ssignment)过程,即每篇文档仅仅属于一个簇。而软聚类(soft clustering)算法的分配过程是软的,即一篇文档的分配结果是在所有簇上的一个分布。在软分配结果中,一篇文档可能对多个簇都具有隶属度。 
     
    聚类假设(clustering hypothesis)给出了将聚类应用于 IR 时的基本假设。
    聚类假设:在考虑文档和信息需求之间的相关性时,同一簇中的文档表现互相类似。
    聚类假设所表达的是,如果簇中某篇文档和查询需求相关,那么同一簇中的其他文档也和
    查询需求相关。这是因为聚类算法将那些共有很多词项的文档聚在一起。聚类假设实质上就是
    第 14 章的邻近假设。两种情况下,我们都认为内容相似的文档在相关性上的表现也相似。 
     
    2.扁平聚类: 

     

    聚类的势─ 簇的数目:
    聚类算法中的一个难点是如何确定簇的数目或者说聚类的势(cardinality),这个数目记为K。通常 只不过是基于经验或领域知识的一个良好的猜测结果。但是,在 K-均值算法中,我们将引入一个选择 值的启发式方法,并将 的选择融入到目标函数当中。

    3.层次聚类(hierarchical clusteringhierarchic clustering)则会输出一个具有层次结构的簇集合,因此能够比扁平聚类输出的无结构簇集合提供更丰富的信息。层次聚类不需要事先指定簇的数目,并且大部分用于IR中的层次聚类算法都是确定性算法。当然,层次聚类在获得这些好处的同时,其代价就是效率降低。最普遍的层次聚类算法的时间复杂度至少是文档数目的平方级,而前面提到的K-均值算法和EM算法(参考 16.4 节)的时间复杂度都是线性的。  

      
     
     
    三年程序员,专注语音文本分析、大数据挖掘、预训练模型及知识图谱相关技术的探索
  • 相关阅读:
    如何利用书签向word文档读取或写入数据[C#](
    一个较为完整的例子,还可以,简单一些的
    GridView的RowDataBound事件可做的一些事情
    ASP.NET中DataGrid和DataList控件用法比较
    GridView中绑定数据字段时可做的几种操作方法
    GridView中如何取得隐藏列的值
    一些常用的算法技巧总结
    位运算装逼指南
    小胖求学系列之文档生成利器(上)smartdoc
    系统监控之硬盘使用率
  • 原文地址:https://www.cnblogs.com/jetHu/p/8503838.html
Copyright © 2011-2022 走看看