1.K折交叉验证
在之前的任务中,我们学习了交叉验证,是一个在新的数据集上来检验机器学习模型的精确性,该模型没有受过训练。具体的说,我们将专注于保持验证技术,它涉及:
。 将所有的数据集一分为二:
一个为训练集
一个为测试集
。 在训练集上训练模型
。使用训练的模型在测试集上预测标签
。计算一个误差度量值(例:简单的精度)来理解模型的精度。
保持验证是是大型验证技术的一个特例,被称作K折交叉验证。K-折交叉验证的运行模式:
。将数据集K 等分
选出K-1 个分区作为训练集
选出剩下的部分作为测试集
。在训练集上训练模型
。使用训练的模型在测试集上预测标签
。计算一个错误度量值(例:简单精度),留作后用。
。重复以上步骤K-1次,直到每个部分都已经被当做测试集一次迭代一次。
。计算平均的K的误差值。
对于K折交叉验证来说,使用5或10折是类似的。这里有一图表来描述一个5折交叉验证的每一次迭代、
循环1
测试 | 训练 | 训练 | 训练 | 训练 |
循环2
训练 | 测试 | 训练 | 训练 | 训练 |
循环3
训练 | 训练 | 测试 | 训练 | 训练 |
循环4
训练 | 训练 | 训练 | 测试 | 训练 |
循环5
训练 | 训练 | 训练 | 训练 | 测试 |
由于你训练K模型,折数越多,你将需要使用更长来表达。当研究大的数据集时,由于时间和金钱的制约,经常仅仅只有一小部分折数被使用,尽管只有很少的折数,可以通过有更多的训练示例来平衡这一点,从而提高精确度。