监督式学习

监督式学习的任务定义明确,可应用于多种场景,例如识别垃圾内容或预测降水情况。

监督式学习的基本概念

监督式机器学习基于以下核心概念:

  • 数据
  • 模型
  • 培训
  • 正在评估
  • 推断

数据

数据是机器学习的驱动力。数据形式为存储在表中的单词和数字,或以在图片和音频文件中捕获的像素和波形值的形式。我们将相关数据存储在数据集中。例如,我们可能有包含以下内容的数据集:

  • 猫的图片
  • 房价
  • 天气信息

数据集由包含特征标签的各个样本组成。您可以将示例视为与电子表格中的单行类似。特征是监督式模型用于预测标签的值。标签是“答案”,也就是我们希望模型预测的值。在预测降雨的天气模型中,特征可以是纬度、经度、温度、湿度、云覆盖范围、风向和大气压力。标签为降雨量

同时包含特征和标签的样本称为有标签样本

两个有标签样本

占位图片。

相比之下,无标签样本包含特征,但没有标签。创建模型后,模型会根据特征预测标签。

两个无标签样本

占位图片。

数据集特征

数据集的特征是规模和多样性。大小表示样本的数量。多样性表示这些样本涵盖的范围。好的数据集要大型且高度多样化。

有些数据集规模庞大,内容丰富。然而,有些数据集很大但多样性较低,还有一些虽然规模较小但多样性较高。换言之,大型数据集不能保证有足够的多样性,高度多样化的数据集不能保证有足够的样本。

例如,一个数据集可能包含 100 年的数据,但仅包含 7 月份的数据。使用此数据集来预测 1 月的降雨量会导致预测结果不佳。相反,数据集可能仅涵盖几年,但每月包含一次。此数据集包含的年数不足以解释可变性,因此预测结果可能很差。

检查您的理解情况

数据集的哪些特性最适合用于机器学习?
大尺寸 / 高度多样性
大量涵盖各种使用场景的示例对于机器学习系统理解数据中的底层模式至关重要。用此类数据集训练的模型更有可能对新数据做出良好预测。
大尺寸 / 多样性较低
机器学习模型的优劣只取决于用于训练它们的样本。模型会针对从未训练过的新数据做出较差的预测。
小型 / 高度多样性
大多数模型在小型数据集中都找不到可靠的模式。预测会缺乏较大的数据集带来的置信度。
尺寸较小 / 多样性较低
如果您的数据集很小且没有太大变化,则您可能无法从机器学习中获益。

数据集还可以通过特征数量进行表征。例如,某些天气数据集可能包含数百个特征,从卫星图像到云量值,不一而足。其他数据集可能仅包含三四个特征,例如湿度、大气压力和温度。具有更多特征的数据集有助于模型发现其他模式,并做出更好的预测。然而,特征较多的数据集并不一定总能生成能获得更好的预测效果,因为某些特征可能与标签没有因果关系。

模型

在监督式学习中,模型是复杂的数字集合,用于定义从特定输入特征模式到特定输出标签值的数学关系。模型会通过训练来发现这些模式。

培训

监督式模型必须先接受训练,然后才能进行预测。为了训练模型,我们为模型提供包含有标签样本的数据集。该模型的目标是制定根据特征预测标签的最佳解决方案。模型会通过将预测值与标签的实际值进行比较来找到最佳解决方案。根据预测值和实际值(定义为损失)之间的差异,模型会逐步更新其解决方案。换句话说,模型会学习特征与标签之间的数学关系,以便对未知数据做出最佳预测。

例如,如果模型预测下雨的概率为 1.15 inches,但实际值为 .75 inches,则模型会修改其解,使预测结果更接近于 .75 inches。在模型查看数据集中的每个样本(在某些情况下,可能会多次)后,会得出一个平均能为每个样本做出最佳预测的解决方案。

以下代码演示了如何训练模型:

  1. 模型接受单个有标签样本并进行预测。

    进行预测的模型的图片。

    图 1. 一个机器学习模型,根据有标签样本进行预测。

     

  2. 模型将其预测值与实际值进行比较,并更新其解决方案。

    将预测结果与实际值进行比较的模型图片。

    图 2. 更新其预测值的机器学习模型。

     

  3. 模型会对数据集中的每个有标签样本重复此过程。

    显示模型重复预测过程与实际值的图像。

    图 3. 一个机器学习模型,针对训练数据集中的每个有标签样本更新其预测。

     

通过这种方式,模型可以逐步学习特征与标签之间的正确关系。这种逐渐理解的机制也是为什么庞大而多样化的数据集能够产生更好的模型的原因。该模型看到了更多包含更广泛的值的数据,并优化了对特征与标签之间关系的理解。

在训练期间,机器学习从业者可以对模型进行预测时使用的配置和功能进行细微调整。例如,某些特征的预测能力比其他特征更高。因此,机器学习从业者可以选择模型在训练期间使用哪些特征。例如,假设天气数据集包含 time_of_day 作为特征。在这种情况下,机器学习从业者可以在训练期间添加或移除 time_of_day,以了解模型在使用该模型时是否具有更好的预测效果。

正在评估

我们评估经过训练的模型,以确定它的学习效果。评估模型时,我们会使用有标签的数据集,但仅向模型提供数据集的特征。然后,我们会将模型的预测结果与标签的真实值进行比较。

一张图片,显示经过训练的模型的预测结果与实际值的对比情况。

图 4. 通过将机器学习模型的预测结果与实际值进行比较来评估机器学习模型。

 

根据模型的预测,我们可能会在实际应用中部署模型之前进行更多的训练和评估。

检查您的理解情况

为什么模型需要先接受训练才能进行预测?
模型需要经过训练才能学习数据集中特征与标签之间的数学关系。
模型不需要训练。模型适用于大多数计算机。
模型需要经过训练,因此不需要数据即可进行预测。

推断

对评估模型的结果感到满意后,我们可以使用模型对无标签样本进行预测(称为推断)。在天气应用示例中,我们为模型提供当前天气条件(例如温度、大气压力和相对湿度),然后预测降雨量。