英语原文共 415 页,剩余内容已隐藏,支付完成后下载完整资料
Ch13分类介绍 |
这章包括
为什么Mahout是分类的有力的选择
关键的分类思想和术语
一个典型的分类项目的工作流程
一个逐步的分类例子
生活总是给我们展现了一些不可以随意回答的问题而且要我们从有限的的选项中做出选择。这些相对简单的选择组成了分类的基础—通过人们和机器这两种分类组成,分类取决于对潜在的回答的分门别类,基于机器的分类是做出这样简单的决定的自动化。
这一章讲述了Mahout作为一个分类的好方法好在哪些方面,也解释了为什么Mahout要优于其他的方法。作为分类的介绍,这一章也解释了分类是什么,也提供了基本的术语和思想的了解。另外,我们展示了一个分类怎样工作的实际概括,覆盖了有代表性的分类项目的三个阶段的工作流程:训练这些模型,评估和调整这些模型,在产品中使用这些模型。通过这些介绍,我们会看到一个简单的分类项目,并拆开一步一步的展示给你看,让你明白如何把这些基础的知识运用到实践中。
13.1 为什么在分类中使用Mahout?
Mahout能被运用到一个巨大的分类项目中,但是Mahout优于其他方法的优点在于它在极端巨大数量的样例中有着显著的效果,巨大的数量意味着巨大数量的多种变化。不超过十万个样例时,其他的分类系统能有效又准确的解决。但是通常上,当输入超过一百万到一千万个样例时,一些可扩展的如Mahout就亟待需要。图13.1展示了Mahout是在这种情况下最合适的。
图13.1 Mahout在巨大数量或快速成长的数据集中是最有效的,而其他解决方法都是不可行的。
样例数量的系统规模 分类方法的选择
小于十万 传统的,非Mahout的的方法就能解决的非常好,Mahout甚至比这些方法要慢。
十万到一百万 Mahout开始成为一个好的选择。哪怕没有其他表现出来的优点,这些灵活的应用程序编程接口使Mahout作为一个优先的选择。
一百万到一千万 在这个范围内Mahout是最卓越的选择。
大于一千万 Mahout优于其他在这个范围内不可行的方法。
在更多的数据建立时Mahout有优点是因为在输入的数据增加时,执行Mahout的时间和
内存的要求不会线性增加在这个非扩展性的系统中。两倍的数据量使系统缓慢是可以接受的
但是五倍或者更多的数据输入将导致系统耗费一百倍的时间来运行,所以必须需要其他的解
决办法,这种情形下就是Mahout表现的时候了。
总的来说,基于Mahout的分类算法要求的资源增加速度不能超过训练或测试样例的增加速度,在更多的情况下计算资源要求能被并行化。这将允许你权衡计算机的使用数量以及时间来使问题解决。
13.1的概念图表明了可扩展的算法例如Mahout作为方法应用在非常大规模的分类项目中。当训练样例的数量相对比较小时,传统的数据挖掘方法的使用将非常有效并且比Mahout更好。但是当样例的数量增加时,Mahout的可扩展和并行的算法在时间方面会更加优秀。传统的数据挖掘的大量时间的增加是因为非扩展性计算程序总是需要无限制的大量的内存来为大量增加的样例服务。非常大数量的数据建立已经开始越来越多的被普及。随着更多的电子存储数据出现,数据获得的费用消耗也大大的降低。使得使用更多的数据来统计是可得到的,因为这明显能增加统计的准确性。因此,大量数据的建立需要可扩展这方面知识的增加,在这种情况下,可扩展的Mahout的分类器也开始越来越广泛的被使用。
图13.1 在中等和大型的分类系统中使用Mahout的优点。这条锯齿状的线表示使用新的机器来增加性能的效果。每个新的机器都能降低训练时间。
图13.1
13.2分类系统的基础
在学习基于Mahout的分类方法使用之前,让我们先稍微钻研一下最基本的即什么是分类
以及分类与推荐,聚类的区别。
首先我们来思考一下基于人的分类这个熟悉的例子。在人的分类的历史中,填关于企业业
务的调查表,或者清点在箱子中的纳税申报表中你的状况—这些都是你能在一群有限的预选答案中做出选择的情形,有时候这类型的答案的选项是非常少的,甚至有少到只有正确和错
误两个选项的问题。在这些情形中,分类过程能排除那些潜在的大的和复杂的答案来适应于
小部分的选项。
定义:分类是一个从一小部分列出来的潜在的预选答案中使用具体的信息(输入)来做出单个选择(输出)的过程。
把一个人对酒的味道的和这个人去商店为晚餐买的酒相比。在品酒的时候,人们会问他:“你认为这酒怎么样?”听到的大部分回答可能是“胡椒味的”,“一种水果的感觉”,“一个油腻的结束”,“猛烈的”,“有点像我姑妈沙发的颜色”和“一个好的标签”。这个问题不具体,这个答案也就不会从已经预定的可能中形成单个选择。所以这个情形不是分类,即使这个情形和分类有一些相似的地方。
现在想想这个在商店的买酒的人,一些在喝酒时被讨论的酒的相同特征可能对买酒的人很重要(口味,颜色等等),但是为了使自己有效的做出决定(买还是不买),买酒的人应该在内心有个备忘录来寻找(红色,10美元,和披萨一起吃,一个熟悉的酒的标签)和记录每瓶酒自己做出的决定(买或不买)。一些日常或细微差别可能会没记住,但是把问题简化为一个会有非常小概率的可能的答案(买或不买)是实用的做出的有效的决定方法。在这个情形中,它得到了人们当时离开商店吃饭的买酒的数据,这个情形是分类的一个形式。
机器是不能想到这些所有类型的想法的,也不能像人们一样做出这种决定。但这个情形在一个具体的范围内时,机器为了进行分类就会模仿做出有效的决定。当是单个,有效的决定时基于机器的方法就运行了,输入会由一套具体的特征组成,输出则是绝对的。也就是说,从一个短名单中做出单个选择。
分类算法是预测分析的核心。预测分析的目标是建立一个可以做出和人类决定相同的决定的自动化系统。分类算法是实现这个目标基本的工具。
有一个预测分析的例子是垃圾邮件检测。电脑记录使用者使用邮件的历史日常和邮件信息
的特点来决定新的信息是垃圾邮件还是与使用者相关的受欢迎的邮件。另外一个例子就是信用卡欺诈检测。电脑记录最近的账目历史以及最近一段时间的交易日常来判定这个交易是否是欺骗。
自动化系统怎样才能做到这些?我们希望它们能如魔法般的完成这些,但是要完成这些,它们需要学习并记录样例来完成这些。
定义:电脑分类系统是通过使用学习算法来提供一个基于经验让电脑做出决定的机器程序,在此过程中,模仿人类决策的某些形式。
分类算法通过样例来学习,但是他们不能代替人们做出决定,是因为它们要求从细心准备的样例学会做出正确的决定,它们还要求输入是在这个算法中被细心准备过的。不像Mahout的其他用途,基于机器的分类是一种被监督的学习形式。
13.2.1分类,推荐和聚类的不同
分类算法与上一章描述的聚类算法形成了对比,因为聚类算法能决定它们自己目标是重要的(在机器学习用语中,它们是非监督的学习算法)而分类算法学习模仿人做出正确决定的例子(它们是被监督的学习算法)。分类算法和推荐算法也有很大的不同,因为分类算法是计划在有限可能的结果中作出单一的决定,而推荐算法是依次选择和排列许多可能的选项中最好的。
警告:有一个办法提醒你自己这个是不是分类:如果你的系统不受监督,它不是分类。如果你的问题是无限度的,或者答案不是绝对的,你的系统不是分类。
稍微令人惊讶的是,分类能有创造性和有效的被作为一个工具用在推荐进程中。通常,使用一个分类器建立一个推荐系统没有真正的推荐系统那么有效,但是分类器作为推荐器能使用一些类别的信息而一个正常的推荐系统很难用到这些。推荐系统平时记录使用者做了什么的历史,忽略了使用者和物品特征,而这两者在分类系统中是非常有用的。这个问题研究将会在十七章讲述怎样把分类器用作一个有用的推荐器。
我们已经回答了什么是分类这个问题,接下来我们将看到分类被用来做什么。
13.2.2分类的应用
分类系统的输出是从把数据分配到一些预定的类别中。分类的用处经常被预定的类别的意义所决定。通过把数据分配到各个类别中,这个系统允许电脑或使用者对输出起作用。
分类总是被运用到预测或检测中。在信用卡诈骗的事件中,分类器可以很有用的预测和判断这个交易是假的,这是基于已知的购买的行为和其他信用卡交易的样例而得到的结果。这个特殊的交易是否虚假做出的正确或错误的决定是通过分配到这个交易的两个类别之一中:正确则是虚假的,错误则不是虚假的。
分类在预测在保险或电信产业中的客户流失是非常有价值的。为这个应用设计一个分类系统的方法是从以前几年的已知产业的客户流失和客户保留的记录中来寻找数据,把数据的类别作为答案的目标。从训练数据中挑选已知的顾客特征,那些能起到最好的预测顾客是否愿意留在这个产业中的作用的特征。一旦挑选出来这些基于已知的,具体的,包括正确举止的特征,分类系统就能被用来预测其他顾客的行为。
预测是一个特征(一个类别)的正确分配的工作,这些特征基于可得到的数据获得的而不是为了特征就直接测试获得的。为了分类,特征的目标总是在于特征它本身被直接决定是很昂贵的,这就是为什么分类作为预测器开始发挥作用。而昂贵的意思是我们会在钱或时间或更大的风险方面付出高昂的代价。
举个例子,你肯定不想等一年或更多时候看见一个逐渐加深的疾病的明显症状,如糖尿病。相反,你可能建立一个分类系统为了有一个病症早期的指示器来避免未来的风险,使你在不可逆的损伤已经发生前的这段时间内不必等待。知道了病人是糖尿病早期或者可能正在患有糖尿病,医生就能有效的做出提供病症早期的治疗或预防措施的选择。
在相关的情景中,一个分类系统能减少身体的危险。这能更好的观察到相关的数据通过无创检测手段,就像认知测试或PET扫描来确定老年痴呆症存在一样要比在大脑中进行直接的测试要好,特别是病人还活着的时候。
所以分类非常有用,但是为什么分类要用Mahout而不是其他的一些软件呢?
13.3分类怎样工作
这里有两个主要的阶段涉及到分类系统的建立:通过学习算法来创造一个产品模型,模型的使用可以分配数据到各个类别中。训练数据的挑选,输出类别(目标)的挑选,系统学习算法的挑选,以及挑选各种各样的使用数据作为输入,这些都是建立分类系统第一阶段的关键选择。
建立分类系统的基本步骤说明在图13.2。这个图说明了分类进程的两个阶段:上面的路径代表分类模型的建立;下面的路径则提供了新的例子进行分配类别(目标变量)作为模仿决定的方法的模型。训练算法中的输入由已知的目标变量和标记的样例数据组成。当然,当在产品中使用新的样例时,目标变量在模型中是未知的。通过估算目标变量的值是已知的,但是它并不能代入模型中。
测试没有在图13.2中显示得很明确,出现在模型中的训练数据中新的实例被排除。把,模型选择的结果和已知的目标变量的答案进行比较来评估模型的性能,这部分的过程描述在更后的15章。
图13.2 一个分类系统怎么样工作的。圈出来的部分是分类系统的核心—训练算法用来训练模型来模仿人类的决策。复制过来的模型用来评估或在产品中有新的输入的样例时来估计目标变量。
不同的人描述的分类使用的术语是高度变化的。为了一致,我们限制了在书中关键的意思的使用术语。很多术语列在了表13.2。特别注意,记
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[137547],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。