监督学习—分类与回归
每当想要根据给定输入预测某个结果,并且还有输入/输出对的示例时,都应该使用监督学习。这些输入/输出对构成了训练集,我们利用它来构建机器学习模型。我们的目标是对从未见过的新数据做出准确预测。
监督机器学习问题主要有两种,分别叫作分类(classification)与回归(regression)。
1、分类(classification):
(1) 分类问题的目标是预测类别标签(class label),这些标签来自预定义的可选列表。
(2) 分类问题可分为二分类(binary classification,在两个类别之间进行区分的一种特殊情况)和 多分类(multiclass classification,在两个以上的类别之间进行区分)。
a、二分类(binary classification):
可以将二分类看作是尝试回答一道 是/否 问题。将电子邮件分为垃圾邮件和非垃圾邮件就是一个二分类问题的实例。在这个二分类任务中,要问的 是/否 问题为:“这封电子邮件是垃圾邮件吗?”。
在二分类问题中,我们通常将其中一个类别称为正类(positive class),另一个类别称为反类(negative class)。这里的 “正” 并不代表 好的方面 或 正数,而是代表研究对象。因此在寻找垃圾邮件时,“正” 可能指的是垃圾邮件这一类别。将两个类别中的哪一个作为 “正类”,往往是主观判断,与具体的领域有关。
b、多分类(multiclass classification):
莺尾花的例子属于多分类问题。
另一个多分类的例子是根据网站上的文本预测网站所用的语言。这里的类别就是预定义的语言列表。
2、回归(regression):
(1) 目标:
回归任务的目标预测一个连续值,编程术语叫作浮点数(floating-point number),数学术语叫作实数(real number)。
(2) 例子:
a、根据 教育水平、年龄、居住地 来预测一个人的年收入。
在预测收入时,预测值是一个金额(amount),可以在给定范围内任意取值。
b、根据 上一年的产量、天气、农场员工数等属性来预测玉米农场的产量。
产量可以取任意数值。
3、区分 分类、回归
区分分类任务和回归任务有一个简单的方法,就是问一个问题:输出是否具有某种连续性。
如果在可能的结果之间具有连续性,那么它就是一个回归问题。想想预测年收入的例子。输出具有非常明显的连续性。年收入为 40000 美元还是 40001 美元并没有实质上的差别,即使两者金额不同。如果我们的算法在本应预测 40000 美元时的预测结果是 39999 美元或 40001 美元,不必过分在意。
与此相反,对于识别网站语言的任务(这是一个分类问题)来说,并不存在程度问题。网站使用的要么是这种语言,要么是那种语言。在语言之间不存在连续性,在英语和法语之间不存在其他语言。