作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在深度神经网络中进行交叉验证?我知道执行交叉验证将在所有折叠上训练它,除了一个折叠并在排除的折叠上测试它。然后对 k 次折叠执行此操作,并平均每次折叠的准确率。您如何为每次迭代执行此操作。您是否在每次折叠时更新参数?或者您对每次迭代执行 k 折交叉验证?或者对所有折叠的每次训练都被视为一次迭代?
最佳答案
Cross-validation是机器学习中防止过度拟合的通用技术。在深度学习模型上做这件事和在线性回归上做这件事没有区别。所有 ML 模型的想法都是一样的。您在问题中描述的简历背后的基本思想是正确的。
但是,您如何为每次迭代执行此操作的问题没有意义。 CV 算法中没有任何与训练时的迭代相关的内容。您训练了模型,然后才对其进行评估。
您是否在每次折叠时更新参数?。你训练相同的模型 k 次,而且很可能每次你都会有不同的参数。
DL 中不需要 CV 的答案是错误的。 CV 的基本思想是更好地估计模型在有限数据集上的表现。所以如果你的数据集很小,训练 k 个模型的能力会给你一个更好的估计(缩小是你花费了 ~k 倍的时间)。如果您有 1 亿个示例,很可能拥有 5% 的测试/验证集已经可以给您一个很好的估计。
关于tensorflow - 深度神经网络中的交叉验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44475682/
我是一名优秀的程序员,十分优秀!