• 数据归一化

数据归一化包括三个内容:数据缩放的本质、区别,以及选择合适的缩放方法。缩放包括归一化和标准化,两者的本质都是一个线性变换,线性变换有很多良好的性质,这些性质决定了为什么对数据进行改变后竟然不会失效,反而还能提高数据的表现。例如线性变换不会改变数值的排序。 归一化和标准化的而区别,归一化是统一到一定的区间(由极值决定),而标准化和整体样本由很大关系。
什么时候使用归一化/标准化, 如果对输出结果范围要求,用归一化;如果数据较为稳定,不存在极端的最大最小值,用归一化;如果存在噪音和异常值,可以使用标准化处理。
数据归一化后,最优解在寻优过程中变得平缓,更容易正确收敛到最优解。引入归一化,是由于不同评价指标中,其量纲单位往往不同,变化区间处于不同的数量级,不进行归一化,可能导致某些目标被忽视。

  • 没有检测预处理结果和最终的训练测试集结果
  • 预处理结果的标签是否对应;
  • 忘了做数据预处理
  • 直接输入了源数据,导致了输入网络源端错误,致使整个网络无法收敛;
  • 忘了使用正则化

过拟合现象很普遍,根本原因还是数据量不足以支撑复杂度高的模型,因此最直接的解决过拟合问题的办法是增加训练数据量。但要获得带标签的数据成本是很高的。 正规化不仅仅是控制过度拟合。通过在训练过程中引入一些随机过程,您在某种意义上“平滑”了成本环境。这可以加速培训,帮助处理数据中的异常值,并防止网络的极端重量配置。

  • Batch Size设的太大

合适的Batch,内存利用率提高,矩阵乘法的并行效率高;跑完一次epoch所需要的迭代次数减少;批次越大,确定下降的维度方向越准确,引起训练震荡越小。
过大的batch: 内存利用率提高,可能导致内存容量撑不住;跑完一次epoch的次数减少,但要达到相同的精度,从而对参数的修正也显得更加缓慢;增大到一定程度,其确定的下降方向已经不再变化。
太大导致了下降方向变化不大,从而引起模型的不收敛现象产生。

  • 学习率设置的不对

学习率是一个重要的超参数,学习率越小,沿着损失梯度下降的速度越慢,从模型训练过程而言,学习率的选择 很重要,防止错过任何局部最优解,也意味着着我们要花更多的时间收敛,尤其是如果我们处于曲线的至高点。
如果学习率太小,网络很可能会陷入局部最优,局部最优导致了不收敛;但是如果太大,超过了极值,损失就会停止下降,在某一位置反复震荡, 反复震荡也会导致模型的不收敛。

  • 激活函数使用的不对

激活函数导致了隐含层输出特征表示出现了数据未归一化的问题。

  • 网络存在坏梯度

一般梯度存在为0,在模型训练中可以默认一个梯度值,如超过改梯度值,则设为该值,否则就以原先值进行梯度衰减。

  • 参数初始化错误
  • 网络太深

第一:层数的增多会使每一层任务都变得简单,例如计算乘法,可以在第一层计算按位加法,第二层计算两个数的加法,第三层计算乘法,这样的算法逻辑更加简单,清晰。也就是说中间层可以做更深的抽象。
第二:数学上可以证明只有一层隐藏层的神经网络可以表示任意的函数,但是神经元的数量却是指数级增加的,但是使用深层网络可以解决这个问题。
一味的增加隐藏层数量并不会给最终的结果带来好处,但是上文已经说了层数的增加可以使神经网络提升,那么问题的原因就是增加后的网络的权重不对。实际上,梯度消失和梯度爆炸都是梯度不稳定的表现,这是因为浅层的神经元=后面所有神经元的乘积,所以当层数增多后容易引起不稳定的表现。
隐藏层神经元数量错误

神经网络不收敛的查缺补漏相关推荐

  1. EFCore查缺补漏(二):查询

    相关文章: EFCore查缺补漏 第 20 轮 TechEmpower 评测结果出炉了,ASP.NET Core 的 Plaintext 成绩名列前茅,带着 EFCore 的测试却在 Single q ...

  2. I2C总线学习—查缺补漏—S3C2440的I2C控制器

    I2C总线学习-查缺补漏-S3C2440的I2C控制器                  学习了IIC总线协议的理论部分,觉得应该学习具体操作2440的IIC控制器,毕竟最终都是为了学习S3C2440 ...

  3. I2C总线学习—查缺补漏—应答信号ACK

    I2C总线学习-查缺补漏-应答信号ACK           IIC协议规定,当主机作为接收设备时,主机对最后一个字节不应答,以向发送设备(从设备)标识数据传送结束.这是因为每次传输都应得到应答信号后 ...

  4. I2C总线学习—查缺补漏—对数据有效性的思考

    I2C总线学习-查缺补漏-对数据有效性的思考 IIC协议规定:SDA上传输的数据必须在SCL为高电平期间保持稳定,SDA上的数据只能在SCL为低电平期间变化.IIC期间在脉冲上升沿把数据放到SDA上, ...

  5. 查缺补漏:集和与非平凡属性

    查缺补漏:集和与非平凡属性 前面的习题和知识点补充 Conjunctive normal form(CNF)是布尔逻辑的一种方法,它将公式表示为带有AND或or的子句的连词.由连词or AND连接的每 ...

  6. 赫斌老师数据结构视频查缺补漏笔记

    赫斌老师数据结构视频查缺补漏笔记 观看学习赫斌老师数据结构的视频,记录下自己之前学习这块内容时似懂非懂的知识,仅针对自己查缺补漏使用 视频链接:<郝斌老师数据结构自学视频> 1.指针的大小 ...

  7. C++查缺补漏之异常(续)

    此文是文章<C++查缺补漏之异常>:http://blog.csdn.net/ii1245712564/article/details/44617881的后续 1.异常的重新抛出 可能单个 ...

  8. 「查缺补漏」高频考点浏览器面试题

    前言 想要成为一名合格的前端工程师,掌握相关浏览器的工作原理是必备的,这样子才会有一个完整知识体系,要是「能参透浏览器的工作原理,你就能解决80%的前端难题」. 这篇梳理的话,更多的是对浏览器工作原理 ...

  9. MySQL查缺补漏 从无到有

    MySQL查缺补漏 从无到有 有这一篇就够了 数据库概述 SQL概述 什么是数据库 MySQL概述 SQL的分类 DOS命令窗口使用MySQL的基本命令 查看MySQL的版本 进入MySQL 导入数据 ...

最新文章

  1. 如何理解分时系统的四个特征
  2. 归并排序以及三种常见优化
  3. OC中的数组,常使用的函数,怎样将字符串写到文件中,将数组写到文件中
  4. html 一条线两种颜色,HTML5/CSS3超酷进度条 不同进度多种颜色
  5. Mask_RCNN训练自己的模型(练习)
  6. ajax 传参数 java后台接收
  7. oracle 11.2 安装asm,oracle11r2安装asm+rac配置步骤.doc
  8. 《Python Cookbook 3rd》笔记(1.17):从字典中提取子集
  9. 03 | AI 术语:让你变得更加专业
  10. Updating Homebrew... ...长时间卡住的问题
  11. 文本分类的14种算法
  12. easyui tree的简单使用
  13. 【BZOJ3631】松鼠的新家 树链剖分
  14. PhotoShop: PSD精准切图
  15. msf之msfvenom的使用—使用Kali渗透工具生成远控木马
  16. 坑逼的PL2303与WIN11
  17. linux 发送at指令,AT指令(打电话与发短信)
  18. 大数据Hadoop之——Spark SQL+Spark Streaming
  19. MySQL面试题——in是否使用【索引】
  20. Android 高德地图之自定义导航

热门文章

  1. (王道408考研操作系统)第四章文件管理-第二节3:减少延迟时间的方法
  2. 15. 二进制中1的个数
  3. Postfix实现代理Exchange邮件传输方案
  4. golismero web扫描器
  5. PMP是什么,PMP最难的是哪些内容?
  6. Visual Studio调试技巧
  7. 无法将 DBNull.Value 强制转换为类型“System.DateTime”。请使用可空类型
  8. 大数据解密之你的同事都跳槽到了哪些公司
  9. 网易云音乐评论催泪刷屏?我用Python抓取了1008328条热评告诉你为什么!
  10. LwIP之ARP协议