-
引入
在机器学习与深度学习中,我们经常将数据集划分为训练集与测试集。训练集用来训练优化模型,测试集用来评估模型的泛化能力。在数据集划分的过程中,存在着不同的抽样和验证方法,下面介绍 三种较为常用的方法。
-
Hold-Out
Hold-Out 是基本的划分方法,字面意思就是“留出来一部分”,即将数据集直接按照一定比例划分。例如常用的 “2/8” 与 “3/7”,含义为训练集 80% 或 70%,相应的测试集占 20% 或 30%.
Hold-Out 的缺点较为明显,即在验证集上计算的出来的 最后评估指标与原始数据的顺序有很大关系。为了消除特殊性,研究者提出了 “交叉验证”。
-
K-Fold CV
K-Fold Cross Validation,K 折交叉验证。首先将数据集划分成 K 个大小相等的样本子集;而后依次遍历这 K 个子集,第 次 遍历会将第 个子集作为验证集,其余所有子集作为训练集进行模型的训练与评估;最后将 K 次的评估指标的平均值 作为最终评估指标。
最常用的是 K=10. 而当 时,称为 留一交叉验证。即每次只将一个样本当做测试集。在 数据集总量非常大 时,留一交叉验证的开销非常大。
-
Bootstrap
不管是 Hold-Out 还是 K-Fold CV,它们都是基于划分数据集的方法进行模型评估的。然而当 样本规模较小 时,将样本进行划分会让训练集进一步减小,这可能会影响模型训练的效果。此时可采用采样方法。
其中自助法 Bootstrap 较为常用。对于总数为 n 的数据集,进行 n 次有放回的随机抽样,得到 大小为 n 的 训练集。n 次采样的过程中,有的样本会被重复采样,有的样本没有被抽出,将这些 没有被抽出 的样本作为 验证集。
在最终完成样本抽样后,有 36.8% 的数据未被抽到。计算方法:
假设共有 n 个样本,每个样本不被抽到的概率为 ,
扫描二维码关注公众号,回复: 4526392 查看本文章抽取 n 次都不被抽到的概率为 ,当 时,
根据重要极限 ,
求得:
数据划分 - Hold-Out、K-Fold CV、Bootstrap
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37352167/article/details/85028835
猜你喜欢
转载自blog.csdn.net/weixin_37352167/article/details/85028835
今日推荐
周排行