当我对深度学习模型进行交叉验证时,我正在努力计算准确性。我有两个候选人可以这样做。1. 用 10 个不同的折叠训练一个模型并获得它们的最佳精度(所以我得到 10 个最佳精度)并对它们进行平均。2. 训练一个有 10 个不同折叠的模型,得到 10 条准确度学习曲线。现在,通过计算每个 epoch 的 10 个准确度的平均值来平均这些学习曲线。所以现在我们得到一个平均准确度学习曲线,并从这条曲线中找到最高准确度。
在这两个候选人中,哪一个是正确的??
当我对深度学习模型进行交叉验证时,我正在努力计算准确性。我有两个候选人可以这样做。1. 用 10 个不同的折叠训练一个模型并获得它们的最佳精度(所以我得到 10 个最佳精度)并对它们进行平均。2. 训练一个有 10 个不同折叠的模型,得到 10 条准确度学习曲线。现在,通过计算每个 epoch 的 10 个准确度的平均值来平均这些学习曲线。所以现在我们得到一个平均准确度学习曲线,并从这条曲线中找到最高准确度。
在这两个候选人中,哪一个是正确的??
我想你可以用 10 次不同的折叠训练你的模型,并在每一次折叠中计算平均准确度。因此,您将有 10 个值 - 一个对应于每个折叠。然后取所有这些的平均值以获得模型的平均准确度。
您的第一个选项似乎不太好,因为您在折叠中获得了最高的准确性。如果由于某种原因,精度之间的差异很大,这会使您的数字产生偏差。取精度的平均值或中值可能更合理。
这有帮助吗?
在大多数情况下,我们选择取 k 折交叉验证的 k 个准确度的平均值;也就是说,每次取对应于折叠的那个,当每个折叠都被用作验证集时,找到它们的平均准确度。