matlab - K 折交叉验证 - 每次折叠后是否初始化网络?

标签 matlab validation neural-network training-data

我主要了解 k 折交叉验证的工作原理,并已开始将其实现到我的 MATLAB 脚本中,但是我有两个问题。

当使用它来选择网络特征时(在我的例子中,隐藏单元、权重衰减和无迭代)。我应该在每次“折叠”后重新初始化权重,还是应该将我的下一个训练折叠输入已经训练好的网络(它的权重已经针对前一次折叠进行了优化)?

似乎做后者应该给出较低的错误,因为前一折叠数据将是下一个数据折叠的一个很好的近似值,因此权重将比那些从高斯分布随机初始化的权重更接近。

此外,使用 k-fold 验证验证网络,并选择网络超参数等,我想开始使用网络,我认为我应该停止使用 k-fold 验证并只训练一次,使用所有可用的数据?

非常感谢您的帮助。

最佳答案

是的,您应该在每次折叠后重新初始化权重,以便从“空白”网络开始。如果你不这样做,那么每个折叠都会相互“泄漏”,这不是 K-Fold CV 应该做的。

找到最佳超参数后,是的,您可以使用所有可用数据对其进行训练。请记住保留一些保留的测试数据以进行最终测试。

关于matlab - K 折交叉验证 - 每次折叠后是否初始化网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42052576/

相关文章:

matlab - 子图的中心图在 Matlab 中奇怪地缩放

windows - 安装希伯来语字体matlab

javascript - RegEx unicode 名称验证(仅允许破折号、点、空格、撇号)

python - 评估期间 Experimenter 中的 tensorflow 混淆矩阵

python - CTC损失下降并停止

neural-network - caffe:模型定义:使用 caffe.NetSpec() 编写具有不同阶段的同一层

c++ - Microsoft Visual C++ 2008 和 R2007b 的 Mex 类型

matlab - 在 MATLAB 中替换单元格的值

ajax - JSF文件下载异常处理(如何防止 View 重绘)

php - 验证为表单的属性