首页 > Python机器学习 阅读数:40

监督学习是什么

所谓监督学习,就是先利用有标签的训练数据学习得到一个模型,然后使用这个模型对新样本进行预测。在本质上,监督学习的目标在于,构建一个由输入到输出的映射,该映射用模型来表示。

模型属于由输入空间到输出空间的映射集合,这个集合就是假设空间(hypothesis space)。假设空间的确定,就意味着学习范围的确定。而如何在假设空间中找到最好的映射,这就是监督学习的最大动机所在。

对于监督学习来说,所构建的模型通常在训练集中学习,调整模型参数,而在测试数据集中进行预测验证。因此,训练集通常用如下公式的方式进行描述:

T ={(x1, y1),(x2, y2),...,(xj, yj),...(xm, ym)}


在学习过程中需要使用训练数据,而训练数据往往是人为给出的。在这个训练集中,系统的预期输出(即标签信息)已经事先给定,如果模型的实际输出与预期不符(二者有差距),那么模型就有责任“监督”学习系统重新调整模型参数,直至二者的误差在可容忍的范围之内。因此,预期输出(标签信息)也被称为“教师信号”。

监督学习的流程框架大致分为两个部分—学习和预测,如图 1 所示。具体来说:
  • 首先准备输入数据,这些数据可以是文本、图片,也可以是音频、视频等,然后从数据中抽取所需的特征,形成特征向量;
  • 接下来,把这些特征向量和输入数据的标签信息送入学习模型(具体来说就是某个学习算法),经过反复训练“打磨”出一个可用的预测模型,再采用同样的特征抽取方法作用于新样本,得到新样本的特征向量;
  • 最后,把这些新样本的特征向量作为输入,使用预测模型实施预测,并给出新样本的预测标签(Expected Label)信息。

监督学习的流程框架
图 1:监督学习的流程框架

前面讲过,如果输入变量和输出变量是不同的类型(既可以是连续的,也可以是离散的),那么人们通常会根据输入和输出变量的不同类型,给预测任务赋予不同的名称,如分类、回归、标注。

举例来说,诗仙李白的那首《梦游天姥吟留别》中有一句“云青青兮欲雨”,如果我们用机器学习的角度来解析它,这个“云青青”就是输入,“青青”就是云的特征,而“雨”就是我们的预测结果。在这个问题中,我们想得到的输出是天气状态,它可能是晴朗、阴或雨等,这些状态是离散值,非此即彼,所以这就是一个典型的分类问题。

我们还拿诗仙李白的诗歌来说事。他有一首《秋浦歌》,里面有一句“白发三千丈,缘愁似个长”,假设这个“白发”是我们提取的特征,“三千丈”就是特征值,而“愁”是我们要预测的输出。那么到底有多愁呢?有一丝丝愁?有点愁?比较愁?深愁?其实它们之间并没有明显的界限,我们把这类输出变量看作连续的。对于输出变量连续的监督学习,我们将这类问题称为回归问题。

回归的主要功能在于,预测输入变量 X(自变量,即特征向量)和输出变量 Y(连续的因变量,即标签)之间的关系。这个关系的表现形式通常是一个函数解析式。在函数中,每个输入变量都有一个权值,也称为“系数”,对于特定的训练集而言,输入变量 X 可视为已知量,训练的目的在于,找到合适的系数,让 Y 和 X 在学习得到的系数框架下得到很好的拟合,即给定 X 就能很好地预测 Y。

因此,对回归问题的学习,在某种程度上等价于函数的拟合,即选择一条函数曲线,使其能很好地拟合已知数据,并较好地预测未知数据。

类似地,回归问题也分为学习和预测两部分。学习系统基于训练数据构建出一个模型,即函数 Y:

Y ≈f(x, β)

其中,β 表示未知参数,它可以是一个标量,也可以是一个向量。通过回归模型就可以把 Y 与 X 和 β 关联起来。然后,给定某个新的输入,预测系统就会根据所学的模型给出相应的输出。