2.2 学习范式
2.2.1 有监督学习
假设存在一个包含n个样本的数据集,其中xi~X⊆ℝd是一个从d维输入空间X中采样得到的样本,yi ∈ Y是样本xi的真实标签(输出空间Y可能是离散的也可能是连续的)。给定数据集D,有监督学习的目标是学习一个从输入空间到输出空间的映射函数:f:X→Y。在有监督学习过程中,我们在数据集D上训练模型f,使其在每个样本x上的预测值f(x)都尽可能地接近真实标签y,而此训练过程就是最小化模型在数据集D上的经验风险的过程。有监督学习可定义如下:
其中,θ表示模型f的参数,L(f(x),y)为损失函数,定义了模型输出与真实标签之间的差距。损失函数值越小,说明模型对数据集D的拟合越好(但可能会过拟合)。
根据输出变量Y的类型,有监督学习问题又分为分类问题和回归问题。在分类问题中,输出变量Y的取值范围为有限个离散值组成的集合,每个离散值是一个“类别”。解决分类问题的模型包括随机森林、支持向量机、深度神经网络等。在回归问题中,输出变量Y为连续型变量,学习一个回归模型等价于拟合一个从输入变量映射到输出变量的函数。解决回归问题的模型包括线性回归模型、逻辑回归模型、深度神经网络等。实际上,很多机器学习模型既可以用于分类问题也可以用于回归问题,并没有严格的界限,分类与回归问题也大多可以相互转换。
作为一种统计学习任务,有监督学习要求模型具有对未知数据的良好泛化性能,因此过拟合是有监督学习必须要面对的问题。前文提到过解决过拟合的一些方法,如使用基于L2范数的权重衰减(weight decay)[见式(2.10)]、使用数据增广、使用早停法等。正则化是这些方法的核心,如数据增广、随机失活(dropout)等都可以被理解为一种正则化。实际上,提升模型泛化性的最好方法往往是简单粗暴地增加训练数据。此外,在训练数据已确定的情况下,我们还可以使用各种数据增广(data augmentation)方法来丰富训练数据。数据增广相当于对训练样本x进行某种变换t来产生新的样本t(x),一般不改变类别y。对图像数据来说,常用的数据增广方法有翻转、旋转、裁剪、缩放、颜色变换、Cutout、Mixup、Cutmix、AutoAugment等。此外,向输入中添加随机或者特定的噪声也是一种常见的数据增广方式。
在有监督学习中,数据的标签类型和标注准确率会对模型最后的性能产生很大的影响。对于分类任务来说,类别越多任务越难,类别越复杂任务也会越难,比如相较于单标签分类问题,多标签分类问题更难。此外,虽然我们使用的很多数据集是人工标注的,但是由于标注的困难(比如标记1000个类别),这些数据集难免会存在一些标注错误,给模型的训练带来一定挑战,这个也称为噪声标签(noisy label)问题。噪声标签问题在一些大规模数据集如ImageNet和COCO上普遍存在。同样地,测试集中也可能会存在噪声标签,会给模型的性能评估带来一定的不准确性。