了解机器学习的交叉验证
Understanding Cross Validation for Machine learning
以下关于交叉验证的说法正确吗?:
训练数据被分成不同的组,除了一个训练数据集外,所有训练数据集都用于训练模型。训练模型后,“遗漏”的训练数据将用于执行超参数调整。一旦选择了最佳超参数,就会将测试数据应用于模型以给出结果,然后将其与经历过类似过程但具有不同训练数据集组合的其他模型进行比较。然后选择在测试数据上具有最佳结果的模型。
我认为不正确。您写道:
Once the model is trained the ‘left out’ training data is used to perform hyperparameter tuning
您可以通过选择(手动或使用网格搜索或随机搜索等方法)一组模型的超参数(在您将模型与数据相匹配之前由您设置值的参数)来调整模型。然后,对于一组选定的超参数值,您可以使用 Cross-Validation.
计算验证集误差
所以应该是这样的:
The training data is divided into different groups, all but one of the training data sets is used for training the model. Once the model is trained the ‘left out’ training data is used to ...
...计算错误。在交叉验证结束时,您将在 k 个遗漏集上计算出 k 个错误。您接下来要做的是计算这 k 个误差的平均值,它会为您提供一个值 - 验证集误差。
如果你有 n 组超参数,你只需重复该过程 n 次,这会给你 n 个验证集错误。然后你选择这个给你最小验证错误的集合。
最后,您通常会计算测试集误差,以查看模型在未见数据上的性能,模拟将模型投入生产,并查看测试集误差和验证集之间是否存在差异错误。如果有显着差异,则表示over-fitting.
只是在cross-validation本身添加一些东西,我们使用k-CV或LOOCV的原因
是它是一个很好的测试集误差估计,这意味着当我使用超参数进行操作并且验证集误差值下降时,我知道我真的改进了模型而不是幸运并且只是更好地将模型拟合到训练集。
以下关于交叉验证的说法正确吗?:
训练数据被分成不同的组,除了一个训练数据集外,所有训练数据集都用于训练模型。训练模型后,“遗漏”的训练数据将用于执行超参数调整。一旦选择了最佳超参数,就会将测试数据应用于模型以给出结果,然后将其与经历过类似过程但具有不同训练数据集组合的其他模型进行比较。然后选择在测试数据上具有最佳结果的模型。
我认为不正确。您写道:
Once the model is trained the ‘left out’ training data is used to perform hyperparameter tuning
您可以通过选择(手动或使用网格搜索或随机搜索等方法)一组模型的超参数(在您将模型与数据相匹配之前由您设置值的参数)来调整模型。然后,对于一组选定的超参数值,您可以使用 Cross-Validation.
计算验证集误差所以应该是这样的:
The training data is divided into different groups, all but one of the training data sets is used for training the model. Once the model is trained the ‘left out’ training data is used to ...
...计算错误。在交叉验证结束时,您将在 k 个遗漏集上计算出 k 个错误。您接下来要做的是计算这 k 个误差的平均值,它会为您提供一个值 - 验证集误差。
如果你有 n 组超参数,你只需重复该过程 n 次,这会给你 n 个验证集错误。然后你选择这个给你最小验证错误的集合。
最后,您通常会计算测试集误差,以查看模型在未见数据上的性能,模拟将模型投入生产,并查看测试集误差和验证集之间是否存在差异错误。如果有显着差异,则表示over-fitting.
只是在cross-validation本身添加一些东西,我们使用k-CV或LOOCV的原因 是它是一个很好的测试集误差估计,这意味着当我使用超参数进行操作并且验证集误差值下降时,我知道我真的改进了模型而不是幸运并且只是更好地将模型拟合到训练集。