对隐藏层的简单理解

转载自CSDN[1]

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

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

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

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

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

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

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

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

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

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



[1] 对隐藏层的简单理解

时间: 2024-10-13 07:46:15

对隐藏层的简单理解的相关文章

架构设计中服务层的简单理解

如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 在ddd设计中我们经常会提到服务层,服务层是什么?职责是什么?有什么好处?. 先看简单的层次图(注:这里并没有考虑其他多余的领域逻辑数据层存储,或者UOW这些细节) 我的理解是服务层是处于我的应用程序业务层和表现层之间的应用程序边界,边界可能是很薄的一层类设计或者是分布式服务网络跃点.它是一个与技术无关的名词.由表现层直接调用,契约,执行命令(修改状态(CUD))或者是查询返回dto(数据迁

简单理解计算机通信

简单理解计算机通信 写在前面: 在计算机刚出现的时候,只能在本机进行一些运算处理,想将一台计算机中的数据转移到另一台计算机中,需要通过外部存储介质来传输,例如磁带.软盘.而网络技术的出现,使得计算机间可以通过一些传输介质(网线.光纤等),实现快速的数据传输和信息交互.如今,网络已无处不在,那么,计算机之间究竟是如何通信的呢?下面会通过一些基础的网络知识来简单理解计算机之间的通信过程. 网络通信模型: 网络通信模型是一种概念模型和框架,旨在使各种计算机在世界范围内互连为网络.其中有OSI七层模型和

Http协议与TCP协议简单理解

在C#编写代码,很多时候会遇到Http协议或者TCP协议,这里做一个简单的理解. TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求.Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的.所以Http连接是一种短连接,是一种无状态的连接.所谓的无状态,是指浏览器每次向服务器发起请求的时候,

对数据类型封装和数据抽象的简单理解

请特别关注程序设计技术,而不是各种语言特征. --<C++程序设计语言> Bjarne Stroustrup 本文是<C++程序设计语言>(Bjarne Stroustrup )的第二章的读书笔记,例子来源于这本书的第二章. 在程序设计之中,我们倾向于将数据结构(也可以说是数据类型)以及一组对其操作的相关过程组织在一起,在逻辑上可以称将其为模块.此时程序分为一些模块,模块包括一组对数据的操作,数据隐藏于模块之中.以下以栈的设计为例,使用C和C++进行设计,简单理解模块化设计中的数据

[干货分享]git的简单理解及基础操作命令

前端小白一枚,最近开始使用git,于是花了2天看了廖雪峰的git教程(偏实践,对于学习git的基础操作很有帮助哦),也在看<git版本控制>这本书(偏理论,内容完善,很不错),针对所学内容建了git仓库测试,且写了不少git操作命令的笔记,做个分享,有错误的地方各位大大也给提出,好做修改~ Git是一款免费.开源的.用Linux内核开发的分布式版本控制系统. git和svn有什么区别呢? git采用分布式版本库管理,而svn采用集中式版本库管理. 集中式版本库管理需要有一台存放版本库的服务器,

『TensorFlow』单隐藏层自编码器设计

计算图设计 很简单的实践, 多了个隐藏层 没有上节的高斯噪声 网络写法由上节的面向对象改为了函数式编程, 其他没有特别需要注意的,实现如下: import numpy as np import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import os os.environ['TF_CPP_MIN_LOG_LEVEL']

(转)Deep learning:四十二(Denoise Autoencoder简单理解)

前言: 当采用无监督的方法分层预训练深度网络的权值时,为了学习到较鲁棒的特征,可以在网络的可视层(即数据的输入层)引入随机噪声,这种方法称为Denoise Autoencoder(简称dAE),由Bengio在08年提出,见其文章Extracting and composing robust features with denoising autoencoders.使用dAE时,可以用被破坏的输入数据重构出原始的数据(指没被破坏的数据),所以它训练出来的特征会更鲁棒.本篇博文主要是根据Benig

简单理解网页源码(HTML源代码)

程序员无论做什么程序, 基本都会接触HTML, 如果做web开发 这就是吃饭的家伙, 移动端APP 的没学过HTML不要紧, 但是要一眼大概可以看懂网页源代码, 有机会最好亲自学习一下HTML5, 最自身的提高还是有所帮助的 HTML, 超文本标记语言. 简单理解为某些字句加上标志的语言,从而实现预期的特定效果.网页正是由这种HTML语言所编写出来的.作为一套标记语言,基本上只要明白各种标记的用法就算学会了HTML HTML的语法格式分为嵌套与非嵌套两类,嵌套格式为<标记>...</标记

旁门左道通过JS与纯CSS实现显示隐藏层

想必大家在开发前端页面时,肯定少不了显示隐藏层这一技术点.那么我简单粗暴地总结了以下两个小demo. 要实现该截图的功能:鼠标移动到我的好友这个选项卡时,灰色的隐藏层就会出现.  1.    通过纯CSS实现. 该方法最简单,最粗暴. 这是部分HTML代码. <div class="myfriends" >     我的好友     <div class="myfriendsList" >         <ul>