人工智能学习之路——第二章模型评估与选择

  • 错误率(error rate):分类错误的样本a/样本总数m,E=a/m
  • 精度(accuracy):1-错误率,1-a/m
  • 训练误差(training error)/经验误差(empirical error):学习器在训练集上的误差
  • 泛化误差(generalization error):在新样本上的误差

我们希望找到在新样本中表现好的学习器,为此,应该从训练集中尽可能的学到适用与所有潜在样本的“普遍规律”

  • 过拟合(overfitting):学习器把训练样本学习得太好了,很可能将样本集自身中的一些特点当作所有潜在样本都会具有的一般性质(学过头了)
  • 欠拟合(underfitting):对训练样本的一般性质尚未学好(没学好)

过拟合是机器学习所面临的关键障碍
人工智能学习之路——第二章模型评估与选择_第1张图片

2.2评估方法

对于机器模型的“模型选择”,理想上是通过对候选模型的泛化误差进行评估,然后选择泛化误差最小的模型 。
但由于我们无法直接获得泛化误差,可以通过测试集来测试学习器对新样本判别能力,将测试集上的测试误差(testing error)作为泛化误差的近似。
我们只有一个包含 m个样例的数据集在这里插入图片描述在这里插入图片描述
既要训练又要测试,通过对D进行适当的处理,产生训练集S,测试集T 。处理方法:

2.2.1留出法(hold-out)

直接将数据集D划分为两个互斥的集合训练集S,测试集T 即
在这里插入图片描述
注意:单次使用留出法得到的估计结果不够可靠,一般采用若干次随机划分,重复进行实验评估后去平均值作为留出法的评估结果。 (2/3~4/5的样本用于训练,剩下的用于测试)

2.2.2交叉验证法(cross validation)

将数据集D划分为k个大小相似的互斥子集,即 在这里插入图片描述
每一个子集都尽可能的保证数据分布的一致性(从D中通过分层采样得到)
然后每次使用k-1个子集的并集作为训练集,余下的一个子集作为测试集,可获得k组训练集/测试集,
从而可进行k次训练和测试 ,
最终返回k个测试结果的均值(k通常取10, 5, 20)
特例:留一法
D中包含m个样本,令k=m,训练集与初始数据集只相差一个样本,测试集只有一个样本
所以在绝大多数情况下,留一法中被实际评估的模型与期望评估用D训练出来的模型很相似,所以留一法往往被认为比较准确的
缺陷:但数据集较大时,计算开销十分庞大

2.2.3自助法(bootstrapping)

问题提出:我们希望评估的是用D训练出来的模型,但在留出法和交叉检验法中保留了一部分样本用于测试,必然会引入一些因训练样本规模不同所导致的估计偏差,而留一法虽然受到样本规模变化的影响不大,但其计算复杂度太高

为了减少训练样本规模不同所造成的影响,同时比较高效地实验实验估计

自助法:给定包含d个样本的数据集D,对其进行数据采样产生数据集D’:每次随机从D中选出一个样本,将其拷贝到D’中此过程重复m次;样本在m次采样中不被抽中的概率是在这里插入图片描述
取极限:
在这里插入图片描述
初始数据集D中约有1/3的样本未出现在采样数据集D’中,于是可将D’作为训练集,D-D’作为测试集

注意:自助法在数据集较小、难以有效划分训练集和测试集时很有用;在初始数据量足够时,留出法和交叉验证法更常用一些

你可能感兴趣的:(人工智能)