【自己动手写神经网络】小白入门连载(二)--机器人时代必须得有人工神经(不是神经病)...
2019独角兽企业重金招聘Python工程师标准>>>
【自己动手写神经网络】小白入门连载(一)
在上一章中,我们已经介绍了神经网络的基本概念、思想,并提及了有关人工神经元模型的部分内容。在本章中,将对人工神经元模型做更多的介绍。
图2.1 多输入生物神经元示意图
在上一章中提到了一个简单的神经元模型,并且该模型只有一个输入p。这意味着只能有一个额外的神经元与之相连接,这显然是不够的。因此,一个实用的神经元必须是可以接受多个输入的,如图2.1所示,神经元拥有3个输入p1、p2和p3。其中,w和b是根据网络情况不断进行调整的,而传入函数s和传输函数f是事先选定,那究竟有哪些函数可以选择呢?传入函数比较简单,最常用的只有按照权重求和,在本例中,s处的输出(净输入n)就是:
p1*w1+p2*w2+p3*w3+b*1
将该输出会作为参数传入输出函数f,并作为该神经元的最终输出。一般来说,常用的传输函数如表2.1所示。
表2.1 常用传输函数列表
函数名称 |
映射关系 |
图像 |
缩写 |
说明 |
阶梯函数 |
a=0, n<=0 a=1, n>0 |
Step |
n大于等于0时,输出1,否则输出0 |
|
符号函数 |
a=-1, n<=0 a=1, n>0 |
Sgn |
n大于等于0时,输出1,否则输出-1 |
|
线性函数 |
a=n |
Linear |
n本身就是神经元的输出 |
|
饱和线性函数 |
a=0, n<0 a=n, 0<=n<=1 a=1, n>1 |
Ramp |
n小于0时,输出0,n在0到1区间时,输出n,n大于1时,输出1 |
|
对数S形函数 |
a=1/(1+exp(-n)) |
Sigmoid |
有界函数,无论n如何,输出永远在(0,1)的开区间。 |
|
双曲正切S形函数 |
Tanh |
有界函数,无论n如何,输出永远在(-1,1)的开区间。 |
在图2.1中,假设p1=1,p2=0,p3=2,w1=1,w2=-1,w3=1,b=-1,则神经元的净输入为:p1*w1+p2*w2+p3*w3+b*1
=1*1+0*-1+2*1-1
=2
此时,传输函数与神经元输出的关系如表2.1所示。
表2.1 传输函数输出值
Step |
Sgn |
Linear |
Ramp |
Sigmoid |
Tanh |
1 |
1 |
2 |
1 |
0.881 |
0.964 |
传输函数在神经元模型中非常重要,通常会选择特定的传输函数来解决特定的问题。这里再强调3类函数。首先值得注意的是Step函数,它非常简单,当输入小于0时,函数输出0,大于0时,输出1。该函数可以把输入简单得分为2类。在后续讲到的感知机中,就使用了该函数。
其次,另外一个值得注意的函数是Linear线性函数,它总是简单的返回输入值。在一个Adaline网络中,会使用该函数。Adaline类似于感知机,但是因为使用线性函数和其对应的改良学习算法,Adaline相比感知机,可以更好的处理网络噪声。
最后一个值得注意的函数是Sigmoid函数,它接收任意实数输入,并将结果对应到0和1之间。该函数是可导的。因此,在BP神经网络中使用该函数(BP神经网络学习过程中,需要对传输函数求导)。
单个神经元就可以构成一个最简单的神经网络——感知机。感知机可以处理简单的分类问题。比如,现在有2类水果,苹果和香蕉,人们通过识别苹果和香蕉的形状和颜色差别,来区分苹果和香蕉两种水果。刚出生的婴儿无法区分苹果和香蕉,因为在他们的大脑里,没有对应的分类信息。但通过不断地训练和外部刺激,告诉他们红色的圆形的是苹果,黄色的弯形的是香蕉,不需要多久,婴儿就可以分区这两类水果。用类似的方法也可以让感知机正确得对苹果和香蕉分类。具体的分类过程和原理,将在下一章节介绍。
【自己动手写神经网络】小白入门连载(一)
转载请注明出处,感谢大家的支持!
本文来自优优码:http://www.uucode.net/201406/artificial-neuron-model
转载于:https://my.oschina.net/u/1011494/blog/284827
【自己动手写神经网络】小白入门连载(二)--机器人时代必须得有人工神经(不是神经病)...相关推荐
- STM32 CAN通信协议详解—小白入门(二)
文章目录 (一)CAN通信协议简介 (二)CAN物理层 2.1.闭环总线网络2.2.开环总线网络2.3.通信节点2.4.差分信号2.5.CAN协议的差分信号 (三)协议层 3.1.CAN的波特率及位同 ...
- 磨刀不误砍柴工 ——《自己动手写操作系统》入门导引
磨刀不误砍柴工 刺猬@http://blog.csdn.net/littlehedgehog <自己动手写操作系统>其实阅读所需要的前提不过只是C和汇编了,里面涉及到很多操作系统的东西.于 ...
- 小白入门计算机视觉(二) : 图像基本处理----灰度图和二值化
文章目录 解剖图像 图像处理基本原理 RGB模型 灰度 二值化 图像失真问题 从本节开始,我就要正式踏上小白的计算机视觉探索之路,先从图像基础学习吧 解剖图像 要学会图像处理首先就得知道图像的结构,平 ...
- 【Linux入门连载二】Linux系统有哪些基本目录?
写在前面:如果读者没有Linux环境,可以像笔者这样使用虚拟机来学习Linux 的基本命令与操作.请移步笔者另一篇文章:[Win10下安装Linux虚拟机]VMWare15运行CentOS7(亲测有效 ...
- JavaScript小白入门篇(二、高级语法之 BOM 详解)
- Sql小白入门(一)概述
虽然接触Sql的时间挺长了,但是一直都没有对Sql整理.总结,许多东西都是一知半解,所以将笔者学习Sql的笔记,整理为博客,对自己也算是一个归纳总结的过程,如果有错误之处,欢迎指出!开始博文!本系列博 ...
- 人工神经网络的典型模型,人工神经网络模型定义
神经网络BP模型 一.BP模型概述误差逆传播(ErrorBack-Propagation)神经网络模型简称为BP(Back-Propagation)网络模型. PallWerbas博士于1974年在他 ...
- 人工神经网络建模步骤,人工神经网络模型定义
利用人工神经网络建立模型的步骤 人工神经网络有很多种,我只会最常用的BP神经网络.不同的网络有不同的结构和不同的学习算法.简单点说,人工神经网络就是一个函数.只是这个函数有别于一般的函数.它比普通的函 ...
- 如何用神经网络预测数据,人工神经网络分析方法
如何人工神经网络来预测下一个数值 newff函数建立BP神经网络,历史数据作为样本,例如前n个数据作为输入,输入节点为n.当前数据作为p,输出节点为1.隐层节点根据试凑法得到. 通过matlab的tr ...
最新文章
- 经济独立,是你最大的底气
- leetcode Reverse Linked List
- MySQL中INDEX,PRIMARY,UNIQUE,FULLTEXT之间的区别?
- 关于JavaScript相关文章
- Tomcat 处理 HTTP 请求源码分析(上)【转】
- 笑看职场什么程序员才抢手,什么样的程序员涨薪多?
- 前端学习(2761):uni-app样式的学习
- 【CodeForces - 697C】Lorenzo Von Matterhorn(二叉树,思维)
- 秒级启动万个容器,探秘阿里云容器镜像加速黑科技
- JAVA遇见HTML——JSP篇(JavaBeans)
- gis 空间分析 鸟类栖息地选取_GIS空间分析专题一:鸟儿栖息地查找
- 软件测试模型-V模型
- 基于CUDA的GPU优化建议
- ni max不能连续采集图像_1.6视觉检测项目过程分解——程序的连续运行
- hadoop1.2.1伪分布式搭建
- 华为tftp服务器如何配置文件,配置tftp服务器
- 录入人员照片注意事项无身份证人员录入
- 2021年深圳盐田区绿色建筑与装配式建筑发展资金申报资助及条件,补贴200万
- HTML无序列表四大名著
- 科研绘图(编程绘图、网站绘图、配色、素材、提取数...)
热门文章
- 原理解析_SpringBoot自动装配原理解析
- 问题 | Matlab:Fatal Error on startup(致命错误)
- sleep: invalid time interval ‘1s\r’
- VC中实现弹出CEdit的气泡提示框
- python安装与开发环境搭建实验总结_python实验一:python环境配置
- lux系统服务器安装后多大,服务器环境搭建
- Python 数据分析与展示笔记2 -- 图像手绘效果
- python3随笔-相关系数
- 【NLP】授人以渔:分享我的文本分类经验总结
- 【深度学习】NetAug(网络增强)—Dropout的反面