① BP学习算法是什么类型的学习算法它主要有哪些不足
BP算法是由学习过程由信号的正向传播与误差的反向传播两个过程组成。由于多层前馈网络的训练经常采用误差反向传播算法,人们也常把将多层前馈网络直接称为BP网络。
虽然BP算法得到广泛的应用,但它也存在不足,其主要表现在训练过程不确定上,具体如下。
1,训练时间较长。对于某些特殊的问题,运行时间可能需要几个小时甚至更长,这主要是因为学习率太小所致,可以采用自适应的学习率加以改进。
2,完全不能训练。训练时由于权值调整过大使激活函数达到饱和,从而使网络权值的调节几乎停滞。为避免这种情况,一是选取较小的初始权值,二是采用较小的学习率。
3,易陷入局部极小值。BP算法可以使网络权值收敛到一个最终解,但它并不能保证所求为误差超平面的全局最优解,也可能是一个局部极小值。
这主要是因为BP算法所采用的是梯度下降法,训练是从某一起始点开始沿误差函数的斜面逐渐达到误差的最小值,故不同的起始点可能导致不同的极小值产生,即得到不同的最优解。如果训练结果未达到预定精度,常常采用多层网络和较多的神经元,以使训练结果的精度进一步提高,但与此同时也增加了网络的复杂性与训练时间。
4,“喜新厌旧”。训练过程中,学习新样本时有遗忘旧样本的趋势。
(1)逆学习算法扩展阅读:
BP算法最早由Werbos于1974年提出,1985年Rumelhart等人发展了该理论。BP网络采用有指导的学习方式,其学习包括以下4个过程。
1,组成输入模式由输入层经过隐含层向输出层的“模式顺传播”过程。
2,网络的期望输出与实际输出之差的误差信号由输出层经过隐含层逐层休整连接权的“误差逆传播”过程。
3,由“模式顺传播”与“误差逆传播”的反复进行的网络“记忆训练”过程。
4,网络趋向收敛即网络的总体误差趋向极小值的“学习收敛”过程。
② 什么是网桥的向后学习法
向后学习法就是逆向学习法,透明网桥采用的算法是逆向学习法(backward learning)。网桥按混杂的方式工作,故它能看见所连接的任一LAN上传送的帧。查看源地址即可知道在哪个LAN上可访问哪台机器,于是在散列表中添上一项。
当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改变。为了处理动态拓扑问题,每当增加散列表项时,均在该项中注明帧的到达时间。每当目的地已在表中的帧到达时,将以当前时间更新该项。这样,从表中每项的时间即可知道该机器最后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。
③ 20以内数的加减法有些什么方法让学生循序渐进地学习
一、口算教学的意义。
第一,有利于培养学生良好的计算能力。因为口算是笔算的基础,口算熟练了,笔算才能过关。提高学生计算能力必须从口算抓起。
第二,有利于解决日常生活和生产劳动中简单的计算问题。一些简单的计算在许多情况下大都运用口算来进行。
第三,有利于发展儿童的智力。儿童在进行口算练习的时候,需要集中注意力,记着数目,选择算法,在头脑中紧张地思维运算。因此口算教学能促进儿童的注意力、记忆力、逻辑思维能力的发展。
二、鼓励学生独立思考,提倡算法的多样化,但要注意优化。
由于学生学习的知识背景和认知能力的差异,面对同一个进位加法或退位减法的题目,不同的学生可能会有不同的解法。为让每个学生在课堂的活动中都有不同程度的收获,使他们都能得到个性价值的体现,教材对情境问题呈现的方式是先提出数学问题(或者由学生自己提出数学问题),然后安排学生进行独立思考(或者小组讨论)。对学生每一种思考的过程都呈现了几种情况,以说明不同学生在解决问题中存在的不同解决方法。
新课程标准中明确提出要提倡算法多样化。所谓算法就是指解决各种数学问题的程序与方法,具体包括运算的方法与解题策略。算法多样化是指解决各种数学总是的方法多样化,即对同一个问题运用不同的方法来解决。
20以内进位加法的思考方法主要有以下几种方法:
1、数数法。用数手指头或画点子逐一计数。
2、接数法。基本仍是数数法,只不过是在第一个数的基础上再逐一计数。例如8+5,第一个数8不用数,接上去数8+1+1+1+1+1。
3、双手助记法。差生可以用“双手助记法”帮忙,一只手表示一个数,大姆指表示5,其他四指各表示1。例如7+6,按照规定伸出双手,一看即知,7+6=13,经常练习后,学生看到算式,即在头脑中呈现双手的表象,借助表象,学生便可以立即算出得数。这也可以说,是一个简便的数学模型。这同数手指不同,数手指是逐一计数,水平较低,而“双手助记法”属于按群计算了,达到了高一级层次。
4、珠心算。是80几岁高龄的数学教育家陈子镜老先生创立的一种珠算和心算相结合的新算法,其基本方法是借助手形码来计算,右手大姆指代表5,其余每个手指代表1,左手每个指头代表10。在计算中做到口、心脑并用。
5、凑十法。8+5=8+2+3=13,把第二个加数分解,与第一个加数凑十再算。
6、口诀法。在理解凑十法的基础上,熟记加法口诀,直接报出结果8+5=13(八五13)。在教学中,我是主张要求学生熟记加法口诀的,20以内进位加法口诀只有20句,熟记起来并不困难。熟记以后,可以一生受用。熟记加法口诀不能要求学生死记硬背,可以利用数的组成的知识来帮助记忆。这四种方法也表示学生口算能力的四种水平。第1、2、3、4四种方法属于计算的初级阶段,严格讲起来不能说是计算,仅是计数而已。学生停留在这四种水平上,只能依赖扳手指头、数小棒、画点子,不利于计算能力的发展。在教学10以内加、减法时,一定要使学生熟练掌握10以内进位加法,再过渡到口诀法。
20以内退位减法也是计算教学的难点。先分析一下口算20以内退位减法的几种方法:
1、数数法。用数手指头或画点子逐一减法。例如12—4就用12—1—1—1—1计算。
2、破十法。用被减数的十位数先减去减数,再加上被减数的个位数。例如:12—4=10—4+2=8以前的小学数学课本都采用这种方法。
3、逆算法。根据加、减法的互逆关系,用加法做减法,现在有些课本就采用这个方法。思维过程比“破十法”简单,计算速度快,使用逆算法要有个前提条件:必须熟练掌握20以内的进位加法。如果熟记加法口诀,对使用逆算法更为有利,即用加法口诀做减法。例如:12—4=8想(八)四12这种方法在笔算减法中使用也方便,可以提高计算速度。
4、退十加补法。“补”是指“补数”,是指一个数凑满十的数,如9的补数是1,8的补数是2,……用这种方法的思维过程如下:12—4=12—10+6=8。
由此看来,学生的算法的确存在着思维的差异性与层次性。显然这几种思维并不在同一层次上,不在同一层次上的算法就应该提倡优化,而且必须优化,只是优化地过程是学生不断体验与感悟的过程,而不是教师强制的过程。当学生已经能够借助表象,甚至符号和逻辑思维进行思考时,为什么一定要借助小棒和计数器呢?长此以往学生的思维如何发展,不正是培养了他们的主观意识吗?鼓励每位学生有自己独特的算法,并不等于他们可以满足现状,而拒绝学习新的、更有效的一般方法。教师应创设小组和全班交流的时机,通过对不同算法特点对比,使学生学会怎样去寻找最简捷的解决问题的思路,使所学的知识融会贯通,在更高层次上有更深刻的认识、更概括性的理解,进一步地培养学生思维的深刻性与敏捷,从而提高思维质量,培养高水平的数学思维。我在教学中碰到这种类型的题目时,鼓励学生算法多样化,但是不刻意地追求算法多样化。让学生自己介绍解题方法,然后跟其他同学的方法进行比较,说说自己解法的优缺点,最后还多问一句:“你认为哪种最好?为什么?”这样的话,学生就会择优录用了。当然教师在肯定其中一种方法的时候,也要肯定其他方法的长处。教师只有正确理解算法多样化的内涵,从而进行有效地教学,让每个学生都能在原有基础上得到发展。让学生从小就会“多中选优,择优而用”这种思想方法正是对学生全面发展的负责。
三、采用多种练习方式,激发学生学习兴趣。
20以内数的加减法是小学生学习数学运算的基础知识,学好这部分知识对学生的后续学习将产生重大的影响。所以,让每个学生学好这部分内容,使他们的计算逐步达到正确熟练,为提高学生练习的积极性,在口算练习中避免不必要的单调重复,可以设计多种练习形式,以启发学生积极思维。如:填数字15—( )=8 ;填运算符号5( )7=12;填等号或不等号12-3( )11-2。
口算练习必须经常进行,持之以恒,才有成效。许多优秀教师在每堂课开始,用5分钟左右时间进行口算基本训练,这是一个好经验。口算练习的方式一般有视算和听算两种。视算是学生看着卡片或教具上的式子计算;听算是听教师报式计算。听算要求高,既要记住运算的数目,又要进行思维计算,因此数目不能过大,局限于基本口算。听算在日常生活中用处较大,又能培养学生的注意力和记忆力,教学中应该重视听算训练。在教学中,也可以结合游戏的形式,如找朋友、对口令让学生感到数学练习的趣味性、多样性。
当然,教师在采用这些练习时要注意练习适度。因为,学生计算能力的发展是一个循序渐进的过程,所以,学生掌握20以内数的加减法比10内数的加减法要困难一些,存在一定的个体差异。对学习有困难的学生,应该允许他们有一个逐步提高的过程,在有条件的班级,教师也可以适当地设计一些适应这些特殊学生学习需要的练习题,给予他们具体的帮助,使他们树立学好数学的自信心。
④ 透明网桥的逆向学习法
透明网桥采用的算法是逆向学习法(backward learning)。网桥按混杂的方式工作,故它能看见所连接的任一LAN上传送的帧。查看源地址即可知道在哪个LAN上可访问哪台机器,于是在散列表中添上一项。
当计算机和网桥加电、断电或迁移时,网络的拓扑结构会随之改变。为了处理动态拓扑问题,每当增加散列表项时,均在该项中注明帧的到达时间。每当目的地已在表中的帧到达时,将以当前时间更新该项。这样,从表中每项的时间即可知道该机器最后帧到来的时间。网桥中有一个进程定期地扫描散列表,清除时间早于当前时间若干分钟的全部表项。于是,如果从LAN上取下一台计算机,并在别处重新连到LAN上的话,那么在几分钟内,它即可重新开始正常工作而无须人工干预。这个算法同时也意味着,如果机器在几分钟内无动作,那么发给它的帧将不得不散发,一直到它自己发送出一帧为止。
到达帧的路由选择过程取决于发送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:
1、如果源LAN和目的LAN相同,则丢弃该帧。
2、如果源LAN和目的LAN不同,则转发该帧。
3、如果目的LAN未知,则进行扩散。
为了提高可靠性,有人在LAN之间设置了并行的两个或多个网桥,但是,这种配置引起了另外一些问题,因为在拓扑结构中产生了回路,可能引发无限循环。
⑤ 矩阵的逆,的计算方法!
这种算法就是在右边加上一个单位矩阵E组成一个新矩阵,然后使用初等变换,当变换到新矩阵左半部分是单位矩阵的时候,右半部分就是原来矩阵的逆了。
1.0 2.0 3.0 1.0 0.0 0.0
2.0 2.0 1.0 0.0 1.0 0.0
3.0 4.0 3.0 0.0 0.0 1.0
可以变换到:
1.0 0.0 0.0 1.0 3.0 -2.0
0.0 1.0 0.0 -1.5 -3.0 2.5
0.0 0.0 1.0 1.0 1.0 -1.0
所以右边就是他的逆。
要从理论上证明这个算法的正确性不难,但是这里写不出来。。。如果你需要的话留下邮箱,或者往我邮箱发信[email protected]
⑥ 什么是逆算法
逆算法就是把一个像方程一样有未知数但不用方程解。
⑦ 矩阵求逆的具体算法
一,用公式:A逆等于A的行列式分之A的伴随矩阵
二,用初等行变换法求逆,即(A,E)——>(E,A逆)
⑧ 谁会逆算法的,易语言源码,写出算法的逆算法
看上去是rc4算法吧 这个加密和解密是同一个算法 不用逆 直接调用这个函数解密试试吧
⑨ 逆序数怎么算
可使用直接计数法,计算一个排列的逆序数的直接方法是逐个枚举逆序,同时统计个数。
举个例子:
标准列是1 2 3 4 5,那么 5 4 3 2 1 的逆序数算法:
看第二个,4之前有一个5,在标准列中5在4的后面,所以记1个。
类似的,第三个 3 之前有 4 5 都是在标准列中3的后面,所以记2个。
同样的,2 之前有3个,1之前有4个,将这些数加起来就是逆序数=1+2+3+4=10。
(9)逆学习算法扩展阅读:
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。
也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的实际先后次序与标准次序不同时,就说有1个逆序。
⑩ 神经网络BP模型
一、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)。这种方法试图消除梯度的大小对权步的有害影响,因此,只有梯度的符号被认为表示权更新的方向。
权改变的大小仅仅由权专门的“更新值”
中国矿产资源评价新技术与评价新模型
其中
权更新遵循规则:如果导数是正(增加误差),这个权由它的更新值减少。如果导数是负,更新值增加。
中国矿产资源评价新技术与评价新模型
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的梯度值
(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 预测结果(部分)
续表