Neural Network学习(二)Universal approximator :前向神经网络
1. 概述
前面我们已经介绍了最早的神经网络:感知机。感知机一个非常致命的缺点是由于它的线性结构,其只能做线性预测(甚至无法解决回归问题),这也是其在当时广为诟病的一个点。
虽然感知机无法解决非线性问题,但是其给非线性问题的解决提供了一个思路。感知机的局限来自于其线性结构,如果我们能够给其加入非线性结构,比如先给输入做一个非线性变换,这样其就能拟合非线性问题。那么这就是我们这次要讲的前向神经网络。
2. 结构
前向神经网络(Feed-forward Neural Network)是一种多层的网络结构,非常典型的就是三层结构:输入层、隐藏层和输出层。层与层之间用权值(连线)连接。一般只有前一层的值才能作为后一层的值的输入,而反过来不能,也就是说不能有反馈(Feed-back),这也是其名字的又来。这个结构非常重要,因为名声赫赫的BP算法就是基于这个结构的。
网络中每一个点(神经元)都有值,设为$a_j$。其中输入层的a就等于x,其他层的a则由权值以及之前层的值来确定。每个神经元在参与后面神经元值的计算时,并不直接使用其自身的值,而是经过一个非线性激活函数(一般是tanh或sigmoid),得到激活值$z_j$,然后再参与计算。输入层用x表示,输出层一般用y表示,权值一般表示为W(包含bias)。下面以三层网络结构为例来表示这些值。
$a^{(0)}_j$ = $x_j$
$z^{(0)}_j$ = $h(a^{(0)}_j)$
$a^{(1)}_j$ = $\sum_{i}w^{(1)}_{ji}a^{(0)}_i$
$z^{(1)}_j$ = $h(a^{(1)}_j)$
$a^{(2)}_j$ = $\sum_{i}w^{(2)}_{ji}a^{(1)}_i$
$y_j$ = $\sigma(a^{(2)}_j)$
其中$x_0$ = 1 ,$a_0$ = 1(目的是为了省略bias项)。
这里我们举的例子是后一层的值只由前一层的值来决定,当然,这个限定并不是一定的。只要没有反馈结构,都能算作是前向神经网络。所以这里就衍生除了一种结构叫做skip layer,即当前层不仅仅由前一层决定,还可以由前几层的值决定。这个网络结构如下:
这个结构看上去好像输入跳过了隐藏层直接作用与输出,这也是其名字的由来。
3. 权值的对称性
这是神经网络为数不多的性质之一,使用的也比较少。以三层神经网络为例,假设中间层有M个神经元,如果我们交换其中两个神经元的位置(与其相连的权值也相应移动),那么网络的映射关系 y = f(x) 没有变化。所以对于这个三层网络来说,一共有M!个网络与其等价。这就是网络的对称性。
Neural Network学习(二)Universal approximator :前向神经网络的更多相关文章
- Neural Network学习(一) 最早的感知机:Perceptron of Rosenblatt
1. Frank Rosenblatt 首先介绍的是神经网络的开山祖师,先放张图拜拜 Frank Rosenblatt出生在纽约,父亲是医生,其1956年在Cornell大学拿到博士学位后,留校任教, ...
- 机器学习公开课笔记(5):神经网络(Neural Network)——学习
这一章可能是Andrew Ng讲得最不清楚的一章,为什么这么说呢?这一章主要讲后向传播(Backpropagration, BP)算法,Ng花了一大半的时间在讲如何计算误差项$\delta$,如何计算 ...
- 深度学习二、CNN(卷积神经网络)概念及理论
一.卷积神经网络(CNN) 1.常见的CNN结构有:LeNet-5.AlexNet.ZFNet.VGGNet.ResNet等.目前效率最高的是ResNet. 2.主要的层次: 数据输入层:Input ...
- 递归神经网络(Recursive Neural Network, RNN)
信息往往还存在着诸如树结构.图结构等更复杂的结构.这就需要用到递归神经网络 (Recursive Neural Network, RNN),巧合的是递归神经网络的缩写和循环神经网络一样,也是RNN,递 ...
- 深度学习论文翻译解析(二):An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition
论文标题:An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application ...
- 计算机视觉学习记录 - Implementing a Neural Network from Scratch - An Introduction
0 - 学习目标 我们将实现一个简单的3层神经网络,我们不会仔细推到所需要的数学公式,但我们会给出我们这样做的直观解释.注意,此次代码并不能达到非常好的效果,可以自己进一步调整或者完成课后练习来进行改 ...
- Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1
3.Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1 http://blog.csdn.net/sunbow0 ...
- Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.2
3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.2 http://blog.csdn.net/sunbow0 ...
- 深度学习笔记之关于基本思想、浅层学习、Neural Network和训练过程(三)
不多说,直接上干货! 五.Deep Learning的基本思想 假设我们有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,形象地表示为: I =>S1=>S2=>….. ...
随机推荐
- [MySQL] SqlServer 迁移到 MySQL 方法介绍
一.原则: 只迁移表结构和数据,存储过程.函数.触发器尽量自己改写,并充分测试. 迁移前,先设置好数据库的一些参数,比如默认存储引擎,默认编码等,方便后续导入. 二.方法: 1.使用MySQL Wor ...
- AMap地图加载完成事件
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...
- log_format为Nginx设置日志格式
nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式, 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,一般在nginx的配置文件中日记配置 ...
- 如何消除移动端a标签点击时的蓝色底色以及a标签link、visited、hover、active的顺序
1.消除a标签移动端点击时的蓝色底色 -webkit-tap-highlight-color:transparent 2.link.visited.hover.active的顺序 a:link{tex ...
- 仅个人兴趣,自己通过搜索他人的成果,结合自己的理解,来分析discuz的代码。
仅个人兴趣,自己通过搜索他人的成果,结合自己的理解,来分析discuz的代码. discuz 版本: 3.2
- 开源项目大全 >> ...
http://www.isenhao.com/xueke/jisuanji/kaiyuan.php 监控系统-Nagios 网络流量监测图形分析工具-Cacti 分布式系统监视-zabbix 系统 ...
- virtualbox桥接网络配置--CentOS
系统安装好后如下图设置virtualbox虚拟机的网络连接方式 然后启动虚拟机 ifconfig发现如下图 vi /etc/sysconfig/network-scripts/ifcfg-eth0 根 ...
- PHP性能优化大全(转)
PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置. # vi /etc/php.ini (1) ...
- 初识ios自动化(一)
Appium进行自动化测试有两个好处: 1. Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用. 2. Appium支持Selenium WebDr ...
- c++学习--继承与派生
继承和派生 1 含有对象成员(子对象)的派生类的构造函数,定义派生类对象成员时,构造函数的执行顺序如下: 1 调用基类的构造函数,对基类数据成员初始化: 2 调用对象成员的构造函数,对对象成员的数据成 ...