阿里云天池零基础入门CV赛事(6)——模型训练与验证

Task4 模型训练与验证

1 训练集、验证集和测试集

训练集(Train Set):模型用于训练和调整模型参数
验证集(Validation Set):用来验证模型精度和调整模型超参数
测试集(Test Set):验证模型的泛化能力
阿里云天池零基础入门CV赛事(6)——模型训练与验证_第1张图片
假设用一个长方形表示训练数据,我们通常会将这些数据划分成三部分,一部分作为训练集(Train Set),一部分作为验证集(Validation Set),最后一部分则作为测试集(Test Set)。
在机器学习发展的小数据量时代,常见做法是将所有数据三七分,就是人们常说的 70% 训练集,30%测试集,如果没有明确设置验证集,也可以按照 60%训练集,20%验证集和 20%测试集来划分。
但是在大数据时代,我们现在的数据量可能是百万级别,那么验证集和测试集占数据总 量的比例会趋向于变得更小。假设我们有 100 万条数据,其中 1 万条作为验证集,1 万条作为测试集, 100 万里取 1 万,比例是 1%,即:训练集占 98%,验证集和测试集各占 1%。

验证集的划分有如下几种方式:
留出法(Hold-Out)
直接将训练集划分成两部分,新的训练集和验证集。这种划分方式的优点是最为直接简单;缺点是只得到了一份验证集,有可能导致模型在验证集上过拟合。留出法应用场景是数据量比较大的情况。
交叉验证法(Cross Validation,CV)
将训练集划分成K份,将其中的K-1份作为训练集,剩余的1份作为验证集,循环K训练。这种划分方式是所有的训练集都是验证集,最终模型验证精度是K份平均得到。这种方式的优点是验证集精度比较可靠,训练K次可以得到K个有多样性差异的模型;CV验证的缺点是需要训练K次,不适合数据量很大的情况。
自助采样法(BootStrap)
通过有放回的采样方式得到新的训练集和验证集,每次的训练集和验证集都是有区别的。这种划分方式一般适用于数据量较小的情况。

2 欠拟合和过拟合

欠拟合(underfitting)发生于模型不能在训练集上获得足够低的误差。
过拟合(overfitting)发生于训练误差和和测试误差之间的差距太大。
如果给一个数据集拟合一条直线,可能得到一个逻辑回归拟合,但 它并不能很好地拟合该数据,这是高偏差(high bias)的情况,称为“欠拟合(” underfitting)。
如果拟合一个非常复杂的分类器,比如深度神经网络或含有隐藏单元的神经 网络,可能就非常适用于这个数据集,但是这看起来也不是一种很好的拟合方式分类器方差 较高(high variance),数据过度拟合(overfitting)。
在两者之间,复杂程度适中,数据拟合适度的分类器,这 个数据拟合看起来更加合理,称之为“适度拟合”(just right)是介于过度拟合和欠拟合 中间的一类。
阿里云天池零基础入门CV赛事(6)——模型训练与验证_第2张图片
参考
吴恩达:深度学习
吴恩达:机器学习
天池Task4: https://tianchi.aliyun.com/notebook-ai/detail?spm=5176.12586969.1002.9.2ce83fdfRzsurs&postId=108780

总有一个遗忘的过程,记录一下为以后查找方便。

你可能感兴趣的:(机器学习)