正如我们之前提到的,监督学习是最普遍使用和成功的机器学习类型之一。在这一章节中,我们将更加细致的描述监督学习并且解释几种流行的监督学习算法。我们之气在第一章节中看到一个监督学习的应用:使用花的物理测量来将水仙花从几种类别中分类。
记住,每当我们想去从一个给定的输入预测一个确定的输出并且我们有输入和输出成对的样本,监督学习就可以被使用。我们从这些输入输出对(样本集,后面的翻译都称作)中构建机器学模型,此样本集包括我们的训练集。我们的目标是去对新的数据或者说是从未见过的数据进行精准的预测。
分类(Classification)和回归(Regression)
监督机器学习(supervised machine learning)问题的两种只要类型:分类和回归。
在分类中,目标是去预测一个类标签(class label),是预定义的所有可能类列表中的一种。在第一章中,我使用的是从三个可能的种类中分别出水仙花输入哪一类。分类问题有时被划分为,二分类(binary classification),在特定的两类中进行区分,多分类(multiclass classification),在超过两个类别进行分类。你可以认为二分类就是一个试着回答是或者否的问题。分类邮件如垃圾邮件或者非垃圾邮件是一个二分类的问题。在这个二分类任务中,是或否的问题就是邮件是否是垃圾邮件。
水仙花的例子,就是一个多分类问题。另一个例子就是从网站的文本来预测网站的语言。这里的种类会是一个预定义的所有可能语言的列表。
对于回归任务,目标是去预测一个连续的数字或者在编程术语中叫做浮点数(floating-point number),(在数学术语中叫做实数(real number)),从教育、年龄、居住的地方,来预测一个人全年的收入,是一个回归的例子。当预测收入的时候,预测的值是一个数字,可能是给定范围内的任何一个数字。另一个回归任务的例子是预测玉米农场的产量,给定一些属性,例如去年的产量、天气、农场工作人员的数量。产量收益会是一个任意的数字。
区分分类和回归的一个简单方法是去问在输出的可能类别是否具有连续性,如果输入可能的类别具有连续性我们就称作回归问题。思考预测全年收入,在输入出具有明显的连续性。无论一个人挣$40.000,还是$40,001,都不会造成明显的差别。尽管这些钱的数量有些不同。如果我们的算法预测$39,000,或者$41,000,但他应该是$40,000。但我们并不会考虑这么多。
相反,对于识别一个网站所用的语言的任务,是一个分类问题。一个网站要么是这一种语言,要么是另一种,在不同语言中不具有连续性。
泛化(Generalization)、过拟合(Overfitting)和欠拟合(Underfitting)
在监督学习中,我们想去在训练集上构建一个模型,然后会去对新的、没见过的数据进行准确的预测,这些新数据和我们使用的训练集具有相同的特征。如果一个模型在新的数据集上做出准确的预测,我们称其为从训练集到测试机能够进行泛化。我们想构建一个尽可能准确的进行泛化的模型。
通常我们以这样的方式构建一个模型,他能做出准确的预测在训练集上。如果训练集和测试集具有足够的相似,我们期望在测试集上也能准确。但是有些情况下这是错误的,例如,如果我们去构建一个很复杂的模型,我们总是会在训练集上表现良好。
我们来做一个假设的例子来说明这个观点,一个数据科学初学者,想去预测一个消费者是否会购买一条船,给出一些购买船只的人和对购买船只不感兴趣的消费者的一些记录。
在查看一会儿数据后,我们的数据科学初学者相处了下列规则,如果消费者大于45岁,并且有小于3个孩子或者没有离婚,然么他就想去买船只。当我们问道这些规则表现如何,回答说:100%正确。确实,在表格中的数据,规则完全正确。我们也可以想出更多的规则表现很好,如果数据集中的人想去买船。在数据集中没有出现两次的年龄,我们也可以说66、52、53或者58岁的人想去购买船只,但是除此之外的人都不会购买。当然我们可以想出更多规则在这个数据集上变现很好,记住我们并不感兴趣对这个数据集做出预测;对于这些消费者我们早就知道答案,我们想知道的是新的消费者是否有可能去购买一条船,因此我们想去发现一个规则对新的消费者表现很好,在训练集上实现100%的准确并不能帮助我们,我们可能不期望这个数据科学初学者想出的规则能够在新的消费者上表现很好,他看起来太复杂了,只有小部分的数据做支持。例如,规则中或者没有离婚的部分只取决于一个消费者。(个人理解作者:如果规则依托于单个的数据点,在数据庞大的时候,这样的规则将是将是及其复杂的,相当于对训练集的数据进行完全的记忆,但是对于新的数据,有些数据点可能不在训练集中,那这样表现就会很差)
一个算法在新的数据集上表现是否良好唯一的测量方式就是在测试集上进行评估,我们期望简单的模型能够很好的泛化到新的数据集。如果规则是“大于59岁的人想买船只”,这个规则能够解释大部分消费者的行为,我们会更信任它,而不是设计孩子、婚姻以及年龄的规则。因此,我们总是想去找到最简单的模型。因为我们用户的信息很大,构建的模型会很复杂,就如同数据科学初学者所做的那样,被称作过拟合。
485

被折叠的 条评论
为什么被折叠?



