数学建模bp神经网络公式,神经网络公式怎么计算

神经网络的准确率是怎么计算的?

其实神经网络的准确率的标准是自己定义的。我把你的例子赋予某种意义讲解:1,期望输出[1 0 0 1],每个元素代表一个属性是否存在。

像着4个元素分别表示:是否肺炎,是否肝炎,是否肾炎,是否胆炎,1表示是,0表示不是。2,你的神经网络输出必定不可能全部都是输出只有0,1的输出。

绝大部分是像[ 0.9968 0.0000 0.0001 0.9970]这样的输出,所以只要输出中的某个元素大于一定的值,例如0.7,我们就认为这个元素是1,即是有某种炎。

否则为0,所以你的[ 0.9968 0.0000 0.0001 0.9970]可以看成是[1,0,0,1],。

3,所以一般神经网络的输出要按一定的标准定义成另一种输出(像上面说的),看调整后的输出和期望输出是否一致,一致的话算正确,不一致算错误。

4,用总量为n的检验样本对网络进行评价,输出调整后的输出,统计错误的个数,记为m。所以检验正确率可以定义为n/m。

谷歌人工智能写作项目:神经网络伪原创

Hopfield神经网络

Hopfield神经网络(Hopfield Neural Network,简称 HNN),是美国加州理工学院物理学家Hopfield教授1982年提出的一种反馈型神经网络,信号不但能向前,还能向后传递(输出信号又反馈回来变成输入信号写作猫

而前面所介绍的BP网络是一种前馈网络,信号只能向前传递)。他在Hopfield神经网络中引入了“能量函数”概念,使网络的运行稳定性的判断有了可靠依据。

Hopfield神经网络的权值不是经过反复学习获得的,而是按照一定规则计算出来的,一经确定就不再改变,而Hopfield神经网络的状态(输入、输出信号)会在运行过程中不断更新,网络演变到稳态时各神经元的状态便是问题的解。

1985年,Hopfield和Tank研制了电子线路来模拟Hopfield网络,较好地解决了优化组合问题中著名的TSP(旅行商)问题,找到了最佳解的近似解,为神经网络的复兴建立了不可磨灭的功劳。

对于地球物理反演这种最优化问题,可以很方便地用Hopfield网络来实现。

反演的目标函数等于Hopfield网络的“能量函数”,网络的状态(输入、输出信号)就是模型的参数,网络演变到稳态时各神经元的输入输出值便是反演问题的解。

Hopfield神经网络分为离散型和连续型两种网络模型,分别记为DHNN(Discrete Hopfield Neural Network)和CHNN(Continues Hopfield Neural Network)。

在前馈型网络中无论是离散的还是连续的,一般均不考虑输入与输出之间在时间上的滞后性,而只表达两者之间的映射关系。

但在连续Hopfield神经网络中,考虑了输出与输入之间的延迟因素,因此需要用微分方程或差分方程来描述网络的动态数学模型。

8.5.4.1 离散Hopfield神经网络离散Hopfield神经网络的拓扑结构如图8.12所示。这是一种单层全反馈网络,共有n个神经元。

图8.12的特点是任意一个神经元的输出xi只能是0或1,均通过连接权wij反馈至所有神经元j作为它的输入xj。

也就是说,每个神经元都通过连接权接收所有其他神经元输出反馈的信息,这样每一个神经元的输出都受其他所有神经元输出的控制,从而每个神经元的输出相互制约。每个神经元均设一个阀值Ti,以反映对输入噪声的控制。

图8.12 离散Hopfield神经网络的拓扑结构[8]8.5.4.1.1 网络的状态离散Hopfield神经网络任意一个神经元的输出xj称为网络的状态,它只能是0或1。

变化规律由下式规定:xj=f(netj) j=1,2,…,n(8.33)f( )为转移函数,离散 Hopfield神经网络的转移函数常用符号函数表示:地球物理反演教程其中netj为净输入:地球物理反演教程对离散Hopfield神经网络,一般有wij=0,wij=wji (8.36)这说明神经元没有自反馈,两个神经元的相互控制权值相同。

离散Hopfield神经网络稳定时,每个神经元的状态都不再改变。

此时的稳定状态就是网络的输出,记为地球物理反演教程8.5.4.1.2 网络的异步工作方式它是一种串行方式,网络运行时每次只改变一个神经元的状态,其他神经元的状态保持不变。

8.5.4.1.3 网络的同步工作方式它是一种并行同步工作方式,所有神经元同时调整状态。8.5.4.1.4 网络的吸引子网络达到稳定状态时的输出X,称为网络的吸引子。

8.5.4.1.5 网络的能量函数网络的能量函数定义为地球物理反演教程以上是矩阵形式,考虑无自反馈的具体展开形式为地球物理反演教程当网络收敛到稳定状态时,有ΔE(t)=E(t+1)-E(t)=0 (8.40)或者说:地球物理反演教程理论证明了如下两个定理[8]:定理1.对于DHNN,若按异步方式调整网络状态,且连接权矩阵W为对称阵,则对任意初始状态,网络都能最终收敛到一个吸引子。

定理2.对于DHNN,若按同步方式调整网络状态,且连接权矩阵W为非负定对称阵,则对任意初始状态,网络都能最终收敛到一个吸引子。

8.5.4.1.6 利用离散Hopfield神经网络进行反演在地球物理线性反演中,设有如下目标函数:地球物理反演教程对比式(8.38)和式(8.42)发现它们在形式上有很多相似之处。

王家映的《地球物理反演理论》一书中,直接用式(8.42)和式(8.38)类比,公式显得复杂。

本书设立一个新的目标函数ϕ,公式将会变得简洁得多:地球物理反演教程再对比式(8.38)和式(8.43),发现它们完全一样,只要设:X(t)=m,W=GTG,T=GTd (8.44)注意:式(8.43)的目标函数ϕ的极大值解就是原来目标函数φ极小值的解,它们是同解的。

如果待反演的模型参数是离散的0或1值,那么可以直接应用离散Hopfield神经网络进行反演。

但是一般它们都是连续的数值,所以还要将模型参数表示为二进制[1]:地球物理反演教程其中:Bij=0或1为二进制数;D和U为整数,取决于模型参数的大小和精度。

这样第i个模型参数就用Bij表示为了二进制数。将式(8.45)代入目标函数式(8.43)后再与离散Hopfield神经网络的能量函数进行对比,确立新的等价关系后,就可以进行反演了。

这个新的等价关系式可以参见王家映的《地球物理反演理论》[1]一书。反演的过程大致如下:(1)根据模型参数的大小范围和精度确定D和U,将初始输入模型参数变为二进制数。

设立一个拟合精度标准,如相对均方差ε,设定一个最大迭代次数N(所有神经元的输出都修改一次称为一次迭代)。(2)利用数据方程的G矩阵(在一般情况下需用偏导数矩阵获得)计算网络的权值和阀值。

(3)将二进制初始模型参数输入网络并运行网络。(4)把每次迭代网络输出值变为十进制模型参数,进行正演计算。如果拟合满足精度ε,则停止网络运行并输出反演结果。

否则重复(2)~(4)步直到满足精度或达到最多迭代次数N为止。

在一般情况下,地球物理数据方程的G矩阵是无法用解析式写出的,需要用偏导数矩阵获得,它是依赖于输入参数的,因此网络的每次迭代都要重新计算偏导数矩阵。这个计算量是很大的。因此他的反演过程和最小二乘法相似。

此外,用Hopfield神经网络进行反演同样有可能陷入局部极值点(吸引子)。因此同样受初始模型的影响,需要尽量让初始模型接近真实模型。

8.5.4.2 连续Hopfield神经网络(CHNN)[8]1984年,Hopfield把离散Hopfield神经网络发展为连续Hopfield神经网络。

但所有神经元都同步工作,各输入输出量为随时间变化的连续的模拟量,这就使得CHNN比DHNN在信息处理的并行性、实时性方面更接近实际的生物神经网络工作机理。因此利用CHNN进行地球物理反演更加方便。

CHNN可以用常系数微分方程来描述,但用模拟电子线路来描述,则更加形象直观,易于理解。图8.13为连续Hopfield神经网络的拓扑结构[8]。

图8.13 连续Hopfield神经网络的拓扑结构[8]图8.13中每个神经元用一个运算放大器模拟,神经元的输入输出用放大器的输入输出电压表示,连接权用电导表示。

每个放大器有一个正向输出和一个反向输出,分别表示兴奋和抑制。每个神经元还有一个用于设置激活电平的外界输入偏置电流作为阀值。这里由于篇幅关系不再累述。感兴趣的读者可以参考其他文献。

如何计算卷积神经网络中接受野尺寸

感受野计算时有下面的几个情况需要说明:(1)第一层卷积层的输出特征图像素的感受野的大小等于滤波器的大小(2)深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系(3)计算感受野大小时,忽略了图像边缘的影响,即不考虑padding的大小,关于这个疑惑大家可以阅读一下参考文章2的解答进行理解这里的每一个卷积层还有一个strides的概念,这个strides是之前所有层stride的乘积。

即strides(i) = stride(1) * stride(2) * ...* stride(i-1) 关于感受野大小的计算采用top to down的方式, 即先计算最深层在前一层上的感受野,然后逐渐传递到第一层,使用的公式可以表示如下:  RF = 1 #待计算的feature map上的感受野大小for layer in (top layer To down layer):RF = ((RF -1)* stride) + fsizestride 表示卷积的步长; fsize表示卷积层滤波器的大小用python实现了计算Alexnet zf-5和VGG16网络每层输出feature map的感受野大小,实现代码:#!/usr/bin/env pythonnet_struct = {'alexnet': {'net':[[11,4,0],[3,2,0],[5,1,2],[3,2,0],[3,1,1],[3,1,1],[3,1,1],[3,2,0]], 'name':['conv1','pool1','conv2','pool2','conv3','conv4','conv5','pool5']}, 'vgg16': {'net':[[3,1,1],[3,1,1],[2,2,0],[3,1,1],[3,1,1],[2,2,0],[3,1,1],[3,1,1],[3,1,1],[2,2,0],[3,1,1],[3,1,1],[3,1,1],[2,2,0],[3,1,1],[3,1,1],[3,1,1],[2,2,0]], 'name':['conv1_1','conv1_2','pool1','conv2_1','conv2_2','pool2','conv3_1','conv3_2', 'conv3_3', 'pool3','conv4_1','conv4_2','conv4_3','pool4','conv5_1','conv5_2','conv5_3','pool5']}, 'zf-5':{'net': [[7,2,3],[3,2,1],[5,2,2],[3,2,1],[3,1,1],[3,1,1],[3,1,1]], 'name': ['conv1','pool1','conv2','pool2','conv3','conv4','conv5']}}imsize = 224def outFromIn(isz, net, layernum):totstride = 1insize = isz for layer in range(layernum):fsize, stride, pad = net[layer]outsize = (insize - fsize + 2*pad) / stride + 1insize = outsizetotstride = totstride * stride return outsize, totstridedef inFromOut(net, layernum):RF = 1 for layer in reversed(range(layernum)):fsize, stride, pad = net[layer]RF = ((RF -1)* stride) + fsize return RFif __name__ == '__main__': print "layer output sizes given image = %dx%d" % (imsize, imsize)for net in (): print '************net structrue name is %s**************'% net for i in range(len(net_struct[net]['net'])):p = outFromIn(imsize,net_struct[net]['net'], i+1)rf = inFromOut(net_struct[net]['net'], i+1) print "Layer Name = %s, Output size = %3d, Stride = % 3d, RF size = %3d" % (net_struct[net]['name'][i], p[0], p[1], rf)。

如何理解神经网络里面的反向传播算法

反向传播算法(BP算法)主要是用于最常见的一类神经网络,叫多层前向神经网络,本质可以看作是一个general nonlinear estimator,即输入x_1 ... x_n 输出y,视图找到一个关系 y=f(x_1 ... x_n) (在这里f的实现方式就是神经网络)来近似已知数据。

为了得到f中的未知参数的最优估计值,一般会采用最小化误差的准则,而最通常的做法就是梯度下降,到此为止都没问题,把大家困住了很多年的就是多层神经网络无法得到显式表达的梯度下降算法!

BP算法实际上是一种近似的最优解决方案,背后的原理仍然是梯度下降,但为了解决上述困难,其方案是将多层转变为一层接一层的优化:只优化一层的参数是可以得到显式梯度下降表达式的;而顺序呢必须反过来才能保证可工作——由输出层开始优化前一层的参数,然后优化再前一层……跑一遍下来,那所有的参数都优化过一次了。

但是为什么说是近似最优呢,因为数学上除了很特殊的结构,step-by-step的优化结果并不等于整体优化的结果!不过,好歹现在能工作了,不是吗?

至于怎么再改进(已经很多改进成果了),或者采用其他算法(例如智能优化算法等所谓的全局优化算法,就算是没有BP这个近似梯度下降也只是局部最优的优化算法)那就是新的研究课题了。

bp神经网络对输入数据和输出数据有什么要求

p神经网络的输入数据越多越好,输出数据需要反映网络的联想记忆和预测能力。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。

它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。

BP网络具有高度非线性和较强的泛化能力,但也存在收敛速度慢、迭代步数多、易于陷入局部极小和全局搜索能力差等缺点。

扩展资料:BP算法主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。

1、初始化,随机给定各连接权及阀值。

2、由给定的输入输出模式对计算隐层、输出层各单元输出3、计算新的连接权及阀值,计算公式如下:4、选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。

参考资料来源:百度百科-BP神经网络。

用BP神经网络建立数学模型,MATLAB实现,怎样得到输入到输出的计算公式

% 计算S1与S2层的输出A1=tansig(W1*p,B1);t=purelin(W2*A1,B2);这就是p到t的映射关系。

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。

BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。

BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

 

你可能感兴趣的:(ai智能写作)