|
1. 算法依据
- 将关联规则挖掘中的频繁项集概念引入文档聚类。
- 文档集中的每个簇(或主题)应共享较多的频繁项集,而不同的簇应共享较少的频繁项集。
2. 算法特点
- 降维
- 准确度高
- 簇数变成可选的输入参数
- 有意义的簇描述,便于浏览
3. 术语定义
- 全局频繁项集(global frequent itemset): 指在整个文档集中,在不小于某个最小比例的文档中一起出现的项的集合,这个最小比例也称最小全局支持度(minimum global support)。
- 全局频繁项(global frequent item): 属于某个全局频繁项集中的项。
- 全局频繁k项集(global frequent k-itemset): 包含k个项的全局频繁项集。
- 项集的全局支持度:包含该项集的文档百分比。
- 簇频繁(cluster frequent): 一个簇C中有不少于某个比例的文档包含某个全局频繁项时,该全局频繁项在簇C中是簇频繁的,这个最小比例也称最小簇支持度(minimum cluster support)。
4. 算法步骤
4.1 预处理
- 分词(word segmentation),去停用词(stop word removal),词根还原(stemming)
4.2 文档表示
- 将文档表示成文档-词频矩阵,为了简化,只使用TF值。
如下图所示,该示例文档集共12个文档,文档集的所有特征词数量为6。
4.3 挖掘全局频繁项集(设最小全局支持度为35%)
- 根据最小全局支持度挖掘所有的全局频繁项集(1-项集,2-项集......),如下图所示:
4.4 构造初始簇(constructing initial clusters)
- 为每个频繁项集构造一个初始簇,初始簇由包含了频繁项集中的所有项的文档构成。
- 由于一个文档可能包含了多个全局频繁项集,所以初始簇不是分离的。
- 下一步将去除重叠簇。
- 初始簇的一个属性是:在簇中的所有文档一定包含了定义该簇的全局频繁项集的所有频繁项。
- 设最小簇支持度为70%,计算每个初始簇的全局簇频繁项。即对于某个全局的频繁项来说,如果簇Ci中有不少于70%的文档包含了该全局频繁项,则它变成了该簇的簇频繁项。
- 计算时可参考Table3.1,下图中的红色部分为反例。图示如下:
4.5 分离簇(making clusters disjoint)
- 由于一个文档可能属于多个初始簇,这一步我们将为每一个文档确定一个最佳初始簇。假设
-
x表示 中的全局频繁项同时也是簇 中的簇频繁项。x' 表示 中的全局频繁项但不是 中的簇频繁项。n(x)和n(x')为文档 向量空间中的加权频率TF*IDF,为方便理解,本文仅用TF。
例如:为了找到文档med.6最合适的归属簇,我们需要计算它对每个包含med.6的初始簇的分值,计算结果如下:



由计算可知,有两个分值都是10.8,根据前面的原则,我们将文档med.6赋给初始簇 ,其它照做,得到的分离簇如下图所示。到此该算法的功能基本完成。
|