神经网络3_M-P模型
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242)
https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

http://www.hahack.com/reading/ann1/
什么是M-P模型
所谓M-P模型,其实是按照生物神经元的结构和工作原理构造出来的一个抽象和简化了的模型。简单点说,它是对一个生物神经元的建模。它实际上是两位科学家的名字的合称,1943年心理学家W.McCulloch和数学家W.Pitts合作提出了这个模型,所以取了他们两个人的名字(McCulloch-Pitts)。类似这样合作取名的情况很普遍,比如安全学里著名的RSA非对称加密算法,就是由Rivest、Shamir和Adleman三位大神合作的。在The Bigbang Theory里,我们的Sheldon同志就找到了诺贝尔奖得主Dr.Smoot希望进行合作,瞧瞧他的伟大计划:

生物神经元的结构
在谈M-P模型的内容之前,我们先得了解一下人脑中的神经元的结构,然后再研究M-P对人脑的神经元是如何建模的。右图是一张生物神经元的简化示意图。

神经元在结构上由细胞体、树突、轴突和突触4部分组成。
(1)细胞体
细胞体是神经元的主体,由细胞核、细胞质和细胞膜3部分组成。细胞体的外部是细胞膜,将膜内外细胞液分开。由于细胞膜对细胞液中的不同离子具有不同的通透性,这使得膜内外存在着离子浓度差,从而出现内负外正的静息电位。这种电位差称为膜电位。
(2)树突
从细胞体向外延伸出许多突起的神经纤维。负责接收来自其他神经元的输入信号,相当于细胞体的输入端(input)。
(3)轴突
由细胞体伸出的最长的一条突起称为轴突。轴突比树突长而细。轴突也叫神经纤维,末端处有很多细的分支称为神经末梢,每一条神经末梢可以向四面八方传出信号,相当于细胞体的输出端(output)。
(4)突触
一个神经元通过其轴突的神经末梢和和另一个神经元的细胞体或树突进行通信连接,这种连接相当于神经元之间的输入/输出接口(I/O),称为突触。
突触使神经细胞的膜电位发生变化,且电位的变化是可以累加的,单个神经元可以与多达上千个其他神经元的轴突末梢形成突触连接,接受从各个轴突传来的脉冲输入。这些输入可到达神经元的不同部位,输入部位不同,对神经元影响的权重也不同。输入部位不同,该神经细胞膜电位是它所有突触产生的电位总和,当该神经细胞的膜电位升高到超过一个阈值时,就会产生一个脉冲,从而总和的膜电位直接影响该神经细胞兴奋发放的脉冲数。
神经元的信息是宽度和幅度都相同的脉冲串,若某个神经细胞兴奋,其轴突输出的脉冲串的频率就高;若某个神经细胞抑制,其轴突输出的脉冲串的频率就低,甚至无脉冲输出。因此,突触可以分为兴奋性和抑制性两种,兴奋性的突触可能引起下一个神经细胞兴奋,抑制性的突触使下一个神经细胞抑制。脉冲的传递是正向的,不允许逆向传播。另外,突触传递信息需要一定的延迟。
关于上面的电位变化过程,我一直在想用一个更加通俗易懂的模型1  图 1 水桶与神经元来介绍。我们可以把一个神经元想象成一个水桶,这个水桶侧边接着很多条水管(神经末梢),水管既可以将桶里的水输出去(抑制性),也可以将其他水桶的水输进来(兴奋性)。当桶里的水达到一个高度时,就会通过另一条管子(轴突)将水输送出去。由于水管的粗细不同,对桶里的水的影响程度(权重)也不同。水管对水桶里的水位的改变(膜电位)自然就是这些水管输水量的累加。当然,这样来理解并不是很完美,因为神经元中的信号是采用一个个脉冲串的离散形式,而这里的水则是连续的。
图 1 水桶与神经元来介绍。我们可以把一个神经元想象成一个水桶,这个水桶侧边接着很多条水管(神经末梢),水管既可以将桶里的水输出去(抑制性),也可以将其他水桶的水输进来(兴奋性)。当桶里的水达到一个高度时,就会通过另一条管子(轴突)将水输送出去。由于水管的粗细不同,对桶里的水的影响程度(权重)也不同。水管对水桶里的水位的改变(膜电位)自然就是这些水管输水量的累加。当然,这样来理解并不是很完美,因为神经元中的信号是采用一个个脉冲串的离散形式,而这里的水则是连续的。
关于权值的理解,还有人做出一个非常形象的比喻。比如现在我们要选一个餐厅吃饭,于是对于某一个餐厅,我们有好几种选择因素e.g.口味、位置、装潢、价格等等,这些选择因素就是输入,而每一个因素占的比重往往不同,比如我们往往会把口味和价格放在更重要的位置,装潢和位置则稍微不那么重要。很多个候选餐厅的选择结果最终汇总之后,就可以得到最后的决策。
综上所述,我们可以概括出生物神经网络的假定特点:
- 每个神经元都是一个多输入单输出的信息处理单元;
- 神经元输入分兴奋性输入和抑制性输入两种类型;
- 神经元具有空间整合特性和阈值特性;
- 神经元输入与输出间有固定的时滞,主要取决于突触延搁。 图 2 M-P模型示意图 图 2 M-P模型示意图
M-P模型
按照生物神经元,我们建立M-P模型。为了使得建模更加简单,以便于进行形式化表达,我们忽略时间整合作用、不应期等复杂因素,并把神经元的突触时延和强度当成常数。图2就是一个M-P模型的示意图。
那么接下来就好类比理解了。我们将这个模型和生物神经元的特性列表来比较:

结合M-P模型示意图来看,对于某一个神经元 jj (注意别混淆成变量了,在这里 jj 只是起到标识某个神经元的作用),它可能接受同时接受了许多个输入信号,用 χiχi 表示,前面说过,由于生物神经元具有不同的突触性质和突触强度(水管粗细不同),所以对神经元的影响不同,我们用权值 ωijωij 来表示,其正负模拟了生物神经元中突出的兴奋和抑制(进水和出水),其大小则代表了突出的不同连接强度。由于累加性,我们对全部输入信号进行累加整合,相当于生物神经元中的膜电位(水的变化总量),其值就为:
神经元激活与否(外接专用水管流出与否)取决于某一阈值电平(水位高度),即只有当其输入总和超过阈值 TjTj 时,神经元才被激活而发放脉冲,否则神经元不会发生输出信号。整个过程可以用下面这个函数来表示:
由此我们可以得到总结出M-P模型的6个特点:
- 每个神经元都是一个多输入单输出的信息处理单元;
- 神经元输入分兴奋性输入和抑制性输入两种类型;
- 神经元具有空间整合特性和阈值特性;
- 神经元输入与输出间有固定的时滞,主要取决于突触延搁;
- 忽略时间整合作用和不应期;
- 神经元本身是非时变的,即其突触时延和突触强度均为常数。
前面4点和生物神经元保持一致。结合公式(2)来看,公式(2)中的输入 xixi 的下标 i=1,2,...,ni=1,2,...,n ,输出 ojoj 的下标 jj体现了第1个特点“多输入单输出”;权重值 ωijωij 的正负体现了第2个特点中“突触的兴奋与抑制”; TjTj 代表第3个特点 中的阈值,当 net′j(t)−Tj>0netj′(t)−Tj>0 时,神经元才能被激活;为了简单起见,对膜电位的 计算 net′j(t)netj′(t) 并没有考虑时间整合,只考虑了空间整合,即只对每条神经末梢传来的信 号根据权重进行累加整合,而没有考虑输入输出间的突触时延。体现了第5个特点。
如果 χ0=−1χ0=−1 , ω0j=Tjω0j=Tj ,则有 −Tj=χ0ω0j−Tj=χ0ω0j 。
公式(1)和(2)还可以简化成公式(3)和(4)的形式:

python风控评分卡建模和风控常识(博客主亲自录制视频教程)
神经网络3_M-P模型的更多相关文章
- 漫谈四种神经网络序列解码模型【附示例代码】  glimpse  attention
		漫谈四种神经网络序列解码模型[附示例代码] http://jacoxu.com/encoder_decoder/ [视觉注意力的循环神经网络模型]http://blog.csdn.net/leo_xu ... 
- [重磅]Deep Forest,非神经网络的深度模型,周志华老师最新之作,三十分钟理解!
		欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 深度学习最大的贡献,个人认为就是表征 ... 
- 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning
		欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 关于卷积神经网络CNN,网络和文献中 ... 
- 吴裕雄 python 神经网络——TensorFlow训练神经网络:全模型
		import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_NODE = 784 ... 
- Adam Harley的卷积神经网络3D视觉化模型
		https://m.huxiu.com/article/138857/1.html 最近 Google Tensorflow 做了一个非常直观的神经网络 playground.不夸张地说,现在每个人都 ... 
- 卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning(转)
		参考:http://blog.csdn.net/xbinworld/article/details/45619685 
- 卷积神经网络 CNN 系列模型阐述
		http://www.sohu.com/a/134347664_642762 Lenet,1986年 https://github.com/BVLC/caffe/blob/master/example ... 
- 深度学习原理与框架-猫狗图像识别-卷积神经网络(代码) 1.cv2.resize(图片压缩) 2..get_shape()[1:4].num_elements(获得最后三维度之和) 3.saver.save(训练参数的保存) 4.tf.train.import_meta_graph(加载模型结构) 5.saver.restore(训练参数载入)
		1.cv2.resize(image, (image_size, image_size), 0, 0, cv2.INTER_LINEAR) 参数说明:image表示输入图片,image_size表示变 ... 
- BP神经网络-- 基本模型
		转载:http://www.cnblogs.com/jzhlin/archive/2012/07/28/bp.html BP 神经网络中的 BP 为 Back Propagation 的简写,最早它 ... 
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
		作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ... 
随机推荐
- iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包
			本文章将从两个方向分别介绍 OC 与 swift 混编 1. 第一个方向从 swift工程 中引入 oc类 1. 1 如何在swift的类中使用oc类 1.2 如何在swift中实现oc的代理 ... 
- SQLServr添加数据列
			数据列定义 表中数据行的数据插入和数据类型都是基于数据列的,学会添加数据列在开发过程中是必不可少的. 使用SSMS数据库管理工具添加数据列 在数据表中添加一列或者多列步骤相同 1.连接数据库,选择数据 ... 
- C++面向对象程序设计之C++的初步知识
			本节内容为学习谭浩强老师编写的<C++面向对象程序设计>的第1章 C++的初步知识 后的个人总结. 在正文开始之前,首先声明,我是Python程序员. 1.2.最简单的C++程序 例1 ... 
- 网络编程_tcp与dup协议简单应用
			老师的博客:http://www.cnblogs.com/Eva-J/articles/8066842.html 计算机网络基础 :http://www.cnblogs.com/Eva-J/artic ... 
- spring异步执行报异常No qualifying bean of type 'org.springframework.core.task.TaskExecutor' available
			最近观察项目运行日志的时候突然发现了一个异常, [2018-04-03 10:49:07] 100.0.1.246 http-nio-8080-exec-9 DEBUG org.springframe ... 
- 通过ip查询自己电脑的共享文件夹
			查看电脑所有的共享文件或文件夹的三种方法如下: 方法一. 右键点击网上邻居,点击属性进入网上邻居属性页面. 选中本地连接,在窗口的左下方有详细信息,可以看到内网IP,记住IP地址. 直接在地址栏输入记 ... 
- HBase Client JAVA API
			旧 的 HBase 接口逻辑与传统 JDBC 方式很不相同,新的接口与传统 JDBC 的逻辑更加相像,具有更加清晰的 Connection 管理方式. 同时,在旧的接口中,客户端何时将 Put 写到服 ... 
- spark-RDD源码分析
			http://stark-summer.iteye.com/blog/2178096 RDD的核心方法: 首先看一下getPartitions方法的源码: getPartitions返回的是一系列pa ... 
- Atcoder Dwango Programming Contest V
			模拟,做了ABC三题. D难一些,就不会了. 中规中矩的吧... Atcoder DPCV B 题意:给一个序列,求出所有的子串和中AND值最大的k个数的AND. 思路:既然要求AND,那么肯定按位考 ... 
- 如何在已有的 Web 应用中使用 ReactJS
			原文:How to Sprinkle ReactJS into an Existing Web Application 译者:nzbin 当我们学习一项新技术,可能是一个 JavaScript 框架, ... 
 
			
		