课堂笔记-文本挖掘-CM2-聚类

来源:互联网 发布:linux 虚拟化软件 编辑:程序博客网 时间:2024/06/15 18:48

课从Solen Quiniou

一、介绍

1.分类(catégorisation,en. classification)文本依赖于监督式学习

·定义分类类别

·学习数据通过分类类别人工标记

2.聚类(clustering)文本依赖于非监督式学习

·簇由无标签数据建立

3.分类文本例子

·垃圾邮件自动检测

·识别文本语言(多语言文档)

·检测文档类型如经济、运动、新闻等

·检测电影评论情感

4.聚类文本例子

·聚类信息检索系统(RI)的搜索结果,以更有效地向用户呈现。

·向用户呈现不同的切割或组装的文档

·聚类信息检索系统(RI)的搜索结果,以便用户可以更有效探索结果

5.文本聚类形式

·聚类的目的是将相似的文本聚在一起,将不相似的文本分开

-聚类的重要概念是使用相似性度量

·度量相似度

-一般来说,相似度度量是用余弦距离

-相似度度量

簇中心,也就是簇内的向量平均

簇方法,也就是离中心最近的元素

-将簇分配给新文档,文档和每个簇都可以使用不同组合的相似度

6.选择聚类数

·簇的数量基于数据以适当方式选取

-需要避免某些簇太大和某些簇太小

·首先,簇的数量K是已知的

有很多方法可以优化簇的数量K,例如用不同的K建立多个学习分类,选择结果最好的集合。

7.聚类类型:平级或者分级?

·在平级聚类中,我们用随机分区文档初始化聚类

·然后,这些簇以迭代的方式细分

·在分级聚类(hierarchical clustering),我们建立一个分级聚类:

-相似的文档组成一个簇,等级较低

-相似度低的文档在簇中等级较高

·有两种方法建立分级

-凝聚(agglomérative, en. bottom-up):在每一步中,我们尝试将两个簇组成一个大簇

初始化时,每个文档独立成一个簇

-分开(divisive,en. top-down):在每一步中,我们尝试把一个簇分成两个

初始化时,所有文档成一个簇

8.簇分配类型:严格还是模糊?

·如同分类文本,聚类同样可以给簇严格或者模糊分配类型

·在严格分配中(assignation stricte,en.hard clustering),每个文档只来源于一个簇

这是一种最简单和最平常的做法

·在模糊分配中(assignation floue, en.soft clustering),每个文档可以属于多个簇

这种类型的分配多用于分级聚类

9.K-means

·用K-means聚类是平级聚类算法,用严格分配类型

-这种类型的聚类是最常见

·每个中心表示一个簇

-聚类的目的是找到簇的分区,以迭代的方式,最小化簇中心文档的平均差异的平方

·K-means算法

-初始化选择K个中心初始化K个簇,以随机的方式;这些是种子(seeds)

-重新分配每个文档在簇的位置,最接近簇中心的为一类

-计算簇的向量平均以重新定义簇中心

重复第2、3步直到收敛

10.聚类层次

·hierarchical agglomerative clustering 用树建立一个簇的等级

·分级聚类算法

-初始化簇,一个文档代表一个簇

-将两个相似的簇组合一起

重复第二步直到只有一个簇

·分组形成一个二叉树名为dendrogram

·有四种方法测量簇之间相似度

11.dendrogram 例子


·这些簇来源于News Stories de Reuters RCV1

·dendrogram可以为了形成一个平级聚类切割成一个特别的点

12.4种簇间相似度


13.简单的线性相似

·简单线性相似(single link)在两个簇Ci 和 Cj 对应于一个Ci中的文档和一个Cj中的文档的最大相似度,也就是来自这两个不同簇的文档相似度最强的

·重组两个簇在同一簇中之后,和另一个簇Ck的相似度也如此计算

14.复杂的线性相似

·辅助线性相似(complete link)在两个簇Ci 和 Cj 对应于一个Ci中的文档和一个Cj中的文档的最小相似度,也就是来自这两个不同簇的文档相似度最弱的

·重组两个簇在同一簇中之后,和另一个簇Ck的相似度也如此计算

15.中心相似

·中心相似(centroid similarity)在两个簇Ci 和 Cj 对应于一个Ci中的文档和一个Cj中的文档的平均相似度,也就是来自两个不同簇中的文档的平均相似度

·这重新回到计算两个中心的相似度:


-是簇Ci中心的向量平均

-我们计算两个中心向量的数量积而不是余弦相似度

16.线性相似度平均

·线性相似度平均(average link similarity) 对于两个簇Ci 和 Cj对应于一对文档的相似度平均,也就是说属于不同集群的一对文档之间的平均相似度,也属于同一集群的文档中的平均相似度。

·计算如下


-表示簇Ci的向量和

-Ni表示簇Ci中的文档数

-我们计算两个中心向量的数量积而不是余弦相似度

17.其余的聚类方法

·存在着其他的计算方法,这里介绍其一

·二分k均值算法(bisecting K-means)

-二分k均值算法是一种分级二分聚类

这个算法不是决定性的,不能保证得到一个完整的分级

-二分K均值算法

-初始化将所有的文档组合到一个簇里面

-簇已经建立后,用K-means算法将原本的簇分成两个新的簇(例如可以选择最大的簇)

重复第二步直到需要数量的簇

18.聚类评估测量-纯度

·簇Ci的纯度(purity)计算簇的主导类与簇的大小之间的比例:


-Ni对应于簇Ci的文档数量

-Nij 对应 簇Ci的类j的文档数量

·例子


19.聚类评估测量-随机索引

·随机索引测量正确的决定组所占比例,在一对文档中


-TP,TN,FP和FN对应对的true positif,true negatif,false positif,true negatif在一组簇中

·例子:


20.聚类方法对比

·平级聚类(k-means)提供最好的结果

·二分K均值算法也有一个好的效果(比HAC更好)

·为了得到更好的决定性结果,我们使用分级聚类

-为了计算簇间相似度,线性平均相似度可以得到更好的结果(对链接问题和异常值的不敏感)

这个测量只能在矢量表示空间的情况

-为了计算在其他空间表示的簇的相似度,复杂线性相似度比简单线性相似度更好

·这种类型的聚类可以同样使用是当k变量未知的时候

21.簇的标签

·当簇建立后,一般对于它们的标签分配同样感兴趣

-比如,文档与美洲虎(jaguar)有关的情况下,第一个簇标签汽车(voiture),第二个簇标签动物(animal)

·标签判别

-为了标签一个簇Ci,我们与其他簇对比

我们寻求区别于其他簇的词组(term)(例如,使用特征选择方法)

·标签无判别

-为了标签一个簇Ci,我们只使用这个簇的信息

我们可以增加中心的权重,作为例子

相同的高频词语,也可以用在多个簇中

·利用标题标签

-为了标签簇Ci,我们可以利用多个距离中心最近的的文档的标题。

原创粉丝点击