课堂笔记-文本挖掘-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,我们可以利用多个距离中心最近的的文档的标题。
- 课堂笔记-文本挖掘-CM2-聚类
- 课堂笔记-文本挖掘-CM1
- 文本挖掘技术笔记
- 文本挖掘笔记
- 文本分析挖掘笔记
- 文本挖掘 入门笔记1
- 数据挖掘笔记-文本情感简单判断
- 数据挖掘笔记-文本情感简单判断
- 文本挖掘与分析课程笔记_Week1
- 文本挖掘
- 文本挖掘
- 文本挖掘
- 文本挖掘
- 文本挖掘
- 文本挖掘
- 文本挖掘
- 文本挖掘
- 文本挖掘
- 国庆长假学习收获
- hdoj 6213 Chinese Zodiac
- C++ MFC / VS2013 之十(对话框:非模态对话框的创建及显示)
- Java I/O操作
- 九度OJ题目1002:Grading
- 课堂笔记-文本挖掘-CM2-聚类
- 【数据结构】Splay学习笔记
- MongoDB:0-简介
- 2017年10月07日普及组 单元格
- Codeforces 2A. Winner
- Android SharedPreference
- SpringMVC启动过程详解
- 《算-入》第三章
- 设计模式-结构型-代理