2.2 评估方法 机器学习

我们若有一个包含m个样例的数据集,若我们既需要训练,也需要测试,我们该如何处理呢?下面是几种方法:

2.2.1 留出法

"留出法"直接将数据集D划分为两个互斥的集合,其中一个作为训练集S,另一个作为测试集T。在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。

需要注意的是,训练/测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。比如在分类任务中至少要保持样本的类别比例相似。如果从采样角度来看待数据集的划分过程,则保留类别比例的采样方式通常称为**"分层采样"**。若S、T中样本类别比例相差很大,则误差估计将由于训练\测试数据分布的差异而产生偏差。

另一个需要注意的是,即使我们划分的很合理,由于每次数据的偶然性,往往不同的划分得到的结果不同,所以单次使用留出法得到的结果往往不可靠,在使用留出法时,一般要采用若干次随机划分、重复进行试验评估后取平均值作为留出法的评估结果。例如进行100次随机划分,每次产生一个训练\测试集用于实验评估,100次后就得到100次结果,而留出法是返回这100次结果的平均。

此外,我们希望的是用D训练出来的模型的性能,但是由于我们的留出法会划分的原因,倘若我们的S过大,我们的T就比较小,导致模型评估不准确,但是倘若以S过小,我们的训练与原本D的差别就更大了。对于这样的问题,我们常见的做法是大约将2/3~4/5的样本用于训练,剩余样本用来测试。

2.2.2 交叉验证法

"交叉验证法"先将数据集D分为k个大小相似的互斥子集。即,每个子集都尽可能保持数据分布的一致性,即从D中分层采样中得到,然后每次用k-1个子集作为训练集,余下那个作为测试集,从而得到k次测试,最终返回这k个测试结果的均值。显然,交叉验证法评估结果的稳定性和保真性很大程度上取决于K的取值,为强调这一点,我们把交叉验证法称为**"K折交叉验证"**,K最常用的取值是10,此时称为10折验证。

与留出法相似,将数据集D划分为k个子集同样存在多种划分方式,为减小因样本划分不同而引起的差别,k折交叉验证通常要随机使用不同的划分方法重复p次,最终取这p次k折验证结果的均值。

假设数据集D中包含M个样本,若令K=M,则得到了交叉验证法的一个特例:"留一法"。显然,留一法不受随机样本划分方式的影响,,因为M个样本只有唯一的方法划分,而且留一法所用的训练集只比原来少了1个,因此,留一法的评估结果往往被认为比较准确,但是这并不代表他没有缺点,当数据过大时,训练m个模型的开销可能是计算机无法承受的。另外,留一法的评估结果也并非一定永远比其他方法准确,"没有免费的午餐"定理对评估方法同样适用。

2.2.3 自助法

有没有什么方法能减少训练样本规模不同造成的影响,同时还能比较高效的进行试验评估呢?

自助法:给定包含M个样本的数据集D,我们对它采样产生数据集D':每次随机从D中挑选一个样本将其拷贝进入D',结束在将其放回D中,这个过程重复M次后,我们就得到了包含M个样本的数据集D'。显然,我们的D'中可能有数多次出现,也可能D中有数一直没出现在D'中。我们假设在m次采样中没有被采样到的概率是,取极限得:

有百分之36.8的样本没出现在D'中。我们将D'用作训练集,D\D'用作测试集,这样我们依然有将近三分之一的样本没出现在训练集中的用于测试,这样的测试结果,也称为**"包外估计"**。

自助法在数据集较小,难以有效划分训练\测试集时有用,此外,自助法能从初始数据集中产生多个不同的训练集,这对集成学习等方法大有好处;但是由于其改变了原始的数据分布,会引出估计误差,因此在数据量足的情况下我们不常用此方法

2.2.4 调参与最终模型

大多数算法都有些参数需要设定,参数配置不同,学得模型的性能往往有差别。因此,在进行模型评估和选择时,除了要对适用学习算法进行选择,还需要对算法参数进行设定,这就是通常所说的**"参数调节"** 或简称**"调参"**。

相关推荐
Tianyanxiao31 分钟前
如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选
大数据·人工智能·科技·数据分析·深度优先·零售
撞南墙者37 分钟前
OpenCV自学系列(1)——简介和GUI特征操作
人工智能·opencv·计算机视觉
OCR_wintone42139 分钟前
易泊车牌识别相机,助力智慧工地建设
人工智能·数码相机·ocr
王哈哈^_^1 小时前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
一者仁心1 小时前
【AI技术】PaddleSpeech
人工智能
是瑶瑶子啦1 小时前
【深度学习】论文笔记:空间变换网络(Spatial Transformer Networks)
论文阅读·人工智能·深度学习·视觉检测·空间变换
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
柳鲲鹏2 小时前
OpenCV视频防抖源码及编译脚本
人工智能·opencv·计算机视觉
西柚小萌新2 小时前
8.机器学习--决策树
人工智能·决策树·机器学习
向阳12182 小时前
Bert快速入门
人工智能·python·自然语言处理·bert