zoukankan      html  css  js  c++  java
  • 2017/7/20 朱兴全教授*讲座观点与总结第三讲:多层神经网络

    一、多层神经网络(为什么可以解决多种问题)

    多层神经网络:在输入和输出层上有隐含层,可以克服单层神经网络的限制处理非线性分离问题

    • 多层有更大的区分度,多条线去拟合

      第三个图中,每一个方块对应第二个图中神经网络,即有两个隐含层。


    二、Feedforward Neural Networks

    1、FF NN模型

    选择sigmoid函数作为激活函数的原因是其处处可导。

    多层神经网络的误差,输出误差(期望输出与真实输出的差)、单个样本网络误差(单个样本对应所有输出与期望输出的误差)、所有样本的网络误差。

    前馈神经网络

    loss:期望与实际情况的差异  去调整权重。观察到某种情况下(某一权重分布下)的影响(输出结果),去更改行为(权重),以使其往期望的方向改变。

    2、训练:BP算法

    重复:

    • 前向传递  从输入到输出的计算,得到error
    • 后向传递  从输出层开始,误差反向传播,对每一个神经元计算局部梯度,更改权重(最后层附近更改权重是最大的,越往前影响越弱,如绳子抖波浪一样)

    算法步骤:

     2、BP规则的推导(个人认为十分调理清晰,简单易懂,非常推荐看看)

    输出层与隐含层神经元的权重更新不同

     

    各个层到底学到的是什么?

    权重与特征并不同等,具有可区分性的特征对应的权重值更大,对应点(神经元)response更高。

     这里有一个demo,适合运行在32位的计算机上,希望后面有时间来运行一下(64位要在x86里更改什么来着。。。)

    http://www.inf.ed.ac.uk/teaching/courses/inf1-cg/labs/lab6/mcmaster/digit-demo.html

     

     训练停止法则:两点,一是整个平均误差平方达到一个很小的值。二是使用验证集,整个模型的泛化性能表现足够良好。

    • 有效数据集:训练数据集、验证集(监测误差,决定是否停止迭代)、测试集
    • 控制好模型的复杂度与泛化能力

    • 通过交叉验证选择合适的模型

    3、神经网络设计

    数据表示

    ①网络拓扑结构(层数等)

    ②网络参数(权重、学习率、隐藏层数和神经元个数、训练集样本个数)

     

  • 相关阅读:
    kubernetes部署1.15.0版本
    搭建时间服务器
    创建mysql容器
    制作带sshd功能的centos镜像
    容器操作
    镜像制作
    elk日志系统
    k8s基于canel的网络策略
    k8s的flannel网络插件配置
    k8s搭建WebUI--Dashborad管理界面
  • 原文地址:https://www.cnblogs.com/betterforever/p/7220454.html
Copyright © 2011-2022 走看看