[英]Understanding Cross Validation for Machine learning
我不认为这是正确的。 你写了:
一旦 model 被训练,“遗漏”训练数据用于执行超参数调整
您通过选择(手动或使用网格搜索或随机搜索等方法)一组模型的超参数(您设置值的参数,甚至在您将 model 拟合到数据之前)来调整 model。 然后,对于一组选定的超参数值,您可以使用交叉验证计算验证集误差。
所以它应该是这样的:
训练数据分为不同的组,除了一个训练数据集外,所有训练数据集都用于训练 model。一旦训练了 model,“遗漏”的训练数据用于...
...计算误差。 在交叉验证结束时,您将在 k 个遗漏集上计算出 k 个错误。 您接下来要做的是计算这 k 个错误的平均值,这会为您提供一个值 - 验证集错误。
如果你有 n 组超参数,你只需重复该过程 n 次,这会给你 n 个验证集错误。 然后你选择这个给你最小验证错误的集合。
最后,您通常会计算测试集误差以查看模型在未见数据上的性能如何,模拟将 model 投入生产并查看测试集误差和验证集误差之间是否存在差异。 如果存在显着差异,则意味着过拟合。
只是在交叉验证本身上添加一些东西,我们使用 k-CV 或 LOOCV 的原因是它是很好的测试集错误估计,这意味着当我使用超参数进行操作并且验证集错误的值下降时,我知道我真的改进了 model 而不是幸运,只是更好地使 model 适合训练集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.