神经网络算法的三大类分别是:
1、前馈神经网络:
这是实际应用中最常见的神经网络类型。第一层是输入,最后一层是输出。如果有多个隐藏层,我们称之为“深度”神经网络。他们计算出一系列改变样本相似性的变换。各层神经元的活动是前一层活动的非线性函数。
2、循环网络:
循环网络在他们的连接图中定向了循环,这意味着你可以按照箭头回到你开始的地方。他们可以有复杂的动态,使其很难训练。他们更具有生物真实性。
循环网络的目的是用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。
循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
3、对称连接网络:
对称连接网络有点像循环网络,但是单元之间的连接是对称的(它们在两个方向上权重相同)。比起循环网络,对称连接网络更容易分析。
这个网络中有更多的限制,因为它们遵守能量函数定律。没有隐藏单元的对称连接网络被称为“Hopfield 网络”。有隐藏单元的对称连接的网络被称为玻尔兹曼机。
扩展资料:
应用及发展:
心理学家和认知科学家研究神经网络的目的在于探索人脑加工、储存和搜索信息的机制,弄清人脑功能的机理,建立人类认知过程的微结构理论。
生物学、医学、脑科学专家试图通过神经网络的研究推动脑科学向定量、精确和理论化体系发展,同时也寄希望于临床医学的新突破;信息处理和计算机科学家研究这一问题的目的在于寻求新的途径以解决不能解决或解决起来有极大困难的大量问题,构造更加逼近人脑功能的新一代计算机。
一、BP模型概述
误差逆传播(Error Back-Propagation)神经网络模型简称为BP(Back-Propagation)网络模型。
Pall Werbas博士于1974年在他的博士论文中提出了误差逆传播学习算法。完整提出并被广泛接受误差逆传播学习算法的是以Rumelhart和McCelland为首的科学家小组。他们在1986年出版“Parallel Distributed Processing,Explorations in the Microstructure of Cognition”(《并行分布信息处理》)一书中,对误差逆传播学习算法进行了详尽的分析与介绍,并对这一算法的潜在能力进行了深入探讨。
BP网络是一种具有3层或3层以上的阶层型神经网络。上、下层之间各神经元实现全连接,即下层的每一个神经元与上层的每一个神经元都实现权连接,而每一层各神经元之间无连接。网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,神经元的激活值从输入层经各隐含层向输出层传播,在输出层的各神经元获得网络的输入响应。在这之后,按减小期望输出与实际输出的误差的方向,从输入层经各隐含层逐层修正各连接权,最后回到输入层,故得名“误差逆传播学习算法”。随着这种误差逆传播修正的不断进行,网络对输入模式响应的正确率也不断提高。
BP网络主要应用于以下几个方面:
1)函数逼近:用输入模式与相应的期望输出模式学习一个网络逼近一个函数;
2)模式识别:用一个特定的期望输出模式将它与输入模式联系起来;
3)分类:把输入模式以所定义的合适方式进行分类;
4)数据压缩:减少输出矢量的维数以便于传输或存储。
在人工神经网络的实际应用中,80%~90%的人工神经网络模型采用BP网络或它的变化形式,它也是前向网络的核心部分,体现了人工神经网络最精华的部分。
二、BP模型原理
下面以三层BP网络为例,说明学习和应用的原理。
1.数据定义
P对学习模式(xp,dp),p=1,2,…,P;
输入模式矩阵X[N][P]=(x1,x2,…,xP);
目标模式矩阵d[M][P]=(d1,d2,…,dP)。
三层BP网络结构
输入层神经元节点数S0=N,i=1,2,…,S0;
隐含层神经元节点数S1,j=1,2,…,S1;
神经元激活函数f1[S1];
权值矩阵W1[S1][S0];
偏差向量b1[S1]。
输出层神经元节点数S2=M,k=1,2,…,S2;
神经元激活函数f2[S2];
权值矩阵W2[S2][S1];
偏差向量b2[S2]。
学习参数
目标误差ϵ;
初始权更新值Δ0;
最大权更新值Δmax;
权更新值增大倍数η+;
权更新值减小倍数η-。
2.误差函数定义
对第p个输入模式的误差的计算公式为。
中国矿产资源评价新技术与评价新模型。
y2kp为BP网的计算输出。
3.BP网络学习公式推导
BP网络学习公式推导的指导思想是,对网络的权值W、偏差b修正,使误差函数沿负梯度方向下降,直到网络输出误差精度达到目标精度要求,学习结束。
各层输出计算公式
输入层
y0i=xi,i=1,2,…,S0;
隐含层
中国矿产资源评价新技术与评价新模型。
y1j=f1(z1j),
j=1,2,…,S1;
输出层
中国矿产资源评价新技术与评价新模型。
y2k=f2(z2k),
k=1,2,…,S2。
输出节点的误差公式
中国矿产资源评价新技术与评价新模型。
对输出层节点的梯度公式推导
中国矿产资源评价新技术与评价新模型。
E是多个y2m的函数,但只有一个y2k与wkj有关,各y2m间相互独立。
其中
中国矿产资源评价新技术与评价新模型。
则
中国矿产资源评价新技术与评价新模型。
设输出层节点误差为
δ2k=(dk-y2k)·f2′(z2k),
则
中国矿产资源评价新技术与评价新模型。
同理可得
中国矿产资源评价新技术与评价新模型。
对隐含层节点的梯度公式推导
中国矿产资源评价新技术与评价新模型。
E是多个y2k的函数,针对某一个w1ji,对应一个y1j,它与所有的y2k有关。因此,上式只存在对k的求和,其中。
中国矿产资源评价新技术与评价新模型。
则
中国矿产资源评价新技术与评价新模型。
设隐含层节点误差为
中国矿产资源评价新技术与评价新模型。
则
中国矿产资源评价新技术与评价新模型。
同理可得
中国矿产资源评价新技术与评价新模型。
4.采用弹性BP算法(RPROP)计算权值W、偏差b的修正值ΔW,Δb。
1993年德国 Martin Riedmiller和Heinrich Braun 在他们的论文“A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm”中,提出Resilient Backpropagation算法——弹性BP算法(RPROP)。这种方法试图消除梯度的大小对权步的有害影响,因此,只有梯度的符号被认为表示权更新的方向。
权改变的大小仅仅由权专门的“更新值”
确定
中国矿产资源评价新技术与评价新模型。
其中
表示在模式集的所有模式(批学习)上求和的梯度信息,(t)表示t时刻或第t次学习。
权更新遵循规则:如果导数是正(增加误差),这个权由它的更新值减少。如果导数是负,更新值增加。
中国矿产资源评价新技术与评价新模型。
RPROP算法是根据局部梯度信息实现权步的直接修改。对于每个权,我们引入它的。
各自的更新值
,它独自确定权更新值的大小。这是基于符号相关的自适应过程,它基。
于在误差函数E上的局部梯度信息,按照以下的学习规则更新。
中国矿产资源评价新技术与评价新模型。
其中0<η-<1<η+。
在每个时刻,如果目标函数的梯度改变它的符号,它表示最后的更新太大,更新值 。
应由权更新值减小倍数因子η-得到减少;如果目标函数的梯度保持它的符号,更新值应由权更新值增大倍数因子η+得到增大。
为了减少自由地可调参数的数目,增大倍数因子η+和减小倍数因子η–被设置到固定值。
η+=1.2,
η-=0.5,
这两个值在大量的实践中得到了很好的效果。
RPROP算法采用了两个参数:初始权更新值Δ0和最大权更新值Δmax。
当学习开始时,所有的更新值被设置为初始值Δ0,因为它直接确定了前面权步的大小,它应该按照权自身的初值进行选择,例如,Δ0=0.1(默认设置)。
为了使权不至于变得太大,设置最大权更新值限制Δmax,默认上界设置为。
Δmax=50.0。
在很多实验中,发现通过设置最大权更新值Δmax到相当小的值,例如。
Δmax=1.0。
我们可能达到误差减小的平滑性能。
5.计算修正权值W、偏差b
第t次学习,权值W、偏差b的的修正公式。
W(t)=W(t-1)+ΔW(t),
b(t)=b(t-1)+Δb(t),
其中,t为学习次数。
6.BP网络学习成功结束条件每次学习累积误差平方和。
中国矿产资源评价新技术与评价新模型。
每次学习平均误差
中国矿产资源评价新技术与评价新模型。
当平均误差MSE<ε,BP网络学习成功结束。
7.BP网络应用预测
在应用BP网络时,提供网络输入给输入层,应用给定的BP网络及BP网络学习得到的权值W、偏差b,网络输入经过从输入层经各隐含层向输出层的“顺传播”过程,计算出BP网的预测输出。
8.神经元激活函数f
线性函数
f(x)=x,
f′(x)=1,
f(x)的输入范围(-∞,+∞),输出范围(-∞,+∞)。
一般用于输出层,可使网络输出任何值。
S型函数S(x)
中国矿产资源评价新技术与评价新模型。
f(x)的输入范围(-∞,+∞),输出范围(0,1)。
f′(x)=f(x)[1-f(x)],
f′(x)的输入范围(-∞,+∞),输出范围(0,
]。
一般用于隐含层,可使范围(-∞,+∞)的输入,变成(0,1)的网络输出,对较大的输入,放大系数较小;而对较小的输入,放大系数较大,所以可用来处理和逼近非线性的输入/输出关系。
在用于模式识别时,可用于输出层,产生逼近于0或1的二值输出。
双曲正切S型函数
中国矿产资源评价新技术与评价新模型。
f(x)的输入范围(-∞,+∞),输出范围(-1,1)。
f′(x)=1-f(x)·f(x),
f′(x)的输入范围(-∞,+∞),输出范围(0,1]。
一般用于隐含层,可使范围(-∞,+∞)的输入,变成(-1,1)的网络输出,对较大的输入,放大系数较小;而对较小的输入,放大系数较大,所以可用来处理和逼近非线性的输入/输出关系。
阶梯函数
类型1
中国矿产资源评价新技术与评价新模型。
f(x)的输入范围(-∞,+∞),输出范围{0,1}。
f′(x)=0。
类型2
中国矿产资源评价新技术与评价新模型。
f(x)的输入范围(-∞,+∞),输出范围{-1,1}。
f′(x)=0。
斜坡函数
类型1
中国矿产资源评价新技术与评价新模型。
f(x)的输入范围(-∞,+∞),输出范围[0,1]。
中国矿产资源评价新技术与评价新模型。
f′(x)的输入范围(-∞,+∞),输出范围{0,1}。
类型2
中国矿产资源评价新技术与评价新模型。
f(x)的输入范围(-∞,+∞),输出范围[-1,1]。
中国矿产资源评价新技术与评价新模型。
f′(x)的输入范围(-∞,+∞),输出范围{0,1}。
三、总体算法
1.三层BP网络(含输入层,隐含层,输出层)权值W、偏差b初始化总体算法。
(1)输入参数X[N][P],S0,S1,f1[S1],S2,f2[S2];
(2)计算输入模式X[N][P]各个变量的最大值,最小值矩阵 Xmax[N],Xmin[N];
(3)隐含层的权值W1,偏差b1初始化。
情形1:隐含层激活函数f( )都是双曲正切S型函数。
1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];
2)计算输入模式X的每个变量的范围均值向量Xmid[N];
3)计算W,b的幅度因子Wmag;
4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];
5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];
6)计算W[S1][S0],b[S1];
7)计算隐含层的初始化权值W1[S1][S0];
8)计算隐含层的初始化偏差b1[S1];
9))输出W1[S1][S0],b1[S1]。
情形2:隐含层激活函数f( )都是S型函数。
1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];
2)计算输入模式X的每个变量的范围均值向量Xmid[N];
3)计算W,b的幅度因子Wmag;
4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];
5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];
6)计算W[S1][S0],b[S1];
7)计算隐含层的初始化权值W1[S1][S0];
8)计算隐含层的初始化偏差b1[S1];
9)输出W1[S1][S0],b1[S1]。
情形3:隐含层激活函数f( )为其他函数的情形。
1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];
2)计算输入模式X的每个变量的范围均值向量Xmid[N];
3)计算W,b的幅度因子Wmag;
4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];
5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];
6)计算W[S1][S0],b[S1];
7)计算隐含层的初始化权值W1[S1][S0];
8)计算隐含层的初始化偏差b1[S1];
9)输出W1[S1][S0],b1[S1]。
(4)输出层的权值W2,偏差b2初始化。
1)产生[-1,1]之间均匀分布的S2×S1维随机数矩阵W2[S2][S1];
2)产生[-1,1]之间均匀分布的S2×1维随机数矩阵b2[S2];
3)输出W2[S2][S1],b2[S2]。
2.应用弹性BP算法(RPROP)学习三层BP网络(含输入层,隐含层,输出层)权值W、偏差b总体算法。
函数:Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)。
(1)输入参数
P对模式(xp,dp),p=1,2,…,P;
三层BP网络结构;
学习参数。
(2)学习初始化
1)
;
2)各层W,b的梯度值
,
初始化为零矩阵。
(3)由输入模式X求第一次学习各层输出y0,y1,y2及第一次学习平均误差MSE。
(4)进入学习循环
epoch=1
(5)判断每次学习误差是否达到目标误差要求。
如果MSE<ϵ,
则,跳出epoch循环,
转到(12)。
(6)保存第epoch-1次学习产生的各层W,b的梯度值 。
,
(7)求第epoch次学习各层W,b的梯度值 。
,
1)求各层误差反向传播值δ;
2)求第p次各层W,b的梯度值 。
,
;
3)求p=1,2,…,P次模式产生的W,b的梯度值 。
,
的累加。
(8)如果epoch=1,则将第epoch-1次学习的各层W,b的梯度值 。
,
设为第epoch次学习产生的各层W,b的梯度值 。
,
。
(9)求各层W,b的更新
1)求权更新值Δij更新;
2)求W,b的权更新值
,
;
3)求第epoch次学习修正后的各层W,b。
(10)用修正后各层W、b,由X求第epoch次学习各层输出y0,y1,y2及第epoch次学习误差MSE。
(11)epoch=epoch+1,
如果epoch≤MAX_EPOCH,转到(5);
否则,转到(12)。
(12)输出处理
1)如果MSE<ε,
则学习达到目标误差要求,输出W1,b1,W2,b2。
2)如果MSE≥ε,
则学习没有达到目标误差要求,再次学习。
(13)结束
3.三层BP网络(含输入层,隐含层,输出层)预测总体算法。
首先应用Train3lBP_RPROP( )学习三层BP网络(含输入层,隐含层,输出层)权值W、偏差b,然后应用三层BP网络(含输入层,隐含层,输出层)预测。
函数:Simu3lBP( )。
1)输入参数:
P个需预测的输入数据向量xp,p=1,2,…,P;
三层BP网络结构;
学习得到的各层权值W、偏差b。
2)计算P个需预测的输入数据向量xp(p=1,2,…,P)的网络输出 y2[S2][P],输出预测结果y2[S2][P]。
四、总体算法流程图
BP网络总体算法流程图见附图2。
五、数据流图
BP网数据流图见附图1。
六、实例
实例一 全国铜矿化探异常数据BP 模型分类。
1.全国铜矿化探异常数据准备
在全国铜矿化探数据上用稳健统计学方法选取铜异常下限值33.1,生成全国铜矿化探异常数据。
2.模型数据准备
根据全国铜矿化探异常数据,选取7类33个矿点的化探数据作为模型数据。这7类分别是岩浆岩型铜矿、斑岩型铜矿、矽卡岩型、海相火山型铜矿、陆相火山型铜矿、受变质型铜矿、海相沉积型铜矿,另添加了一类没有铜异常的模型(表8-1)。
3.测试数据准备
全国化探数据作为测试数据集。
4.BP网络结构
隐层数2,输入层到输出层向量维数分别为14,9、5、1。学习率设置为0.9,系统误差1e-5。没有动量项。
表8-1 模型数据表
续表
5.计算结果图
如图8-2、图8-3。
图8-2
图8-3 全国铜矿矿床类型BP模型分类示意图。
实例二 全国金矿矿石量品位数据BP 模型分类。
1.模型数据准备
根据全国金矿储量品位数据,选取4类34个矿床数据作为模型数据,这4类分别是绿岩型金矿、与中酸性浸入岩有关的热液型金矿、微细浸染型型金矿、火山热液型金矿(表8-2)。
2.测试数据准备
模型样本点和部分金矿点金属量、矿石量、品位数据作为测试数据集。
3.BP网络结构
输入层为三维,隐层1层,隐层为三维,输出层为四维,学习率设置为0.8,系统误差1e-4,迭代次数5000。
表8-2 模型数据
4.计算结果
结果见表8-3、8-4。
表8-3 训练学习结果
表8-4 预测结果(部分)
续表
A8U神经网络
神经网络模型的分类人工神经网络的模型很多,可以按照不同的方法进行分类。其中,常见的两种分类方法是,按照网络连接的拓朴结构分类和按照网络内部的信息流向分类。1 按照网络拓朴结构分类网络的拓朴结构,即神经元之间的连接方式。按此划分,可将神经网络结构分为两大类:层次型结构和互联型结构。层次型结构的神经网络将神经元按功能和顺序的不同分为输出层、中间层(隐层)、输出层。输出层各神经元负责接收来自外界的输入信息,并传给中间各隐层神经元;隐层是神经网络的内部信息处理层,负责信息变换。根据需要可设计为一层或多层;最后一个隐层将信息传递给输出层神经元经进一步处理后向外界输出信息处理结果。 而互连型网络结构中,任意两个节点之间都可能存在连接路径,因此可以根据网络中节点的连接程度将互连型网络细分为三种情况:全互连型、局部互连型和稀疏连接型2 按照网络信息流向分类从神经网络内部信息传递方向来看,可以分为两种类型:前馈型网络和反馈型网络。单纯前馈网络的结构与分层网络结构相同,前馈是因网络信息处理的方向是从输入层到各隐层再到输出层逐层进行而得名的。前馈型网络中前一层的输出是下一层的输入,信息的处理具有逐层传递进行的方向性,一般不存在反馈环路。因此这类网络很容易串联起来建立多层前馈网络。反馈型网络的结构与单层全互连结构网络相同。在反馈型网络中的所有节点都具有信息处理功能,而且每个节点既可以从外界接受输入,同时又可以向外界输出。
4.2.1 概述
人工神经网络的研究与计算机的研究几乎是同步发展的。1943年心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型,20世纪50年代末,Rosenblatt提出了感知器模型,1982年,Hopfiled引入了能量函数的概念提出了神经网络的一种数学模型,1986年,Rumelhart及LeCun等学者提出了多层感知器的反向传播算法等。
神经网络技术在众多研究者的努力下,理论上日趋完善,算法种类不断增加。目前,有关神经网络的理论研究成果很多,出版了不少有关基础理论的著作,并且现在仍是全球非线性科学研究的热点之一。
神经网络是一种通过模拟人的大脑神经结构去实现人脑智能活动功能的信息处理系统,它具有人脑的基本功能,但又不是人脑的真实写照。它是人脑的一种抽象、简化和模拟模型,故称之为人工神经网络(边肇祺,2000)。
人工神经元是神经网络的节点,是神经网络的最重要组成部分之一。目前,有关神经元的模型种类繁多,最常用最简单的模型是由阈值函数、Sigmoid 函数构成的模型(图 4-3)。
图4-3 人工神经元与两种常见的输出函数。
神经网络学习及识别方法最初是借鉴人脑神经元的学习识别过程提出的。输入参数好比神经元接收信号,通过一定的权值(相当于刺激神经兴奋的强度)与神经元相连,这一过程有些类似于多元线性回归,但模拟的非线性特征是通过下一步骤体现的,即通过设定一阈值(神经元兴奋极限)来确定神经元的兴奋模式,经输出运算得到输出结果。经过大量样本进入网络系统学习训练之后,连接输入信号与神经元之间的权值达到稳定并可最大限度地符合已经经过训练的学习样本。在被确认网络结构的合理性和学习效果的高精度之后,将待预测样本输入参数代入网络,达到参数预测的目的。
4.2.2 反向传播算法(BP法)
发展到目前为止,神经网络模型不下十几种,如前馈神经网络、感知器、Hopfiled 网络、径向基函数网络、反向传播算法(BP法)等,但在储层参数反演方面,目前比较成熟比较流行的网络类型是误差反向传播神经网络(BP-ANN)。
BP网络是在前馈神经网络的基础上发展起来的,始终有一个输入层(它包含的节点对应于每个输入变量)和一个输出层(它包含的节点对应于每个输出值),以及至少有一个具有任意节点数的隐含层(又称中间层)。在 BP-ANN中,相邻层的节点通过一个任意初始权值全部相连,但同一层内各节点间互不相连。对于 BP-ANN,隐含层和输出层节点的基函数必须是连续的、单调递增的,当输入趋于正或负无穷大时,它应该接近于某一固定值,也就是说,基函数为“S”型(Kosko,1992)。BP-ANN 的训练是一个监督学习过程,涉及两个数据集,即训练数据集和监督数据集。
给网络的输入层提供一组输入信息,使其通过网络而在输出层上产生逼近期望输出的过程,称之为网络的学习,或称对网络进行训练,实现这一步骤的方法则称为学习算法。BP网络的学习过程包括两个阶段:第一个阶段是正向过程,将输入变量通过输入层经隐层逐层计算各单元的输出值;第二阶段是反向传播过程,由输出误差逐层向前算出隐层各单元的误差,并用此误差修正前层权值。误差信息通过网络反向传播,遵循误差逐步降低的原则来调整权值,直到达到满意的输出为止。网络经过学习以后,一组合适的、稳定的权值连接权被固定下来,将待预测样本作为输入层参数,网络经过向前传播便可以得到输出结果,这就是网络的预测。
反向传播算法主要步骤如下:首先选定权系数初始值,然后重复下述过程直至收敛(对各样本依次计算)。
(1)从前向后各层计算各单元Oj。
储层特征研究与预测
(2)对输出层计算δj
储层特征研究与预测
(3)从后向前计算各隐层δj
储层特征研究与预测
(4)计算并保存各权值修正量
储层特征研究与预测
(5)修正权值
储层特征研究与预测
以上算法是对每个样本作权值修正,也可以对各个样本计算δj后求和,按总误差修正权值。
一、Kohonen模型概述
1981年芬兰赫尔辛基大学Kohonen教授提出了一个比较完整的,分类性能较好的自组织特征影射(Self-Organizing Feature Map)人工神经网络(简称SOM网络)方案。这种网络也称为Kohonen特征影射网络。
这种网络模拟大脑神经系统自组织特征影射功能,它是一种竞争式学习网络,在学习中能无监督地进行自组织学习。
二、Hohonen模型原理
1.概述
SOM网络由输入层和竞争层组成。输入层神经元数为N,竞争层由M=R×C神经元组成,构成一个二维平面阵列或一个一维阵列(R=1)。输入层和竞争层之间实现全互连接。
SOM网络的基本思想是网络竞争层各神经元竞争对输入模式的响应机会,最后仅有一个神经元成为竞争的胜者,并对那些与获胜神经元有关的各连接权朝着更有利于它竞争的方向调整,这一获胜神经元就表示对输入模式的分类。
SOM算法是一种无教师示教的聚类方法,它能将任意输入模式在输出层映射成一维或二维离散图形,并保持其拓扑结构不变。即在无教师的情况下,通过对输入模式的自组织学习,在竞争层将分类结果表示出来。此外,网络通过对输入模式的反复学习,可以使连接权矢量空间分布密度与输入模式的概率分布趋于一致,即连接权矢量空间分布能反映输入模式的统计特征。
2.网络权值初始化
因为网络输入很可能出现在中间区,因此,如果竞争层的初始权值选择在输入空间的中间区,则其学习效果会更加有效。
3.邻域距离矩阵
SOM网络中的神经元可以按任何方式排列,这种排列可以用表示同一层神经元间的Manhattan距离的邻域距离矩阵D来描述,而两神经元的Manhattan距离是指神经元坐标相减后的矢量中,其元素绝对值之和。
4.Kohonen竞争学习规则。
设SOM网络的输入模式为Xp=( 。
,
,…,
),p=1,2.…,P。竞争层神经元的输出值为Yj(j=1,2,…,M),竞争层神经元j与输入层神经元之间的连接权矢量为。
Wj=(wj1,wj2,…,wjN),j=1,2,…,M。
Kohonen网络自组织学习过程包括两个部分:一是选择最佳匹配神经元,二是权矢量自适应变化的更新过程。
确定输入模式Xp与连接权矢量Wj的最佳匹配的评价函数是两个矢量的欧氏距离最小,即。
,j=1,2,…,M,]]
g,确定获胜神经元g。
dg=mjin(dj),j=1,2,…,M。
求输入模式Xp在竞争层的获胜神经元g及其在邻域距离nd内的神经元的输出。
中国矿产资源评价新技术与评价新模型。
dgm为邻域距离矩阵D的元素,为竞争层中获胜神经元g与竞争层中其它神经元的距离。
求输入模式Xp在竞争层的获胜神经元g及其在邻域距离nd内的神经元的权值修正值。
中国矿产资源评价新技术与评价新模型。
式中:i=1,2,…,N;
lr为学习速率;
t为学习循环次数。
Δwjt(t+1)的其余元素赋值为0。
进行连接权的调整
wji(t+1)=wji(t)+Δwji(t+1)。
5.权值学习中学习速率及邻域距离的更新。
(1)SOM网络的学习过程分为两个阶段。
第一阶段为粗学习与粗调整阶段。在这一阶段内,连接权矢量朝着输入模式的方向进行调整,神经元的权值按照期望的方向在适应神经元位置的输入空间建立次序,大致确定输入模式在竞争层中所对应的影射位置。一旦各输入模式在竞争层有了相对的影射位置后,则转入精学习与细调整阶段,即第二阶段。在这一阶段内,网络学习集中在对较小的范围内的连接权进行调整,神经元的权值按照期望的方向在输入空间伸展,直到保留到他们在粗调整阶段所建立的拓扑次序。
学习速率应随着学习的进行不断减小。
(2)邻域的作用与更新
在SOM网络中,脑神经细胞接受外界信息的刺激产生兴奋与抑制的变化规律是通过邻域的作用来体现的邻域规定了与获胜神经元g连接的权向量Wg进行同样调整的其他神经元的范围。在学习的最初阶段,邻域的范围较大,随着学习的深入进行,邻域的范围逐渐缩小。
(3)学习速率及邻域距离的更新。
在粗调整阶段,
学习参数初始化
最大学习循环次数 MAX_STEP1=1000,
粗调整阶段学习速率初值 LR1=1.4,
细调整阶段学习速率初值 LR2=0.02,
最大邻域距离 MAX_ND1=Dmax,
Dmax为邻域距离矩阵D的最大元素值。
粗调阶段
学习循环次数step≤MAX_STEP1,
学习速率lr从LR1调整到LR2,
邻域距离nd 从MAX_ND1调整到1,
求更新系数r,
r=1-step/MAX_STEP1,
邻域距离nd更新,
nd=1.00001+(MAX_ND1-1)×r。
学习速率lr更新,
lr=LR2+(LR1-LR2)×r。
在细调整阶段,
学习参数初始化,
最大学习循环次数 MAX_STEP2=2000,
学习速率初值 LR2=0.02,
最大邻域距离 MAX_ND2=1。
细调阶段
MAX_STEP1<step≤MAX_STEP1+MAX_STEP2,
学习速率lr慢慢从LR2减少,
邻域距离nd设为1,
邻域距离nd更新,
nd=MAX_ND2+0.00001。
学习速率lr更新,
lr=LR2×(MAX_STEP1/step)。
6.网络的回想——预测
SOM网络经学习后按照下式进行回想:
中国矿产资源评价新技术与评价新模型。
Yj=0,j=1,2,…,M,(j≠g)。
将需要分类的输入模式提供给网络的输入层,按照上述方法寻找出竞争层中连接权矢量与输入模式最接近的神经元,此时神经元有最大的激活值1,而其它神经元被抑制而取0值。这时神经元的状态即表示对输入模式的分类。
三、总体算法
1.SOM权值学习总体算法
(1)输入参数X[N][P]。
(2)构造权值矩阵W[M][N]。
1)由X[N][P]求Xmid[N],
2)由Xmid[N]构造权值W[M][N]。
(3)构造竞争层。
1)求竞争层神经元数M,
2)求邻域距离矩阵D[M][M],
3)求矩阵D[M][M]元素的最大值Dmax。
(4)学习参数初始化。
(5)学习权值W[M][N]。
1)学习参数学习速率lr,邻域距离nd更新,分两阶段:
(i)粗调阶段更新;
(ii)细调阶段更新。
2)求输入模式X[N][p]在竞争层的获胜神经元win[p]。
(i)求X[N][p]与W[m][N]的欧氏距离dm;
(ii)按距离dm最短,求输入模式X[N][p]在竞争层的获胜神经元win[p]。
3)求输入模式X[N][p]在竞争层的获胜神经元win[p]及其在邻域距离nd内的神经元的输出Y[m][p]。
4)求输入模式X[N][p]在竞争层的获胜神经元win[p]及其。
在邻域距离nd内的神经元的权值修正值ΔW[m][N],
从而得到输入模式X[N][p]产生的权值修正值ΔW[M][N]。
5)权值修正W[M][N]=W[M][N]+ΔW[M][N]。
6)学习结束条件:
(i)学习循环到MAX_STEP次;
(ii)学习速率lr达到用户指定的LR_MIN;
(iii)学习时间time达到用户指定的TIME_LIM。
(6)输出。
1)学习得到的权值矩阵W[M][N];
2)邻域距离矩阵D[M][M]。
(7)结束。
2.SOM预测总体算法
(1)输入需分类数据X[N][P],邻域距离矩阵D[M][M]。
(2)求输入模式X[N][p]在竞争层的获胜神经元win[p]。
1)求X[N][p]与W[m][N]的欧氏距离dm;
2)按距离dm最短,求输入模式X[N][p]在竞争层的获胜神经元win[p]。
(3)求获胜神经元win[p]在竞争层排列的行列位置。
(4)输出与输入数据适应的获胜神经元win[p]在竞争层排列的行列位置,作为分类结果。
(5)结束。
四、总体算法流程图
Kohonen总体算法流程图见附图4。
五、数据流图
Kohonen数据流图见附图4。
六、无模式识别总体算法
假定有N个样品,每个样品测量M个变量,则有原始数据矩阵:
X=(xij)N×M,i=1,2,…,N,j=1,2,…,M。
(1)原始数据预处理
X=(xij)N×M处理为Z=(zij)N×M,
分3种处理方法:
1)衬度;
2)标准化;
3)归一化。
程序默认用归一化处理。
(2)构造Kohonen网
竞争层与输入层之间的神经元的连接权值构成矩阵WQ×M。
WQ×M初始化。
(3)进入Kohonen网学习分类循环,用epoch记录循环次数,epoch=1。
(4)在每个epoch循环中,对每个样品n(n=1,2,…,N)进行分类。从1个样品n=1开始。
(5)首先计算输入层的样品n的输入数据znm(m=1,2,…,M)与竞争层Q个神经元对应权值wqm的距离。
(6)寻找输入层的样品n与竞争层Q个神经元的最小距离,距离最小的神经元Win[n]为获胜神经元,将样品n归入获胜神经元Win[n]所代表的类型中,从而实现对样品n的分类。
(7)对样品集中的每一个样品进行分类:
n=n+1。
(如果n≤N,转到5。否则,转到8。)。
(8)求分类后各神经元所对应的样品的变量的重心,用对应的样品的变量的中位数作为重心,用对应的样品的变量的重心来更新各神经元的连接权值。
(9)epoch=epoch+1;
一次学习分类循环结束。
(10)如果满足下列两个条件之一,分类循环结束,转到11;
否则,分类循环继续进行,转到4。
1)全部样品都固定在某个神经元上,不再改变了;
2)学习分类循环达到最大迭代次数。
(11)输出:
1)N个样品共分成多少类,每类多少样品,记录每类的样品编号;
2)如果某类中样品个数超过1个,则输出某类的样品原始数据的每个变量的均值、最小值、最大值和均方差;
3)如果某类中样品个数为1个,则输出某类的样品原始数据的各变量值;
4)输出原始数据每个变量(j=1,2,…,M)的均值,最小值,最大值和均方差。
(12)结束。
七、无模式识别总体算法流程图
Kohonen无模式总体算法流程图见附图5。
在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构作专家系统、制成机器人、复杂系统控制等等。
纵观当代新兴科学技术的发展历史,人类在征服宇宙空间、基本粒子,生命起源等科学技术领域的进程中历经了崎岖不平的道路。我们也会看到,探索人脑功能和神经网络的研究将伴随着重重困难的克服而日新月异。
神经网络就是一种算法,只是说比较大,属于大型算法。里面有一些协助的小算法,比如bp,rnn,lstm 属于神经网络结构。
这个没几个月说不清楚的
Introduction
--------------------------------------------------------------------------------。
神经网络是新技术领域中的一个时尚词汇。很多人听过这个词,但很少人真正明白它是什么。本文的目的是介绍所有关于神经网络的基本包括它的功能、一般结构、相关术语、类型及其应用。
“神经网络”这个词实际是来自于生物学,而我们所指的神经网络正确的名称应该是“人工神经网络(ANNs)”。在本文,我会同时使用这两个互换的术语。
一个真正的神经网络是由数个至数十亿个被称为神经元的细胞(组成我们大脑的微小细胞)所组成,它们以不同方式连接而型成网络。人工神经网络就是尝试模拟这种生物学上的体系结构及其操作。在这里有一个难题:我们对生物学上的神经网络知道的不多!因此,不同类型之间的神经网络体系结构有很大的不同,我们所知道的只是神经元基本的结构。
The neuron
--------------------------------------------------------------------------------。
虽然已经确认在我们的大脑中有大约50至500种不同的神经元,但它们大部份都是基于基本神经元的特别细胞。基本神经元包含有synapses、soma、axon及dendrites。Synapses负责神经元之间的连接,它们不是直接物理上连接的,而是它们之间有一个很小的空隙允许电子讯号从一个神经元跳到另一个神经元。然后这些电子讯号会交给soma处理及以其内部电子讯号将处理结果传递给axon。而axon会将这些讯号分发给dendrites。最后,dendrites带着这些讯号再交给其它的synapses,再继续下一个循环。
如同生物学上的基本神经元,人工的神经网络也有基本的神经元。每个神经元有特定数量的输入,也会为每个神经元设定权重(weight)。权重是对所输入的资料的重要性的一个指标。然后,神经元会计算出权重合计值(net value),而权重合计值就是将所有输入乘以它们的权重的合计。每个神经元都有它们各自的临界值(threshold),而当权重合计值大于临界值时,神经元会输出1。相反,则输出0。最后,输出会被传送给与该神经元连接的其它神经元继续剩余的计算。
Learning
--------------------------------------------------------------------------------。
正如上述所写,问题的核心是权重及临界值是该如何设定的呢?世界上有很多不同的训练方式,就如网络类型一样多。但有些比较出名的包括back-propagation, delta rule及Kohonen训练模式。
由于结构体系的不同,训练的规则也不相同,但大部份的规则可以被分为二大类别 - 监管的及非监管的。监管方式的训练规则需要“教师”告诉他们特定的输入应该作出怎样的输出。然后训练规则会调整所有需要的权重值(这是网络中是非常复杂的),而整个过程会重头开始直至数据可以被网络正确的分析出来。监管方式的训练模式包括有back-propagation及delta rule。非监管方式的规则无需教师,因为他们所产生的输出会被进一步评估。
Architecture
--------------------------------------------------------------------------------。
在神经网络中,遵守明确的规则一词是最“模糊不清”的。因为有太多不同种类的网络,由简单的布尔网络(Perceptrons),至复杂的自我调整网络(Kohonen),至热动态性网络模型(Boltzmann machines)!而这些,都遵守一个网络体系结构的标准。
一个网络包括有多个神经元“层”,输入层、隐蔽层及输出层。输入层负责接收输入及分发到隐蔽层(因为用户看不见这些层,所以见做隐蔽层)。这些隐蔽层负责所需的计算及输出结果给输出层,而用户则可以看到最终结果。现在,为免混淆,不会在这里更深入的探讨体系结构这一话题。对于不同神经网络的更多详细资料可以看Generation5 essays。
尽管我们讨论过神经元、训练及体系结构,但我们还不清楚神经网络实际做些什么。
The Function of ANNs 。
--------------------------------------------------------------------------------。
神经网络被设计为与图案一起工作 - 它们可以被分为分类式或联想式。分类式网络可以接受一组数,然后将其分类。例如ONR程序接受一个数字的影象而输出这个数字。或者PPDA32程序接受一个坐标而将它分类成A类或B类(类别是由所提供的训练决定的)。更多实际用途可以看Applications in the Military中的军事雷达,该雷达可以分别出车辆或树。
联想模式接受一组数而输出另一组。例如HIR程序接受一个‘脏’图像而输出一个它所学过而最接近的一个图像。联想模式更可应用于复杂的应用程序,如签名、面部、指纹识别等。
The Ups and Downs of Neural Networks 。
--------------------------------------------------------------------------------。
神经网络在这个领域中有很多优点,使得它越来越流行。它在类型分类/识别方面非常出色。神经网络可以处理例外及不正常的输入数据,这对于很多系统都很重要(例如雷达及声波定位系统)。很多神经网络都是模仿生物神经网络的,即是他们仿照大脑的运作方式工作。神经网络也得助于神经系统科学的发展,使它可以像人类一样准确地辨别物件而有电脑的速度!前途是光明的,但现在...。
是的,神经网络也有些不好的地方。这通常都是因为缺乏足够强大的硬件。神经网络的力量源自于以并行方式处理资讯,即是同时处理多项数据。因此,要一个串行的机器模拟并行处理是非常耗时的。
神经网络的另一个问题是对某一个问题构建网络所定义的条件不足 - 有太多因素需要考虑:训练的算法、体系结构、每层的神经元个数、有多少层、数据的表现等,还有其它更多因素。因此,随着时间越来越重要,大部份公司不可能负担重复的开发神经网络去有效地解决问题。
NN 神经网络,Neural Network 。
ANNs 人工神经网络,Artificial Neural Networks 。
neurons 神经元
synapses 神经键
self-organizing networks 自我调整网络 。
networks modelling thermodynamic properties 热动态性网络模型 。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++。
网格算法我没听说过
好像只有网格计算这个词
网格计算是伴随着互联网技术而迅速发展起来的,专门针对复杂科学计算的新型计算模式。这种计算模式是利用互联网把分散在不同地理位置的电脑组织成一个“虚拟的超级计算机”,其中每一台参与计算的计算机就是一个“节点”,而整个计算是由成千上万个“节点”组成的“一张网格”, 所以这种计算方式叫网格计算。这样组织起来的“虚拟的超级计算机”有两个优势,一个是数据处理能力超强;另一个是能充分利用网上的闲置处理能力。简单地讲,网格是把整个网络整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。