2021-08-31-Cross-Validation(交叉验证)

我们可以把整个数据集分成两部分,一部分用于训练,一部分用于验证,这也就是我们经常提到的训练集(training set)和测试集(test set)。最终模型与参数的选取将极大程度依赖于你对训练集和测试集的划分方法。基于这样的背景,有人就提出了Cross-Validation方法,也就是交叉验证。

K-fold Cross Validation

如果K=5,那么我们利用五折交叉验证的步骤就是:

1.将所有数据集分成5份

2.不重复地每次取其中一份做测试集,用其他四份做训练集训练模型,之后计算该模型在测试集上的

3.将5次的取平均得到最后的MSE

K的选取

K的选取是一个Bias和Variance的trade-off。

K越大,每次投入的训练集的数据越多,模型的Bias越小。但是K越大,又意味着每一次选取的训练集之前的相关性越大(考虑最极端的例子,当k=N,每次都训练数据几乎是一样的)。而这种大相关性会导致最终的test error具有更大的Variance。

一般来说,根据经验我们一般选择k=5或10

你可能感兴趣的:(2021-08-31-Cross-Validation(交叉验证))