分类
根据输入输出类型的不同,预测问题可以分为以下三类。
分类问题:输出变量为有限个离散变量,当个数为 2 时即为最简单的二分类问题;
回归问题:输入变量和输出变量均为连续变量;
标注问题:输入变量和输出变量均为变量序列。
按照任务训练特点分类:
监督学习:基于已知类别的训练数据进行学习;
无监督学习:基于未知类别的训练数据进行学习;
半监督学习:同时使用已知类别和未知类别的训练数据进行学习。
误差性能
在机器学习中,误差被定义为学习器的实际预测输出与样本真实输出之间的差异。
在分类问题中,常用的误差函数是错误率,即分类错误的样本占全部样本的比例。
误差可以进一步分为训练误差和测试误差两类。
训练误差指的是学习器在训练数据集上的误差,也称经验误差(老数据);
测试误差指的是学习器在新样本上的误差,也称泛化误差(新数据)。
过拟合和欠拟合
如果接触的外国人较少,从没见过双眼皮的韩国人,思维中就难免出现“单眼皮都是韩国人”的错误定式,这就是典型的过拟合现象,把训练数据的局部特征错当做整体的特征。过拟合出现的原因通常是学习时模型包含的参数过多,从而导致训练误差较低但测试误差较高。
与过拟合对应的是欠拟合。如果说造成过拟合的原因是学习能力太强,造成欠拟合的原因就是学习能力太弱,以致于训练数据的基本性质都没能学到。如果学习器的能力不足,甚至会把黑猩猩的图像误认为人,这就是欠拟合的后果。
交叉验证
为了对测试误差做出更加精确的估计,一种广泛使用的方法是交叉验证。交叉验证思想在于重复利用有限的训练样本,通过将数据切分成若干子集,让不同的子集分别组成训练集与测试集,并在此基础上反复进行训练、测试和模型选择,达到最优效果。
如果将训练数据集分成 10 个子集 D1−10 进行交叉验证,则需要对每个模型进行 10 轮训练,其中第 1 轮使用的训练集为 D2~D10 这 9 个子集,训练出的学习器在子集 D1 上进行测试;
第 2 轮使用的训练集为 D1 和 D3~D10 这 9 个子集,训练出的学习器在子集 D2 上进行测试。依此类推,当模型在 10 个子集全部完成测试后,其性能就是 10 次测试结果的均值。不同模型中平均测试误差最小的模型也就是最优模型。