0.深度神经网络

​​​​​​​深度神经网络(DNN) - 走看看深度神经网络(DNN) 深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础,而要理解DNN,首先我们要理解DNN模型,下面我们就对DNN的模型与前向传播算法做一http://t.zoukankan.com/Leo_wl-p-6422336.html

1.如何确定神经网络的层数和隐藏层神经元数量?

参考:

如何确定神经网络的层数和隐藏层神经元数量 - 知乎一、导语BP神经网络主要由 输入层、隐藏层、输出层构成,输入和输出层的节点数是固定的,不论是回归还是分类任务,选择合适的层数以及隐藏层节点数,在很大程度上都会影响神经网络的性能。 输入层和输出层的节点数…https://zhuanlan.zhihu.com/p/100419971

输入层和输出层:

输入层和输出层的节点数量很容易得到。输入层的神经元数量等于待处理数据中输入变量的数量,输出层的神经元的数量等于与每个输入关联的输出的数量。但是真正的困难之处在于确定合适的隐藏层及其神经元的数量

隐藏层:

隐藏层的层数:

  • 没有隐藏层:仅能够表示线性可分函数或决策
  • 隐藏层数=1:可以拟合任何“包含从一个有限空间到另一个有限空间的连续映射”的函数
  • 隐藏层数=2:搭配适当的激活函数可以表示任意精度的任意决策边界,并且可以拟合任何精度的任何平滑映射
  • 隐藏层数>2:多出来的隐藏层可以学习复杂的描述(某种自动特征工程)

隐藏层中神经元个数:

通常,对所有隐藏层使用相同数量的神经元就足够了。对于某些数据集,拥有较大的第一层并在其后跟随较小的层将导致更好的性能,因为第一层可以学习很多低阶的特征,这些较低层的特征可以馈入后续层中,提取出较高阶特征。

需要注意的是,与在每一层中添加更多的神经元相比,添加层层数将获得更大的性能提升。因此,不要在一个隐藏层中加入过多的神经元

对于如何确定神经元数量,有很多经验之谈。

stackoverflow上有大神给出了经验公式以供参考:

还有另一种方法可供参考,神经元数量通常可以由一下几个原则大致确定:

这三条规则为您考虑神经元数量提供了一个起点

  • 隐藏神经元的数量应在输入层的大小和输出层的大小之间。
  • 隐藏神经元的数量应为输入层大小的2/3加上输出层大小的2/3。
  • 隐藏神经元的数量应小于输入层大小的两倍。

原文链接:Review on Methods to Fix Number of Hidden Neurons in Neural Networks

总而言之,隐藏层神经元是最佳数量需要自己通过不断试验获得,建议从一个较小数值比如1到5层和1到100个神经元开始,如果欠拟合然后慢慢添加更多的层和神经元,如果过拟合就减小层数和神经元。此外,在实际过程中还可以考虑引入Batch Normalization, Dropout, 正则化等降低过拟合的方法。

https://towardsdatascience.com/designing-your-neural-networks-a5e4617027edhttps://towardsdatascience.com/designing-your-neural-networks-a5e4617027ed

2.超参数:使用贝叶斯优化优化超参数的模板

TFDeepSurv/hpopt.py at master · liupei101/TFDeepSurv · GitHubCOX Proportional risk model and survival analysis implemented by tensorflow. - TFDeepSurv/hpopt.py at master · liupei101/TFDeepSurvhttps://github.com/liupei101/TFDeepSurv/blob/master/bysopt/hpopt.py关于optimizer选择:

神经网络优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam - 理想几岁 - 博客园1. SGD Batch Gradient Descent 在每一轮的训练过程中,Batch Gradient Descent算法用整个训练集的数据计算cost fuction的梯度,并用该梯度对模型https://www.cnblogs.com/zongfa/p/9727073.html深度学习 loss下降后上升在下降_关于深度学习的优化器选择_weixin_39562185的博客-CSDN博客优化器的种类有很多,概括起来常用的有五类:随机梯度下降(SGD, stochastic gradient descent)SGDM(加入了一阶动量)AdaGrad(加入了二阶动量)RMSPropAdam以下是我跑的五种优化器模型画出来的loss和acc曲线对比图loss和acc曲线对比图在lr=0.1,epoch=500的训练条件下,5种优化器都可以成功收敛。在训练时间方面,Rmsprop训练耗时...https://blog.csdn.net/weixin_39562185/article/details/110896331

为什么loss曲线在训练中经常会有一段断崖式下降,如图是resnet论文中的损失图,也是有断崖式下降?

为什么loss曲线在训练中经常会有一段断崖式下降,如图是resnet论文中的损失图,也是有断崖式下降? - 知乎知乎,中文互联网高质量的问答社区和创作者聚集的原创内容平台,于 2011 年 1 月正式上线,以「让人们更好的分享知识、经验和见解,找到自己的解答」为品牌使命。知乎凭借认真、专业、友善的社区氛围、独特的产品机制以及结构化和易获得的优质内容,聚集了中文互联网科技、商业、影视、时尚、文化等领域最具创造力的人群,已成为综合性、全品类、在诸多领域具有关键影响力的知识分享社区和创作者聚集的原创内容平台,建立起了以社区驱动的内容变现商业模式。https://www.zhihu.com/question/361643687

画图

​​​​​​​史上最全!27种神经网络简明图解:模型那么多,我该怎么选?-阿里云开发者社区https://developer.aliyun.com/article/394446

BP神经网络(BPNN)——参数确定相关推荐

  1. 机器学习 | MATLAB实现BP神经网络newff参数设定(下)

    机器学习 | MATLAB实现BP神经网络newff参数设定(下) 目录 机器学习 | MATLAB实现BP神经网络newff参数设定(下) 基本介绍 程序设计 参考资料 致谢 基本介绍 newff搭 ...

  2. 机器学习 | MATLAB实现BP神经网络newff参数设定(上)

    机器学习 | MATLAB实现BP神经网络newff参数设定(上) 目录 机器学习 | MATLAB实现BP神经网络newff参数设定(上) 基本介绍 程序设计 参考资料 致谢 基本介绍 newff搭 ...

  3. 机器学习 | MATLAB实现BP神经网络newff参数设定(中)

    机器学习 | MATLAB实现BP神经网络newff参数设定(中) 目录 机器学习 | MATLAB实现BP神经网络newff参数设定(中) 基本介绍 程序设计 参考资料 致谢 基本介绍 newff搭 ...

  4. BP神经网络原理与matlab实现

    个人博客文章链接: http://www.huqj.top/article?id=166 BP神经网络,即"反向传播"神经网络,是一种被广泛运用的人工神经网络,它的思想就是通过反向 ...

  5. BP神经网络(原理及代码实现)

    前言   本文主要内容是BP神经网络的Python实现(借助tensorflow库)和C++实现(未借助相关库) Python实现BP神经网络 import os os.environ['TF_CPP ...

  6. 基于遗传算法优化的BP神经网络

    文章目录 BP神经网络和遗传算法 算法用途 实例分析 BP神经网络 GA-BP神经网络 遗传算法的步骤: GA-BP神经网络MATLAB源码 实现形式(一) 实现形式(二) 实现形式(三) BP神经网 ...

  7. BP神经网络工具箱使用

    BP神经网络工具箱使用 文章内容部分参考自基于matlab实现BP算法的神经网络 - 阿璃阿狸 - 博客园 (cnblogs.com) [数模国赛救急]11分钟学会matlab神经网络工具箱哔哩哔哩b ...

  8. 蚁群算法优化BP神经网络回归预测的算法设计-附代码

    蚁群算法ACO优化BP神经网络回归预测的算法设计及其MATLAB代码实现 文章目录 蚁群算法ACO优化BP神经网络回归预测的算法设计及其MATLAB代码实现 1. 蚁群算法简介 2. 蚁群算法优化BP ...

  9. BP神经网络如何用历史数据预测未来数据

    本文主要为了解决如何用BP神经网络由历史的目标数据与因素数据去预测未来的目标数据.Bp神经网络的具体算法步骤与代码在网络上已经有很多大佬写过了,本文提供了将其应用于预测的方法.(附简单直接可使用代码) ...

  10. 鲸鱼优化算法优化BP神经网络回归预测的算法设计-附代码

    鲸鱼优化算法WOA优化BP神经网络回归预测模型以及MATLAB代码实现 文章目录 鲸鱼优化算法WOA优化BP神经网络回归预测模型以及MATLAB代码实现 1. 算法描述 2. 鲸鱼优化算法优化BP神经 ...

最新文章

  1. 微信小程序开发简易计算器改进版
  2. 蓝牙驱动卸载后自动安装_智能产品 | 安装水循环系统后,全自动洗车机洗车会更节水吗?...
  3. sftp 服务器外网访问设置
  4. Jersey注解详解
  5. 虚拟机照样飞速跑Windows Server2008
  6. python 时间序列预测_使用Python进行动手时间序列预测
  7. vc++操作mysql数据库的技巧
  8. 定时器计数器工作方式
  9. svg 动画_svg 动画介绍(一)
  10. 【中级03】class loader subsystem详解
  11. 应用案例 | 从Storm到Flink,有赞五年实时计算效率提升实践
  12. linux解决用户权限不够问题
  13. Ubuntu16.04安装NVIDIA Titan Xp显卡驱动
  14. 并发请求:统计数据收集模式
  15. 1区SCI潜力刊,中科院分区即将更新,有望冲击2区
  16. java实现数组的奇偶数互换
  17. 2022应届校招面试总结
  18. G-S稳定匹配算法详解
  19. [BJDCTF 2nd]假猪套天下第一
  20. Turf.js(地理空间GIS分析的js库),处理地图相关算法

热门文章

  1. php网站静态页面模板,用PHP制作静态网站的模板框架
  2. JAVA反射————基础版
  3. 如何下载矢量电子地图
  4. 波特率与频率的换算公式?_变压器损耗计算公式
  5. 大数据物流项目:概述及Docker入门(一)
  6. 阿里云搭建MQTT物联网服务器
  7. linux netperf,Netperf性能测试工具
  8. Lottie动画的使用
  9. Origin安装Could not connect to Internet Origin installation requires an Internet Connection
  10. SSH和SSM对比总结