神经网络训练中的训练集、验证集以及测试集合
2015-11-21 16:30
399 查看
1:在NN训练中我们很常用的是训练集合以及测试集合,在训练集合上训练模型(我个人认为模型就是训练的方法以及对应的参数值,更偏重于参数值吧),训练好之后拿到测试集合上验证模型的泛华(就是该模型可以拿去实战的效果)的能力。
2:但是对于上述情况,举个例子,比如是在训练一个多层网络,我们用类似minFUNC的方法来训练,那么这个优化包会直接根据我们的输入直接迭代出来一个很好地结果了,此时模型就训练好了。但是如果运用SGD这些方法去训练的话,到底迭代多少次算好?有时候可能也不收敛,只是中间过程中的一个参数值是效果最好的,那我们如何知道这个参数值?
3:个人认为有了验证集,真的很适合来使用SGD来训练,在训练过程中,比如训练了一个epoch,那么来把训练好的参数用于验证集上,然后保存在验证集合上的精度,只要改精度满足一定条件,那么训练就可以终止。
4:关于训练集、验证集以及测试集合的选择,这个网上资料很多,不在这里说了。
补充一个伪代码:
2:但是对于上述情况,举个例子,比如是在训练一个多层网络,我们用类似minFUNC的方法来训练,那么这个优化包会直接根据我们的输入直接迭代出来一个很好地结果了,此时模型就训练好了。但是如果运用SGD这些方法去训练的话,到底迭代多少次算好?有时候可能也不收敛,只是中间过程中的一个参数值是效果最好的,那我们如何知道这个参数值?
3:个人认为有了验证集,真的很适合来使用SGD来训练,在训练过程中,比如训练了一个epoch,那么来把训练好的参数用于验证集上,然后保存在验证集合上的精度,只要改精度满足一定条件,那么训练就可以终止。
4:关于训练集、验证集以及测试集合的选择,这个网上资料很多,不在这里说了。
补充一个伪代码:
for each epoch for each training data instance propagate error through the network adjust the weights calculate the accuracy over training data for each validation data instance calculate the accuracy over the validation data if the threshold validation accuracy is met exit training else continue training
相关文章推荐
- 神经网络编程入门
- 安卓基础总结 httpClient上传下载
- 浅谈在三级城市如何运营一家网络公司
- HTTP状态码
- python模块之httplib(在py3中功能进一步强大,请详看文档)
- ubuntu 14.04如何配置固定IP
- 计算机网络(第6版):自顶向下方法-资源文件
- TCP/IP分片
- Python实现TCP\UDP客户端
- 雁过留痕 - 整理不错的网络资源(持续更新)
- httpd-2.2.25安装
- 雁过留痕 - 值得“在此一游”的网络资源(持续更新中)
- Http常见返回数据
- iOS9—xcode7常见错误https问题解决
- AJAX——核心XMLHttpRequest对象
- poj 3308 Paratroopers(网络流 最小割 dinic模板)
- [BZOJ1596] [Usaco2008 Jan]电话网络
- webdriver工作原理-体验webdriver发送http的过程
- phonegap-网络访问与调用android手机硬件设备
- http的头信息详解(转)