监督式学习的任务定义明确,可用于多种场景,例如识别垃圾内容或预测降水。
监督式学习基础概念
监督式机器学习基于以下核心概念:
- 数据
- 模型
- 训练
- 正在评估
- 推理
数据
数据是机器学习的驱动力。数据的形式为存储在表中的单词和数字,或以图片和音频文件中捕获的像素和波形值的形式。我们将相关数据存储在数据集中。例如,我们可能拥有一个如下所示的数据集:
- 猫的图片
- 房价
- 天气信息
数据集由包含特征和标签的各个样本组成。您可以将示例视为与电子表格中的一行类似。特征是监督式模型用于预测标签的值。标签就是“答案”,也就是我们想要模型预测的值。在预测降雨的天气模型中,特征可以是纬度、经度、温度、湿度、云覆盖范围、风向和气压。标签为 降雨量。
同时包含特征和标签的样本称为有标签样本。
两个有标签样本
相反,无标签样本包含特征,但没有标签。创建模型后,模型会根据特征预测标签。
两个无标签样本
数据集特征
数据集的特征是规模和多样性。大小表示样本数量。多样性表示这些样本所涵盖的范围。好的数据集要既大又多样化。
有些数据集规模庞大且丰富多样。然而,有些数据集很大但多样性较低,还有一些虽然较小但多样性较高。换言之,大型数据集不能保证足够的多样性,高度多样性的数据集也无法保证有足够的样本。
例如,数据集可能包含 100 年的数据,但只包含 7 月份的数据。使用此数据集来预测 1 月的降雨量会产生较差的预测。相反,数据集可能仅涵盖几年,但包含每月。此数据集可能产生较差的预测,因为它未涵盖足够的年份解释可变性。
检查您的理解情况
数据集的特征数量也可以作为特征。例如,某些天气数据集可能包含数百个特征,从卫星图像到云覆盖率值,不一而足。其他数据集可能只包含三四个特征,例如湿度、大气压力和温度。具有更多特征的数据集有助于模型发现其他模式并做出更好的预测。但是,特征较多的数据集并不一定生成的模型能够提供更好的预测,因为某些特征可能与标签没有因果关系。
模型
在监督式学习中,模型是复杂的数字集合,用于定义从特定输入特征模式与特定输出标签值的数学关系。模型通过训练发现这些模式。
训练
监督式模型必须先接受训练,然后才能进行预测。为了训练模型,我们为模型提供一个带有标签样本的数据集。该模型的目标是找到根据特征预测标签的最佳解决方案。模型通过将预测值与标签的实际值进行比较来找到最佳解决方案。根据预测值与实际值(定义为损失)之间的差异,模型会逐步更新其解决方案。换言之,模型会学习特征与标签之间的数学关系,以便对未见过的数据做出最佳预测。
例如,如果模型预测 1.15 inches
为雨,但实际值为 .75 inches
,则模型会修改其解决方案,使其预测更接近 .75 inches
。在模型查看数据集中的每个样本(在某些情况下,多次查看)后,会得到一个能够为每个样本做出平均最佳预测的解决方案。
以下代码演示了如何训练模型:
模型接受一个有标签样本并进行预测。
图 1. 一个机器学习模型,根据有标签样本进行预测。
模型将其预测值与实际值进行比较,并更新其解决方案。
图 2. 更新预测值的机器学习模型。
模型会针对数据集中的每个有标签样本重复此过程。
图 3. 机器学习模型针对训练数据集中的每个有标签样本更新其预测结果。
通过这种方式,模型可以逐步学习特征与标签之间的正确关系。这种逐渐理解的机制也是为什么庞大、多样化的数据集能够产生更好的模型的原因。该模型看到了更多值范围更广的数据,并且改进了对特征与标签之间关系的理解。
在训练期间,机器学习从业者可以对模型用于进行预测的配置和功能进行细微调整。例如,某些特征的预测能力高于其他特征。因此,机器学习从业者可以选择模型在训练期间使用哪些特征。例如,假设天气数据集包含 time_of_day
作为特征。在这种情况下,机器学习从业者可以在训练期间添加或移除 time_of_day
,以查看在使用或不使用该模型的情况下,模型是否能够更好地进行预测。
正在评估
我们会评估经过训练的模型,以确定它的学习效果。在评估模型时,我们会使用加标签的数据集,但仅向模型提供数据集的特征。然后,我们会将模型的预测结果与标签的真实值进行比较。
图 4. 通过将机器学习模型的预测结果与实际值进行比较来评估机器学习模型。
根据模型的预测,我们可能会在实际应用中部署模型之前进行更多的训练和评估。
检查您的理解情况
推理
对评估模型的结果感到满意后,我们就可以使用模型对无标签样本进行预测(称为推断)。在天气应用示例中,我们将为模型提供当前的天气条件(如温度、大气压和相对湿度),并预测降雨量。