美文网首页
机器学习 Chapter 5 神经网络

机器学习 Chapter 5 神经网络

作者: 香草_冰激凌 | 来源:发表于2017-09-06 15:25 被阅读0次

    神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应

    最基本的成分是神经元模型,即“简单单元”
    每个神经元与其他神经元相连,当它兴奋时(电位超过阈值),会向相连的神经元发送化学物质,从而改变这些神经元的电位。

    M-P 神经元模型(阈值逻辑单元)
    理想的激活函数是阶跃函数(1:神经元兴奋 0:神经元抑制),但由于其不连续不光滑,常用Sigmoid函数作为激活函数
    激活函数
    许多个神经元按一定的层次结构连接起来就得到了神经网络
    神经网络是包含了许多参数的数学模型,是若干个函数相互嵌套而得

    感知机由两层神经元组成,输入层接收外界输入信号后传递给输出层


    感知机学习规则:

    n∈(0,1) 称为学习率(learning rate)

    感知机学习能力有限,只有输出层神经元进行激活函数处理,只拥有一层功能神经元
    感知机对线性可分问题 一定会收敛 求得适当的权向量
    否则会发生震荡 难以稳定 不能求得合适解

    多层前馈神经网络(multi-layer feedforward neural networks):
    每层神经元与下一层神经元全互联,不存在同层连接和跨层连接。
    隐层(hidden layer):输出层与输入层之间的神经元层
    “单隐层网络” or “两层网络” (包含隐层都可称为多层网络)

    隐含层 和 输出层 神经元都是拥有激活函数的功能神经元

    多层前馈神经网络

    神经网络学到的东西蕴含在连接权阈值之中


    误差逆传播(Error BackPropagation BP)算法: 迭代学习算法训练多层神经网络
    基于梯度下降策略,以目标的负梯度方向对参数进行调整

    • 输入示例提供给神经网络,产生输出层结果
    • 计算输出层误差
    • 将误差逆向传播至隐层神经元
    • 根据隐层神经元误差对连接权和阈值进行调整


    BP算法的目标是要最小化训练集上的累计误差

    标准BP算法

    • 是针对一个训练样例更新参数,参数更新频繁,需要多次迭代
    • 对不同样例,更新效果可能出现“抵消”

    累计BP算法

    • 读取整个训练集后才进行参数更新,频率低
    • 在很多任务中,当累计误差下降到一定程度后,进一步下降非常缓慢

    BP神经网络经常会过拟合,训练误差降低但测试误差可能上升

    • 早停:当训练集误差降低但测试误差身高时停止训练,返回最小验证集误差的参数
    • 正则化:在误差目标函数中增加一个用于描述网络复杂度的部分(e.g. 连接权与阈值的平方和)

    “跳出”局部最小,获得全局最小

    • 多组不同参数值初始化多个神经网络
    • 使用模拟退火,每一步以一定概率(随时间推移而降低)接受比当前解更差的结果
    • 使用随机梯度下降,计算梯度时加入随机因素

    常见神经网络

    神经网络

    深度学习

    无监督逐层训练是多隐层网络训练的有效手段

    • 预训练:每次训练一层隐结点。上一层隐结点输出作为输入,本层隐结点输出作为下一次的输入。
    • 微调:预训练全部完成后,对整个网络进行微调
      E.G. 深度信念网络DBN
      或者
    • 权共享:让一组神经元使用相同的连接权。
      E.G. 卷积神经网络CNN

    相关文章

      网友评论

          本文标题:机器学习 Chapter 5 神经网络

          本文链接:https://www.haomeiwen.com/subject/yvdyjxtx.html