如果想尝试调整一些超参数,该如何选择调试值呢?

在早一代的机器学习算法中,如果有两个超参数,常见的做法是在网格中取样点,然后系统的研究这些数值,例如放置5∗55*55∗5的点,实际证明,网格可以是5∗55*55∗5,也可多或可少。

对于这个例子,可以尝试所有的25个点,然后选择哪个参数效果最好。当参数的数量相对较少时,这个方法很实用。

在深度学习领域,推荐使用下面的做法。随机选择点,可以选择同等数量的25个点,接着用这些随机取的点试验超参数的效果,之所以这么做是因为对于你要解决的问题而言,很难提前知道那个超参数最重要。举个例子,假设超参数一是α\alphaα学习速率,取一个极端例子,假设超参数二是AdamAdamAdam算法中分母中ε\varepsilonε,这种情况下α\alphaα的取值很重要,而ε\varepsilonε的取值则无关紧要。

如果在网格中取点,接着试验了α\alphaα的5个取值,那么会发现无论ε\varepsilonε取何值,结果基本上都是一样的。一共有25种模型,但是进行试验的α\alphaα值只有5个。如果随机取值,可以试验25个独立的α\alphaα的值,这样似乎可以发现效果最好的那个。

这种两个参数的情况,如果有三个超参数,要搜索的不是一个方格,而是一个立方体,接着在三维立方体中取值,你会试验大量的更多的值。

在实践中,要搜索的可能不止三个超参数,有时很难预知哪个是最重要的超参数。对于具体应用而言,随机取值而不是网格取值表明,探究了更多重要超参数的潜在值。

无论结果是什么,当你给超参数取值时,另一个惯例是采用从粗糙到精细的策略。比如在二维的例子中进行取值,也许会发现效果最好的某个点,也许这个点周围的其它一些点效果也很好。那么接下来要做的是放大这块小区域,然后在其中更密集地取值或随机取值,聚集更多的资源在这个小区域中搜索。如果你怀疑这些超参数在这个区域的最优结果,拿在整个的方格中进行粗略搜索后,接下来聚焦在更小的方格中。在更小的方格中,可以更密集地取点。所以这种从粗到细的搜索也经常使用。通过实验超参数的不同取值,可以选择对于训练集目标而言的最优值或对于开发集而言的最优值,或者在超参搜索过程中你最想优化的东西。

改善深层神经网络:超参数调整、正则化以及优化 —— 3.1调试处理相关推荐

  1. 交叉验证和超参数调整:如何优化您的机器学习模型

    In the first two parts of this article I obtained and preprocessed Fitbit sleep data, split the data ...

  2. 2020-6-9 吴恩达-改善深层NN-w3 超参数调试(3.3 超参数训练的实践:Pandas(资源少,一次一个模型) VS Caviar(资源多,一次多个模型))

    1.视频网站:mooc慕课https://mooc.study.163.com/university/deeplearning_ai#/c 2.详细笔记网站(中文):http://www.ai-sta ...

  3. python/keras中用Grid Search对神经网络超参数进行调参

    原文:How to Grid Search Hyperparameters for Deep Learning Models in Python With Keras 作者:Jason Brownle ...

  4. 02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法(作业:优化方法)

    文章目录 1. 梯度下降 2. mini-Batch 梯度下降 3. 动量 4. Adam 5. 不同优化算法下的模型 5.1 Mini-batch梯度下降 5.2 带动量的Mini-batch梯度下 ...

  5. 02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面(作业:初始化+正则化+梯度检验)

    文章目录 作业1:初始化 1. 神经网络模型 2. 使用 0 初始化 3. 随机初始化 4. He 初始化 作业2:正则化 1. 无正则化模型 2. L2 正则化 3. DropOut 正则化 3.1 ...

  6. 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架(作业:TensorFlow教程+数字手势预测)

    文章目录 1. 探索TensorFlow库 1.1 线性函数 1.2 计算 sigmoid 1.3 计算损失函数 1.4 One_Hot 编码 1.5 用0,1初始化 2. 用TensorFlow建立 ...

  7. 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架

    文章目录 1. 调试处理 2. 为超参数选择合适的范围 3. 超参数调试的实践 4. 归一化网络的激活函数 5. 将 Batch Norm 拟合进神经网络 6. Batch Norm 为什么奏效 7. ...

  8. 02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法

    文章目录 1. Mini-batch 梯度下降 2. 理解 mini-batch 梯度下降 3. 指数加权平均数 4. 理解指数加权平均数 5. 指数加权平均的偏差修正 6. 动量Momentum梯度 ...

  9. 02.改善深层神经网络:超参数调试、正则化以及优化 W1.深度学习的实践层面

    文章目录 1. 训练,验证,测试集 2. 偏差,方差 3. 机器学习基础 4. 正则化 5. 为什么正则化预防过拟合 6. dropout(随机失活)正则化 7. 理解 dropout 8. 其他正则 ...

  10. 深度学习(二)吴恩达给你的人工智能第一课: 02.改善深层神经网络:超参数调试、正则化以及优化

    目录 第一周 深度学习的实用层面 1.1 训练 / 开发 / 测试集 1.1.1. 训练集.验证集.测试集 ​         1.2 偏差 / 方差 1.3 机器学习基础 1.3.1.降低偏差/降低 ...

最新文章

  1. java ajax返回json数据json对象
  2. java websocket 客户端
  3. Serverless 与容器决战在即?有了弹性伸缩就不一样了
  4. 织梦内容管理系统(DedeCMS)
  5. 过滤器java面试_过滤器监听器面试题都在这里
  6. mysql更新视图的时候有时候可以不满足视图条件的值也能更新成功
  7. [react] React为什么要搞一个Hooks?
  8. mtk pwmlinux timer
  9. java中ArrayList类的操作
  10. 网线重新插拔后恢复正常_生活小窍门之网线不够长怎么办,毕亚兹网线连接器轻松搞定...
  11. Linux物理CPU及逻辑CPU查看
  12. 什么是类加载,又有哪些类加载器你真的了解吗?
  13. iSPRINT:Google 最高能的创新加速课程,产品一次就成的助推器!
  14. 黑客使用浏览器中的浏览器技术窃取Steam凭证
  15. mine 规范_2016国家最新设计及验收标准名称汇编GB
  16. javascript实现的中国象棋单机双人
  17. 电视剧《春草》剧情介绍
  18. 损坏的映像 错误0xc0000020
  19. STP特性(Cisco)
  20. 八爪鱼怎样导入mysql_网页数据如何导出到数据库 - 八爪鱼采集器

热门文章

  1. NGINX配置邮件代理服务器
  2. JavaScript缓存处理代码
  3. ZooKeeper -- API文档
  4. JavaScript自学笔记(1)---表单验证,let和const,JSON文件
  5. [2021] node连接oracle数据库示例[使用oracle官方组件]
  6. [webpack-cli] Unable to load ‘@webpack-cli/serve‘ command
  7. 【编程】基本程序设计模式
  8. 【Python】科赫雪花绘制
  9. C#LeetCode刷题之#530-二叉搜索树的最小绝对差(Minimum Absolute Difference in BST)
  10. C#LeetCode刷题之#119-杨辉三角 II(Pascal‘s Triangle II)