正如你目前所看到的,神经网络的性能非常依赖超参数。因此,了解这些参数如何影响网络变得至关重要。

常见的超参数是学习率、正则化器、正则化系数、隐藏层的维数、初始权重值,甚至选择什么样的优化器优化权重和偏置。

超参数调整过程

  1. 调整超参数的第一步是构建模型。与之前一样,在 TensorFlow 中构建模型。
  2. 添加一种方法将模型保存在 model_file 中。在 TensorFlow 中,可以使用 Saver 对象来完成。然后保存在会话中:

     
  3. 确定要调整的超参数,并为超参数选择可能的值。在这里,你可以做随机的选择、固定间隔值或手动选择。三者分别称为随机搜索、网格搜索和手动搜索。例如,下面是用来调节学习率的代码:

     
  4. 选择对损失函数给出最佳响应的参数。所以,可以在开始时将损失函数的最大值定义为 best_loss(如果是精度,可以选择将自己期望得到的准确率设为模型的最低精度):

     
  5. 把你的模型放在 for 循环中,然后保存任何能更好估计损失的模型:

除此之外,贝叶斯优化也可以用来调整超参数。其中,用高斯过程定义了一个采集函数。高斯过程使用一组先前评估的参数和得出的精度来假定未观察到的参数。采集函数使用这一信息来推测下一组参数。https://github.com/lucfra/RFHO上有一个包装器用于基于梯度的超参数优化。

最新文章

  1. 简单的css js控制table隔行变色
  2. MS SQL Server带有时间的记录怎样查询
  3. LoadRunner 脚本学习 -- 指针基础
  4. 【Unity3D基础教程】给初学者看的Unity教程(七):在Unity中构建健壮的单例模式(Singleton)
  5. HDU5052 Yaoge’s maximum profit(LCT)
  6. Xwindow的文章
  7. 原生js 实现的瀑布流
  8. DataBase 总结开篇
  9. css()和 attr()的区别
  10. php5.3 appache phpstudy win7win8win10下 运行速度慢
  11. create mysql database
  12. DotNET应用架构设计指南 安全 运行管理和通讯策略
  13. 微信小程序设置域名、不校验域名
  14. 《A Knowledge-Grounded Neural Conversation Model》
  15. Python 字符串十六进制流
  16. 伪静态规则RewriteRule-htaccess
  17. Kafka 概念、单机搭建与使用
  18. Nodejs 使用log4js日志
  19. 《Linux内核原理与分析》第四周作业
  20. golang struct tag

热门文章

  1. LibreOJ #515 贪心只能过样例
  2. Jmeter基础-下载与安装
  3. CPU上下文切换以及相关指标的理解
  4. Java 在PPT中创建SmartArt图形、读取SmartArt图形中的文本
  5. Java——参数传递
  6. 附021.Traefik-ingress部署及使用
  7. 将字符串按照一行N个内容展示,并保存到txt文档当中
  8. 【Linux】CentOS 7安装与使用,安装jdk1.8,安装mysql
  9. Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
  10. Java实现 LeetCode 224 基本计算器