zoukankan      html  css  js  c++  java
  • 对隐藏层的简单理解

    本文转载自 对隐藏层的简单理解

      在多级前馈网当中,隐藏层的定义是:除输入层和输出层以外的其他各层叫做隐藏层。隐藏层不直接接受外界的信号,也不直接向外界发送信号。

      什么是输入层呢?和单级网络一样,该层只起到输入信号的扇出作用.所以在计算网络的层数时不被记入。该层负责接收来自网络外部的信息,被记作第0层。

      什么是输出层?它是网络的最后一层,具有该网络的最大层号,负责输出网络的计算结果。

      从上面的话可以粗略的看出,隐藏层与输入输出层一个最大的区别是它不直接接受外界的信号,也不直接向外界发送信号。书上有一段话是这样说的"显然,输入向量,输出向量的维数是由问题所直接决定的。然而,网络隐藏层的层数和各个隐藏 层神经元的个数则是与问题相关的。目前的研究结果还难以给出它们与问题类型及其规模之间的函数关系。实验表明,增加隐藏层的层数和隐藏层神经元的个数不一 定能够提高网络的精度和表达能力,在多数情况下,BP网一般都选用二级网络。"

      什么意思?和问题有关,但还不知道是什么关系。可以这样理解吧!

      隐藏层的提出是伴随着多级网络的概念一起提出的,它主要解决一个线性不可分问题(线性不可分问题可以描述为,由单级感知器不能表达的问题称为线性不可分问题。比如异或问题.)。

      书本上写到"事实上,一个单级网络可以将平面划分成两部分,用多个单级网组合在一起,并用其中的一个去综合其他单级网的结果,就可以构造一个两级网络,该网络可以被用来在平面上划分出一个封闭或者开放的凸域来(什么是凸域?我也不懂),如图所示,如果第一层含有 $n$ 个神经元,则每个神经元可以确定一条 $n$ 维空间中的直线,其中,$AN_{i}$ 确定第 $i$ 条边。输出层的 $AN_{o}$ 用来实现对它们的综合。这样,就可以用一个两级单输出网在$n$ 维空间中划分出一个 $m$ 边凸域来。在这里,图中第2层的神经元相当于一个与门。当然,根据实际需要,输出层的神经元可以有多个。这可以根据网络要模拟的实际问题来决定。

      按照这些分析,很容易构造成第一层含两个神经元,第二层含一个神经元的两级网络来实现"异或"运算。

     

      这就是我对隐藏层和多级网络的简单认识,当然,我不求一下子就把它的含义弄得非常清楚,需要以后再来巩固。

      明天继续努力,弄清楚书上的BP算法,重点理解什么是误差反向传播,它具体怎么使用。


  • 相关阅读:
    配置win 10 邮件 账户同步,适用所有邮件商(QQ,189等)
    OBS 捕获显示器黑屏解决办法(已解决,win10)
    备份,基于规则行业分类
    layui 两级表头 代码观赏
    java 保存 json 格式文件代码函数,可直接使用
    layui 二级表头 示例代码
    python 处理文件路径(已知路径,获得后缀,文件名称)
    从Infinity Fabric到Infinity Architecture
    Turing Award 2020-奠定了编译器设计的基础
    Understanding Intel Ice Lake Processor
  • 原文地址:https://www.cnblogs.com/freyr/p/4506522.html
Copyright © 2011-2022 走看看