分类
本章主要作者为 David Wagner。
“机器学习”是一类从数据中自动发现模式并利用其进行推断或预测的技术。你已经见过线性回归,它是机器学习的一种。本章将介绍一种新的方法:“分类”。
分类是关于如何从过去的示例中学习进行预测。我们得到一些已经告知正确预测结果的示例,我们希望从这些示例中学习如何在未来做出好的预测。以下是一些实际应用分类的场景:
-
对于亚马逊收到的每一份订单,亚马逊希望预测:这个订单是欺诈性的吗? 他们有关于每个订单的一些信息(例如订单总价值、订单是否运送到该客户以前使用过的地址、送货地址是否与信用卡持有人的账单地址一致)。他们有大量关于过去订单的数据,并且知道哪些订单是欺诈性的,哪些不是。他们希望学习模式,以帮助他们在新订单到来时预测这些新订单是否具有欺诈性。
-
在线约会网站希望预测:这两个人合适吗? 他们会合得来吗?他们拥有大量关于过去向客户推荐配对的数据,并且大致知道哪些是成功的。随着新客户注册,他们希望预测谁可能与他们成为好的匹配。
-
医生想知道:这个患者有癌症吗? 基于某些实验室检测的测量值,他们希望能够预测特定患者是否患有癌症。他们有大量关于过去患者的数据,包括他们的实验室测量值以及他们最终是否患上癌症,从中,他们希望尝试推断哪些测量值往往是癌症(或非癌症)的特征,以便他们能够准确诊断未来的患者。
-
政治家希望预测:你会投票给他们吗? 这将帮助他们将筹款精力集中在可能支持他们的人身上,并将投票动员工作集中在会投票给他们的选民身上。公共数据库和商业数据库拥有关于大多数人的大量信息:例如,他们是拥有房屋还是租房;他们住在富裕社区还是贫困社区;他们的兴趣和爱好;他们的购物习惯等等。政治竞选活动已经调查了一些选民,并了解了他们计划投票给谁,因此他们有一些已知正确答案的示例。从这些数据中,竞选活动希望找到能帮助他们对所有其他潜在选民进行预测的模式。
所有这些都是分类任务。注意,在这些示例中,每个预测都是一个是/否问题——我们称之为“二分类”,因为只有两种可能的预测结果。
在分类任务中,每个我们想要对其进行预测的个体或情境被称为一个“观测”。我们通常有多个观测。每个观测有多个已知的“属性”(例如,亚马逊订单的总价值,或选民的年薪)。此外,每个观测有一个“类别”,即我们关心的问题的答案(例如,欺诈与否,或是否投票给你)。
当亚马逊预测订单是否欺诈时,每个订单对应一个观测。每个观测有多个属性:订单总价值、订单是否运送到该客户以前使用过的地址等等。观测的类别是 0 或 1,其中 0 表示订单不是欺诈性的,1 表示订单是欺诈性的。当客户下新订单时,我们无法观察到它是否欺诈,但我们可以观察到它的属性,并将尝试使用这些属性来预测其类别。
分类需要数据。它涉及寻找模式,而要找到模式,你需要数据。这就是数据科学的用武之地。具体来说,我们假设我们可以访问“训练数据”:一批观测,我们知道每个观测的类别。这些预先分类的观测的集合也称为训练集。分类算法将分析训练集,然后产生一个分类器:一种用于预测未来观测类别的算法。
分类器不需要完美才能有用。即使它们的准确率低于 100%,它们也可能是有用的。例如,如果在线约会网站偶尔做出糟糕的推荐,那也没关系;他们的客户已经预期需要认识很多人才能找到合得来的人。当然,你不希望分类器犯太多错误——但它不必每次都能得到正确的答案。