有监督学习是与无监督学习相对应的概念。它是数据分析中最常见的建模形式。
一句话解释版本:
有监督学习知道预测的主体,它通过寻找并定义自变量(一堆属性,X)与因变量(预测目标,Y)之间的关系,以实现通过X预测Y的目的。
有监督学习的目的性很强。所以在数据分析与数据挖掘中,有监督学习与数据分析的关系更大;无监督学习与数据挖掘的关系更大。但是它们都是数据建模领域的知识。
有监督学习在整个数据分析与挖掘体系中的位置如下图所示。
有监督学习的定义
在有监督学习(Supervised Learning)中,我们的样本数据中通常包含p种特征量(features),X1, X2, . . . , Xp。他们有共同的对象(Response),Y。有监督学习的目的简单而言,就是一句话:用X去预测Y。
举例来说,我们现在有如下的数据,分别是:身高、体重、每天睡眠时间、每天运动时间、以及寿命。如果我们把寿命看作我们想要预测的对象,那么寿命就是上面说的对象,即Y。其余的变量,如身高、体重、每天睡眠时间、每天运动时间就都是特征量,即X。
那么,在有监督学习中,我们研究的目的一般就是各种人的基本特征与寿命之间的关系,即如何通过身高、体重、每天睡眠时间、每天运动时间来预测寿命。
有监督学习会通过数学统计方法,如散点图、相关系数矩阵、直方图等等,来寻找身高、体重、每天睡眠时间、每天运动时间与寿命之间的潜在关系。最终尽量准确的通过数学公式方程去定义这种关系。而这些数学公式,就是有监督学习模型。
有监督学习的模型
有监督学习中有预测主体Y。因此,Y有可能是数值型数据,也可能是分类型数据。
依据Y的数据形式不同,有监督学习的模型一般被分为两大类问题:回归问题与分类问题。
如果被预测的Y取值是连续型的数据,比如销售额、顾客价值、汽车里程、耗电量等等,我们把这类问题叫做回归问题。
回归问题看着简单谁都会,但是实际上回归问题还包含其他许多模型。我们最常见、谁都懂、已经不再有逼格的Y=a+bX 其实是回归问题中最基础的一元线性回归,其他的回归模型大多以一元线性回归为原型发展出来。
如果被预测的Y取值是分类型的数据,比如是否、有病/没病、一级/二级/三级等等,我们把这类问题叫做分类问题。其实分类问题与回归问题在方法上并没有太多差异,分类问题的结果仍然是连续的数值,只是我们人为的将某些数值划分为一个类别,将另一些数值划分为另一个类别而已。简而言之,分类问题就是将回归问题的结果归集成不同的类别而已。
下图是有监督学习中应用较为广泛的几类模型: