文本挖掘理论(三)

# -*- coding: gbk -*-

'''

05 text clustering

===文本自动聚类技术===
仅靠事物间的相似性作为簇划分的准则

==文本聚类基本步骤==
	文档表示
	聚类算法
	可视化
	
==评价指标==
	准确率
	召回率
	F-Measure
	所有类的总体评价
	宏平均Macro
	微平均Micro
	
==聚类的准则函数==
	误差平方和准则(sum-of-squared-error criterion)
	
==聚类算法的评价==
	该算法是否能发现某些或所有的隐含模式
	
	好的聚类算法要产生高质量的簇,这个簇的特点是:
		高的簇内相似性
		低的簇间相似性
	
	聚类结果的好坏取决于:
		聚类算法采用的相似性评估方法
		该算法的具体实现
	
	一个好的聚类算法:
		可伸缩性
		能发现任意形状的簇
		参数输入的时候,尽量不需要特定的领域知识
		对输入数据对象的顺序不敏感
		能够处理噪声和异常
		能够处理不同类型的属性
		能处理高维数据
		能产生一个好的、满足用户指定约束的聚类结果
		结果是可解释的、可理解的和可用的
	
==聚类算法==
	
	文档间距离
		向量空间模型
	簇间距离
		最短距离法、最长距离法、重心法、簇平均法、离差平方和
	聚类方法
		划分方法:
			概述
			K-means:时间代价O(tkn)
						缺陷:
						要求用户必须事先给出要生成的簇的数目,选择初始划分的最佳方向、更新和停止准则
						难以处理大小很不相同的簇或具有凹状的簇
						算法只有在簇的平均值被定义的情况下才能使用,这不适涉及有分类属性的数据
						对噪音和异常点非常敏感
						方法速度快,但k要预先确定,种子选取难
			K-mediods(k-中心点):选用簇中位置最中心的对象――中心点作为参照点
								PAM(Partitioning Around Medoids围绕中心点划分):适用于小数据集
								CLARA:更擅长大数据集;准确性受到样本大小的限制;当样本偏移时,聚类的效果将不好
								CLARANS:A Clustering Algorithm based on Randomized Search
										更高效、更具伸缩性
		层次方法:
			自底向上的聚类(凝聚)
			自顶向下的聚类(分裂)
			
			凝聚层次聚类
			单连接算法(single-linkage)(最近邻Nearest Neighbor):
				两个簇之间的距离用从两个簇中抽取的每对样本的最小距离
				作为距离度量,一旦最近的两个簇的距离超过某个任意给定的阈值,算法就自动结束
				时间复杂度最少是O(n^2),无法撤销
			全连接算法:
			平均连接算法
			
			BIRCH:聚类特征和聚类特征树(CF树)
				用树状结构将对象进行层次划分
					CF-Tree in BIRCH:
						新数据项总是插入到树中与该数据距离最近的叶子中
						如果插入后使得该叶子的直径大于“类直径”,则把该叶子节点分裂
						两个约束:
							叶子节点中数据个数不超过“类直径”
							每个非叶子节点的子女个数不大于“分枝因子”
				其它算法对叶节点进行聚类
				聚类特征树可以动态构造,因此不要求所有数据读入内存,而可以在外存上逐个读入
				算法可以通过改变“类直径”修改特征树大小,控制其占内存容量。
				BIRCH优缺点:
					Scales linearly
					只能处理数值型数据,对数据的顺序敏感
			CURE:基于质心和基于代表对象方法之间的中间策略
			ROCK方法:适用于分类属性层次聚类算法
			Chameleon(变色龙):在层次聚类 中采用动态模型的层次聚类算法
		基于密度的方法:
			基于样本之间的距离的聚类方法只能发现球状的簇
			可用来过滤“噪声”孤立点数据,以发现任意形状的簇
			主要思想:
				只要临近区域的密度(样本的数目)超过某个阈值则继续聚类。即对于给定簇中的每个样本,在一个给定范围的区域中必须至少包含某个数目的样本。
			DBSCAN (KDD-96)-基于高密度连接区域的密度聚类方法
				不足和改进
			OPTICS
		基于网格的方法:
			主要思想
			CLIQUE(1998)
				主要步骤
				有效性和缺点
					自动地发现最高维的子空间,高密度聚类存在于这些子空间中
					对元组的输入顺序不敏感,无需假设任何规范的数据分布随输入数据的大小线形地扩展
					当数据的维数增加时具有良好的可伸缩性
					
					聚类结果的准确度较低
		在线聚类方法:
			后缀树
'''

你可能感兴趣的:(文本挖掘)