我的机器学习教程「美团」算法工程师带你入门机器学习  以及 「三分钟系列」数据结构与算法  已经开始更新了,欢迎大家订阅~这篇专栏整合了这几年的算法知识,简单易懂,也将是我实体书的BLOG版。

欢迎大家扫码关注微信公众号「图灵的猫」,除了有更多AI、算法、Python相关文章分享,还有免费的SSR节点和外网学习资料。其他平台(微信/知乎/B站)也是同名「图灵的猫」,不要迷路哦~

Bengio在Learning Deep Architectures for AI 一书中举了一个有趣的例子。他说:最近有人表示,他们用传统的深度神经网络把训练error降到了0,也没有用你的那个什么破Pre-Training嘛!

然后Bengio自己试了一下,发现确实可以,但是是建立在把接近输出层的顶隐层神经元个数设的很大的情况下。于是他把顶隐层神经元个数限到了20,然后这个模型立马露出马脚了。无论是训练误差、还是测试误差,都比相同配置下的Pre-Training方法差许多。

也就是说,顶层神经元在对输入数据直接点对点记忆,而不是提取出有效特征后再记忆。这就是神经网络的最后一个致命问题:过拟合,庞大的结构和参数使得,尽管训练error降的很低,但是test error却高的离谱。

过拟合还可以和Gradient Vanish、局部最小值混合三打,具体玩法是这样的:

  1. 由于Gradient Vanish,导致深度结构的较低层几乎无法训练,而较高层却非常容易训练。

  2. 较低层由于无法训练,很容易把原始输入信息,没有经过任何非线性变换,或者错误变换推到高层去,使得高层解离特征压力太大。

  3. 如果特征无法解离,强制性的误差监督训练就会使得模型对输入数据直接做拟合。

其结果就是,A Good Optimation But a Poor Generalization,这也是SVM、决策树等浅层结构的毛病。

Bengio指出,这些利用局部数据做优化的浅层结构基于先验知识(Prior): Smoothness。即,给定样本(xi,yi)(xi,yi),尽可能从数值上做优化,使得训练出来的模型,对于近似的x,输出近似的y。

然而一旦输入值做了泛型迁移,比如两种不同的鸟,鸟的颜色有别,且在图像中的比例不一,那么SVM、决策树几乎毫无用处。

因为,对输入数据简单地做数值化学习,而不是解离出特征,对于高维数据(如图像、声音、文本),是毫无意义的。然后就是最后的事了,由于低层学不动,高层在乱学,所以很快就掉进了吸引盆中,完成神经网络三杀。

一个有趣的说法:多层神经网络的致命问题与过拟合相关推荐

  1. 人工智能知识全面讲解:多层神经网络与误差逆传播算法

    7.3.1 从单层到多层神经网络 明斯基教授曾表示,单层神经网络无法解决异或问题,但是当增加一个计 算层以后,两层神经网络不仅可以解决异或问题,而且具有非常好的非线性分 类效果.只是两层神经网络的计算 ...

  2. 【神经网络实验】Numpy手写多层神经网络

    引言 这个作业的目的是给你们介绍建立,训练和测试神经系统网络模型.您不仅将接触到使用Python包构建神经系统网络从无到有,还有数学方面的反向传播和梯度下降.但在实际情况下,你不一定要实现神经网络从零 ...

  3. 理解神经网络,从简单的例子开始(2)使用python建立多层神经网络

    这篇文章将讲解如何使用python建立多层神经网络.在阅读这篇文章之前,建议先阅读上一篇文章:理解神经网络,从简单的例子开始.讲解的是单层的神经网络.如果你已经阅读了上一篇文章,你会发现这篇文章的代码 ...

  4. 机器学习——人工神经网络之多层神经网络(多层与三层)

    目录 一.多层神经网络 1.多层神经网络数学模型 2.数学模型中的非线性函数fai 1)非线性函数fai存在的意义 2)非线性函数fai具体是什么? 3.多层神经网络与单层神经网络的区别与改进 1)单 ...

  5. 译文 | 与TensorFlow的第一次接触 第五章:多层神经网络

    北京 深度学习与人工智能研修12月23-24日 再设经典课程 重温深度学习阅读全文> 正文共5270个字,15张图,预计阅读时间14分钟. 本章中,我们继续使用之前章节中的MNIST数字识别问题 ...

  6. 【BP神经网络】使用反向传播训练多层神经网络的原则+“常见问题”

    (Principles of training multi-layer neural network using backpropagation) 使用反向传播训练多层神经网络的原则 (The pro ...

  7. 实验三 多层神经网络

    一.实验目的 (1)学习并掌握常见的机器学习方法: (2)能够结合所学的python知识实现机器学习算法: (3)能够用所学的机器学习算法解决实际问题. 二.实验内容与要求 (1)理解多层神经网络的架 ...

  8. Course 1 神经网络和深度学习 Week4 搭建多层神经网络识别猫图

    基本元素符号约定 上标 [l][l][l]代表神经网络的层数 lthl^{th}lth ,比如a[L]a^{[L]}a[L] 是 [L][L][L]层的激活, W[L]W^{[L]}W[L]是[L][ ...

  9. 多层神经网络 ——小批量梯度下降法

    在前面的课程中,我们知道为了实现非线性分类的任务,需要使用多层神经网络,多层神经网络的损失函数不再是凸函数,而是一种比较复杂的不规则函数,这类函数求导数非常困难,在求解极值问题时很难通过计算得到解析解 ...

  10. 深度学习与多层神经网络的区别

    作者:Bipolar Bear 链接:https://www.zhihu.com/question/26017374/answer/127924427 来源:知乎 著作权归作者所有.商业转载请联系作者 ...

最新文章

  1. mov word [LABEL_DESC_CODE32 + 2], ax
  2. Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
  3. 添加gitlab远程账号 使用注意事项
  4. 课时66.颜色控制属性下(理解)
  5. 【牛客 - 318G】LLLYYY的数字思维 与【牛客 - 289J】这是一个沙雕题II(贪心构造)
  6. SpringCloud与SpringConfig分布式配置中心
  7. linux 虚拟机设置好固定ip 修改了 dns 网络需要设置成桥接模式
  8. 将Matting结果转化为二分割结果
  9. 多线程依次接收信息并发送
  10. SQLite的SQL语法
  11. 汉字区位码---非常浅显的知识点
  12. 计算机与网络技术 英语,计算机与网络英语词汇(S3)
  13. 计算机教程无线路由器桥接上网,2个无线路由器桥接教程详细步骤
  14. pure-ftpd服务器搭建
  15. hashcat跑包小秘诀
  16. Android 智能机顶盒之蓝牙遥控器开机自动配对
  17. pyhton——爬小说网站(顶点最强国防生)
  18. 计算机处理器采用多核,电脑处理器多核心与高主频哪个更重要【详细介绍】
  19. 天猫双十一狂抢优惠券?机智的程序猿这么玩
  20. 适配USB接口奕力 ILITEK Multi-Touch-V5000

热门文章

  1. UVALive - 5713 最小生成树
  2. BZOJ 2763 飞行线路
  3. 利用partial关键字声明分部类和分部方法
  4. Linux下进行源码安装时如何避免找不到那些使用--prefix指定目录安装的依赖
  5. vb调用存储过程的方法
  6. 避免“被忽略” 如何向上司“喜传捷报”?
  7. Linux运维基础入门(二):网络基础知识梳理02
  8. java多线程中的死锁情况读书笔记
  9. 数据是ERP系统搭建的基础,但,不要让数据毁了ERP
  10. Ajax与jQuery、json