中文地址识别及标准化处理方法外文翻译资料

 2022-09-06 10:09

英语原文共 415 页,剩余内容已隐藏,支付完成后下载完整资料


  1. 评估并改进聚类质量

这一章包含

·检查聚类的输出

·评价聚类的质量

·改进聚类的质量

在上一章,我们看到了很多类型的聚类算法,如:k-均值,canopy,k-中心点,狄利克雷和隐式狄利克雷分析(LDA)。在处理一些特定的数据集时,它们表现的很好,但在面对其他的一些数据的时候,它们表现的很差。在每一项聚类工作完成之后随之而来的人们自然很关心的问题是“在处理这些数据的时候,这个算法表现得怎么样?”。

分析聚类的输出是一个重要的工作。它可以通过简单的命令行工具或者通过丰富的基于GUI的可视化来完成。一旦集群是可视化的,问题领域是可识别的,这些结果可以被形式化为质量度量,这些将会给出数字化的值来表明这些聚类到底有多好。在这一章,我们将讲述一些去检测、评估和改善我们的聚类算法的方法。

优化聚类问题通常包括创建一个定制的相似性的度量方法和选择一个好的算法。在对聚类质量评价方法中展现了距离度量方法变化的影响。首先,你要知道聚类长什么样子、在每个代表性的中心区域有什么特征。你也要知道去看到在不同聚类中数据点级的分布特征。你绝不希望在所有的k-1聚类中有一个点而其他的点集中其他的聚集中的情形中结束你的工作。

一旦你懂得了什么是聚类,你就可以关注与在哪里你可以改进聚类算法。这意味着你需要知道如何调整输入的向量的质量、测量的距离和算法的各种参数。

通过看这些有助于你学习检测聚类输出的工具和技术,让我们开始我们的学习之旅。

10.1 检测集群的输出

在Mahout中检测聚类输出的主要工具是Cluster—Dumper。在org.apache.mahout.utils.clustering包中的Mahout代码库中的mahout-utils模块中找到它。ClusterDumpe让阅读Mahout中所有算法的输出结果变得更加容易。在第九章中的K-means部分中,你已经看到它的效果了,而且在这一章中我们将更多地运用它去理解聚类的质量问题。

ClusterDumper需要输入一组聚类和在数据转换成向量过程中形成的可选择的字典。在表10.1中有ClusterDumper工具的全套选项。

记得任何一个簇都有一个中心点,它是这个簇中所有点的平均值。除了像Dirichlet这种基于模型的聚类算法,这对于其他的算法都是适用的。在Dirichlet处理的聚类的中心并不是这些点的平均值,它是一组特殊点集的定点。

尽管如此,这些中心点还是作为这些聚类的概要并且使得我们能快速了解每一个簇的本质。一个形心最重要的特征(它最有价值的维度)能够表明这个簇是关于什么的。对于文本文档,这些特征是单词,所以在一个向量形心中最重要的单词是那些能够阐明在这些聚类中的文档的含义的单词。

例如,在一个关于最近以来美国总统选举的文档聚类中,一篇关于奥巴马、麦凯恩和选举的文档的的特征元素会被加以很高的权重。这些权重很高的特征在语义上会相互联系。另一方面,如果这些权重很高的文档不是相互联系的,这意味着这个聚类中有一些文档本不应该放在一起。这可能由很多原因造成的,在这章我们将会讨论其中的大多数。

举一个例,让我们看看在ClusterDumper中两个K-均值聚类的输出结果:一个使用了欧式距离度量,另一个使用余弦距离度量:

$ bin/mahout clusterdump
-s kmeans-output/clusters-19/
-d reuters-vectors/dictionary.file-0
-dt sequencefile -n 10

ClusterDumper输出了一整块信息,包括了每个簇的向量的形心和在整个簇中最重要的主题元素。分割的向量被转换成相应的词典中并且被打印到屏幕上。作为一个文本文件,这种输出结果可能会更加容易的被检验,这些将会在-o选项中完成。

$ bin/mahout clusterdump
-s kmeans-output/clusters-19/
-o output.txt
-d reuters-vectors/dictionary.file-0
-dt sequencefile -n 10

用任何一款文本编辑器都可以打开output.txt。由于每一行包含的每一个簇的向量形心通常很大,所以在下面的的输出中被省略。通常使用在结合了欧式距离的路透集合的之上的K-均值聚类算法得出的典型的有序的前10个主题列表如下图所示。

Listing 10.1

在之前的聚类中的关键词表明它包含的文档是关于银行的。一个利用余弦距离度量创造的相似聚类如下表所示。

Listing10.2

它们是相似的,但是第二个聚类明显好于第一个。第二个聚类中表明“money”是一个很重要的关键词,但是在第一个聚类中却有一个普通的动词“said”作为关键词。

接下来的部分将会通过比较之前的输出来评价聚类的质量。

10.2 分析聚类的输出

聚类不是一个仅仅由输入和几个算法组成的函数,其中每个都需要参数优化。当聚类发生错误的时候,有很多方法去调试它。通过分析聚类来理解这个过程正在发生着什么是很重要的。

我们将从下面的三个主题中开始分析10.1和10.2列表中的数据结果:

·距离度量和特征选择

·外部和内部之间的距离

·混合和重叠聚类

10.2.1距离度量和特征选择

对于文本来说,余弦相似度是一个更好的距离度量方法,因为它根据拥有相同高权重的单词将文档分组。在TF—IDF的权重向量中对于关键词赋予了更高的权重,所以通过使用余弦相似度使得具有相同关键词的相似文档聚集在一起。这使得在聚类的形心中关键词比停用词拥有更高的平均权重。

表10.2中的关键词是很典型的并且不包括像“said”这样的停用词。我们看到在表10.1中的关键词中竟包括一些不重要的单词。尽管TF-IDF权重法被用于这两个实例,在分组清单10.1中一个频繁出现的动词“said”被赋予了很高的权重。尽管“said”的重要性很低,但是它在聚类中的平均权重比关键词高很多。这是因为欧氏距离对所有的因子都赋予同样的重要性。

正如你看到的,选择一个好的度量方法有助于保障聚类的质量。

·衡量特性

好的聚类通常通过少数的可以清晰地区分文档相似度的重要特性形成的。也就是说选择正确的特征和选择正确的度量方法一样重要。

对于非结构化的文本,通过提取更好的特性来得到更好的质量。再是TF-IDF的权重衡量存在一定的局限。在实际使用中,我们可能要在这个加权技术的基础上加以改进。

对于其他的类型的数据,需要采取一些更巧妙的方法使得更好的去加权这些向量。好的聚类需要给予一些重要的特性更多的权重、给予非重要特性更少的权重。

回顾第8章的苹果的例子。从数据上看,颜色有更高的价值而重量的价值相当较低。如果我们发现与颜色相比,重量是更好的特性,那么就应该扩大重量的规模、缩小颜色的规模。例如,颜色的值应该界定在0——1的范围,重量的值在0-100的范围内。这样做了以后,这些值的物理上的意义不复存在,我们只认为它是一个向量的特性和权重,能使苹果聚类的更好。

10.2.2 簇外和簇内距离

已知所有的形心,利用一些距离度量方法或表示为矩阵,任何两者形心之间的距离都可以被计算。通过展示最终簇的之间的距离,簇矩阵之间的距离很好地展示了聚类中正在发生着什么。

簇内距离是一个聚类内部成员之间的距离,而不是在两个不同聚类之间的距离。这种度量直观展示了这个度量方法把主题聚集在一起的效果怎么样。

来看一下这两种类型的度量方法。

聚类之间的度量

聚类之间距离的度量是一个很好的衡量聚类质量的方法:好的聚类可能没有形心,因为每个元素都太接近了,这表明在聚类过程中具有相似特征的元素被聚集在了一起或者因为绘画技术难以显示和分辨出聚类之间的距离。

它能够发现在美国总统、选举的聚类里的一篇新闻并且发现它不存在与关于候选人、美国和麦凯恩的聚类之中吗?可能不会。我们可能发现这两个聚类太相似了。聚类之间的距离是一个度量,它与这方面的质量相关联。图10.1显示了在两个不同配置的数据上的聚类之间的距离。

我们知道与余弦距离相比,欧拉距离的值是非常大的。比较这个分别通过这两种方法得出的聚类之间的距离值是没有意义的,除非它们被按比例缩小到同样的范围。对于所有的聚类,按比例缩小的平均聚类度量是一个有利于聚类质量的更好的方法。

下面的列表展示一个计算输出的聚类之间距离的简单方法。

Listing 10.3 计算聚类之间的距离

表10.3计算了所有质心对之间的距离并且计算了最小、最大和缩小了的聚类之间的距离。它产生了下面输出的聚类的余弦距离。

Maximum Intercluster Distance: 0.9577057041381253

Minimum Intercluster Distance: 0.22988591806895065

Average Intercluster Distance(Scaled): 0.7702427093554679

当运行同样的代码在使用欧拉距离的聚类时,输出结果显著地不同:

Maximum Intercluster Distance: 96165.06236154583
Minimum Intercluster Distance: 2.7820472396645335
Average Intercluster Distance(Scaled): 0.09540179823852128

当使用余弦距离的时候,看得出来最大和最小聚类距离在这个数量级上显得更接近。这表明当使用余弦距离度量时簇被平均地分配。当使用欧拉距离度量的时候,最小聚类距离是非常小的,表明至少两个簇几乎是一样的或者几乎是完全重叠的。

Figure10.2

平均比例的聚类距离清晰地展示了余弦距离相比欧拉距离是一个更好的相似性度量方法。因为它创建的集群被均匀地分开。这就解释了使用余弦距离产生的聚类的关键词的质量比使用欧拉距离度量方法高的多。

聚类内部的距离

聚类内部距离——簇之间的距离,与聚类之间的距离相比数据之上比较小。图10.2展示了当使用两种不同的距离度量方法的时候得到的聚类内部的距离。一个好的距离度量方法在紧凑的聚类之中的相似的簇之间会得出一个小的距离值,从而可以更可靠地区分彼此。

10.2.3混合和重叠的集群

在一些数据集中,把数据分离到好的簇中是很困难的。像这样的情况会在聚类之间的距离和簇之间的距离在一个相同的等级上时发生。对于这样的数据集,改变距离度量方法或者是改善特征选择通常不会改变什么。这些数据集需要采用专业的算法,像模糊K-means(去确定部分成员关系)或者狄利克雷聚类过程(去确定一个能吻合这些数据的模型)。

我们值得去回顾不同的聚类算法,它们的优点以及它们聚类效果最好的数据类型。在接下来的部分将会碳酸一些可以改簇外和簇内距离的先进的算法。

10.3改善聚类质量

在改进聚类质量中有两个重要的因子:改进在文档向量中的特征值的权重以及创造一个更适合的距离度量方法。一个好的权重方法有助于选择一个类的好的特征并且一个合适的距离度量方法可以帮助把相似的特征聚集在一起。接下来的两部分将会讲述你如何创建自定义的特征选择以及距离度量类。

10.3.1提高文档向量的生成

一个好的文档向量拥有正确的特征集并且重要程度越高的特征被赋予也高的权重。在文本数据中,有两种方法可以给劲文档向量的质量:去除噪声数据和使用好的加权方法。

并不是所有的文本文档都是高质量的,其中的句子有可能是畸形的或者因为格式或者结构这些单词可能难以区分。由网页生成的大量的数据集可能会发生这种情况。对于互联网上的大多数的文本内容,像网页、博客、维基百科或者论坛,它们是作为复杂的标记、样式、和脚本的集合,不是纯文本。从OCM(光学字符识别)识别的扫描文件以及短信中生成的文本数据的质量是很差的,这是由于错误的字符识别(比如“tne”转换成“the”)或者俚语中的极度缩写(比如“c u ”意思为“see you”)。文本数据可能会缺失字符、空格或者标点符号,或者甚至是意想不到的单词以及语法错误。在存在这些存在噪声数据的聚类过程是困难的。为了得到最优的结果,这些数据首先需要去清洗掉这些错误。

一些现有的文本分析工具把这项工作做得很好。Mahout提供了一个在向量化的过程中可以插入任意文本过滤技术的钩子。通过一些叫做Lucene Analyzer的工具也可以做到。当在第9章我们尝试去改进新聚类模型的时候,你可能已经见到过Lucene Analyzer的使用,尽管当时我们并没有解释它做了什么。

创建传统的Lucene Analyzer包括一下步骤:

·继承Analyzer接口

·重载toke

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[147035],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。