keras 模型用于预测时的注意事项

为什么训练误差比测试误差高很多?

一个Keras的模型有两个模式:训练模式测试模式。一些正则机制,如Dropout,L1/L2正则项在测试模式下将不被启用。

另外,训练误差是训练数据每个batch的误差的平均。在训练过程中,每个epoch起始时的batch的误差要大一些,而后面的batch的误差要小一些。另一方面,每个epoch结束时计算的测试误差是由模型在epoch结束时的状态决定的,这时候的网络将产生较小的误差。

【Tips】可以通过定义回调函数将每个epoch的训练误差和测试误差并作图,如果训练误差曲线和测试误差曲线之间有很大的空隙,说明你的模型可能有过拟合的问题。当然,这个问题与Keras无关。

在keras中文文档中指出了这一误区,笔者认为产生这一问题的原因在于网络实现的机制。即dropout层有前向实现和反向实现两种方式,这就决定了概率p是在训练时候设置还是测试的时候进行设置

利用预训练的权值进行Fine tune时的注意事项:

不能把自己添加的层进行将随机初始化后直接连接到前面预训练后的网络层

  • in order to perform fine-tuning, all layers should start with properly trained weights: for instance you should not slap a randomly initialized fully-connected network on top of a pre-trained convolutional base. This is because the large gradient updates triggered by the randomly initialized weights would wreck the learned weights in the convolutional base. In our case this is why we first train the top-level classifier, and only then start fine-tuning convolutional weights alongside it.
  • we choose to only fine-tune the last convolutional block rather than the entire network in order to prevent overfitting, since the entire network would have a very large entropic capacity and thus a strong tendency to overfit. The features learned by low-level convolutional blocks are more general, less abstract than those found higher-up, so it is sensible to keep the first few blocks fixed (more general features) and only fine-tune the last one (more specialized features).
  • fine-tuning should be done with a very slow learning rate, and typically with the SGD optimizer rather than an adaptative learning rate optimizer such as RMSProp. This is to make sure that the magnitude of the updates stays very small, so as not to wreck the previously learned features.

keras 模型用于预测时的注意事项相关推荐

  1. R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测时间序列数据

    在本文中,我将介绍ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型如何用于预测给定的时间序列数据. 使用后移运算符计算滞后差异 我们可以使用backshift运算符来执行 ...

  2. python回归分析预测模型_在Python中如何使用Keras模型对分类、回归进行预测

    姓名:代良全 学号:13020199007 转载自:https://www.jianshu.com/p/83ba11abdffc [嵌牛导读]: 在Python中如何使用Keras模型对分类.回归进行 ...

  3. Mask Rcnn tensorflow(keras前端)模型 c++预测 windows系统

    <1> 背景: 先介绍写这篇博客的目的,因为本人是个gayhub搬运工,在搜索如标题的代码发现好难找得到,而且几乎好难找到,找了好久,找了好多大佬的代码,再加上本人的辣鸡代码(自己都看不下 ...

  4. 开发和设计实现LSTM模型用于家庭用电的多步时间序列预测

    鉴于智能电表的兴起以及太阳能电池板等发电技术的广泛采用,有大量的用电数据可供选择.该数据代表了多变量时间序列的功率相关变量,这些变量又可用于建模甚至预测未来的电力消耗. 与其他机器学习算法不同,长期短 ...

  5. 如何使用Keras和TensorFlow建立深度学习模型以预测员工留任率

    The author selected Girls Who Code to receive a donation as part of the Write for DOnations program. ...

  6. LSTM模型(基于Keras框架)预测特定城市或者区域的太阳光照量实战

    LSTM模型(基于Keras框架)预测特定城市或者区域的太阳光照量实战 LSTM在解决序列预测的问题时非常强大,因为它们能够存储之前的信息. LSTM是一种时间递归神经网络,它出现的原因是为了解决RN ...

  7. python加载模型包占用内存多大_如何保持Keras模型加载到内存中并在需要时使用它? - python...

    我正在阅读Keras blog讲解如何使用Flask创建简单的图像分类器Restful API.我想知道如何在不使用python的其他Web框架中实现加载模型的相同方法. 在下面的代码中,将在服务器启 ...

  8. keras训练完以后怎么预测_一文告诉你如何将Keras模型保存到文件中,并再次加载它们来进行预测。...

    Keras是一个用于深度学习的简单而强大的Python库. 鉴于深度学习模式可能需要数小时.数天甚至数周的时间来培训,了解如何保存并将其从磁盘中加载是很重要的. 在本文中,您将发现如何将Keras模型 ...

  9. Keras之MLP:利用MLP【Input(8)→(12)(relu)→O(sigmoid+二元交叉)】模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测

    Keras之MLP:利用MLP[Input(8)→(12)(relu)→O(sigmoid+二元交叉)]模型实现预测新数据(利用糖尿病数据集的八个特征实现二分类预测 目录 输出结果 实现代码 输出结果 ...

最新文章

  1. 使用C++的Socket实现从客户端到服务端,服务端到客户端传输文件
  2. 言有三文章 - AI系列完整阅读
  3. docker mysql日志写入本地_Docker Compose搭建MySQL主从复制集群
  4. opencv 图像旋转_用Dlib和OpenCV还能做什么?这个开源项目实现了驾驶员疲劳检测...
  5. visjs使用小记-1.创建一个简单的网络拓扑图
  6. android MotionEvent中getX()和getRawX()的区别
  7. oracle 带有变量的语句_【成都校区】Oracle SQL语句之常见优化方法总结
  8. c语言08,标准C语言08_01.doc
  9. 数组:三种初始化及内存分析
  10. mysql 5.7 flashback_Flashback for MySQL 5.7
  11. 关于ppt中嵌入echarts图表
  12. Python:IPython性能度量
  13. C/C++指针数组与数组指针彻底搞明白
  14. 安装mp4,mp3等媒体解码器
  15. 大气数据计算机仿真算法,自适应光学系统中大气湍流的模型分析与计算机仿真...
  16. TP6如何配置多应用?
  17. 标准模型与随机预言模型的比较
  18. python安装pip之后镜像源配置
  19. Using setJavaScriptEnabled can Introduce XSS Vulnerabilities into
  20. 【小样本基础】Meta-Learning 元学习流程:图解MAML代码

热门文章

  1. Kubernetus自传
  2. java获取keyvault_利用KeyVault来加强存储Azure Storage访问密钥管理
  3. matlab 图像显著性检测ft_图像显著性检测总结
  4. bom表_MicroProfile 2.2 BOM导入支持
  5. 中南大学计算机有网络安全,中南大学2019年大学生网络安全知识竞赛(复赛)成功举行...
  6. java反射机制关键字驱动_搭建关键字驱动自动化测试框架
  7. cocos网络通信php,cocos2d-x网络编程 连接php服务器笔记2
  8. cad文本改宋体字型lisp_CAD绘图员必须掌握的15个高能技巧,别人3天工作量你半天搞定!...
  9. 手工纸盒子_【创意手工】怒赞!如此有趣的儿童折纸,你不学我学!
  10. 水文特点是什么意思_一级建造师是什么意思?一级建造师报考指南