背景 一般来说在训练时会将数据分为两部分,一部分用于训练,另一部分用于验证。这会引起以下几点问题: 首先数据的切割是人为/随机的,不同切割可能会导致模型的不同精度。或者说人为切割的验证集有可能偏离了真实分布。 其次训练数据被分为两部分,验证集不参与训练,网络的数据来源缩水了,影响训练效果。虽然最后会将所有训练数据都丢入模型中来评估测试集,但是在这之前评估模型或者说模型调参还是只能使用一部分的训练数据 基本概念 K是一个指定的数字。执行K折交叉验证时,首先会将数据划分成(大致)相等的K个部分,每部分叫做一个折。每次选取其中一个折作为验证集,由其他K-1个折作为训练集训练模型,训练好的模型用验证集评估正确性。 换句话说,K折交叉验证将会产生K个模型,最后得到的精度将是这K个模型精度的均值。 交叉验证一般用于评估模型的泛化性能,也可以使用带交叉验证的网格搜索确定超参数。 优缺点 K折交叉验证的精度结果反映了模型对数据集中的所有样本都有较好的泛化性 通过对数据的多次划分,提供了模型对于训练集选择的敏感性信息。即反映了数据在最好/最坏情况下模型的表现情况。 交叉验证使数据使用更高效,K越

机器学习 · 2023-04-01 · 367 人浏览
K折交叉验证|K Fold
Theme Jasmine by Kent Liao