神经网络--五个基本的学习算法.doc

上传人:pu****.1 文档编号:560832200 上传时间:2024-03-16 格式:DOC 页数:7 大小:148.02KB
返回 下载 相关 举报
神经网络--五个基本的学习算法.doc_第1页
第1页 / 共7页
神经网络--五个基本的学习算法.doc_第2页
第2页 / 共7页
神经网络--五个基本的学习算法.doc_第3页
第3页 / 共7页
神经网络--五个基本的学习算法.doc_第4页
第4页 / 共7页
神经网络--五个基本的学习算法.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《神经网络--五个基本的学习算法.doc》由会员分享,可在线阅读,更多相关《神经网络--五个基本的学习算法.doc(7页珍藏版)》请在金锄头文库上搜索。

1、五个基本的学习算法:误差修正学习;基于记忆的学习;Hebb学习;竞争学习和Boltzmann学习。误差修正学习植根于最优滤波。基于记忆的学习通过明确的记住训练数据来进行。Hebb学习和竞争学习都是受了神经生物学上的考虑的启发。Boltzmann学习是建立在统计学力学借来的思想基础上。 误差修正学习神经元k的输出信号表示,表示的是期望响应或目标输出比较。由此产生表示的误差信号,有这一目标通过最小化代价函数或性能指标来实现。定义如下也就是说是误差能量的瞬时值。这种对神经元k的突触权值步步逼近的调节将持续下去,直到系统达到稳定状态。这时,学习过程停止。根据增量规则,在第n时间步作用于突触权值的调节量

2、定义如下: 基于记忆的学习在一个简单而有效的称作最近邻规则的基于记忆的学习类型中,局部邻域被定义为测试向量的直接邻域的训练实例,特别,向量被称作的最邻近,如果这里,是向量和的欧几里德距离。与最短距离相关的类别,也就是向量被划分的类别。 Hebb学习我们定义Hebb突触为这样一个突触,它使用一个依赖时间的、高度局部的和强烈交互的机制来提高突触效率为前突触和后突触活动间的相互关系的一个函数。可以得出Hebb突触特征的个重要机制:时间依赖机制;局部机制;交互机制;关联或相关机制。 竞争学习获胜神经元k的输出信号被置为;竞争失败的所有神经元输出信号被置为。这样,我们有其中,诱导局部域表示结合所有达到神

3、经元k的前向和反馈输入的动作。令表示连接输入节点j到神经元k的突触权值。假定每个神经元被分配固定量的突触权值,权值分布在它的节点之中;也就是然后神经元通过将突触权值从它的不活跃输入移向活跃输入来进行学习。如果神经元对一个特定输入模式不响应,那么没有学习发生在那个神经元上。如果一个特定神经元赢得了竞争,这个神经元的每个输入节点经一定的比例释放它的突触权值,释放的权值然后平均分布到活跃输入节点上。作用于突触权值的改变量定义为 Boltzmann学习令表示网络在钳制条件下神经元j和k的状态间的相关量。令表示网络在其自由运作条件下神经元j和k的状态间的相关量。作用于神经元j到神经元k的突触权值的改变量

4、由,定义,其中是学习率参数。五种学习算法的区别:误差修正学习和Boltzmann学习是有监督学习;而Hebb学习和竞争学习是无监督学习。在误差修正学习中,作用于神经元突触权值的调节量正比于本次学习中误差信号的突触的输入的乘积,它实际上带有局部性质,这仅仅是说由增量规则计算的突触调节局部于神经元k周围。同时,对的选择对学习过程的准确及其它方面也有深刻的影响。基于记忆的学习中的最邻近规则,基于两个假设;分类实例()按照实例()的联合概率分布是独立同分布的;样本大小N是无限大的,它的分类错误率同贝叶斯误差概率的关系为其中为贝叶斯误差概率,C是分类的类别数目。Hebb学习中如果在突触(连接)每一边的两

5、个神经元同时(即同步)激活,那么那个突触的强度被选择性增强;如果在突触每一边的两个神经元被异步激活,那么那个突触被选择性地减弱或消除。竞争学习中突触权值的改变取决于前突触和当前的突触权值,与后突触权值无关。神经网络可以通过竞争学习来进行聚类。然而,开始时输入模式必须落入充分分离的分组中。否则,网络可能不稳定,因为它将不再以同样的输出神经元响应给定的输入模式。Boltzmann学习中突触权值的改变实质上取决于前突触和后突触之间的相关量。并同时考虑在钳制条件和自由运行条件下的相关量,且的值数都在-1和+1范围内。对此题分别采用MLP网络拟合,RBF网络拟合。1. MLP网络拟合% Example4

6、_17BP% 用于曲线拟合的BP网络clear all;% n为隐藏的神经元个数n=input(请输入隐藏的神经元个数 n=);t=15 15 15 18 28 29 37 37 44 50 50 60 61 64 65 65 72 75 75 82 85 91 91 97 98 125 142 142 147 147 150 159 165 183 192 195 218 218 219 224 225 227 232 232 237 246 258 276 285 300 301 305 312 317 338 347 354 357 375 394 513 535 554 591 648

7、 660 705 723 756 768 860;y0=21.66 22.75 22.3 31.25 44.79 40.55 50.25 46.88 52.03 63.47 61.13 81 73.09 79.09 79.51 65.31 71.9 86.1 94.6 92.5 105 101.7 102.9 110 104.3 134.9 130.68 140.58 155.3 152.2 144.5 142.15 139.81 153.22 145.72 161.1 174.18 173.03 173.54 178.86 177.68 173.73 159.98 161.29 187.07

8、 176.13 183.4 186.26 189.66 186.09 186.7 186.8 195.1 216.41 203.23 188.38 189.7 195.31 202.63 224.82 203.3 209.7 233.9 234.7 244.3 231 242.4 230.77 242.57 232.12 246.7;net=newff(minmax(t),n,1,tansig purelin,trainlm);% 未经训练的模拟输出y1y1=sim(net,t);net.trainParam.epochs=250;net.trainParam.goal=9.0;net=tra

9、in(net,t,y0);% 训练后的模拟输出y2y2=sim(net,t);y3=233.84*(1-exp(-0.006042*t);figure;plot(t,y0,-,t,y1,-,t,y2,-,t,y3,:);title(训练后的网络仿真结果);xlabel(时间/天数);ylabel(晶状体重量/克);legend(原始数据,初始化值,训练后曲线,模型曲线);1. 在MLP网络拟合中,进行了三次试验,隐藏神经元的个数分别是8,12,15,结果显示在隐藏神经元的个数大的时候有更好的拟合能力,尤其在数据间变化快(上下波动大)的时候可以很好的拟合,比原来的最小平方模型更好。2. 在RBF

10、网络拟合中,拟合结果显示,在数据变化快(上下波动大)的时候能完全拟合,但是在数据变化慢(上下波动小)的时候的拟合结果相当差,证明它的网络推广能力不强。3. 当MLP网络和RBF网络比较时,它们的误差曲线分别如图3,图5可以看出他们的误差之间相差不大,但是RBF网络的迭代步数明显要少于MLP网络。虽然MLP网络不能很好的对数据变化快的点进行拟合,但从整体数据看它的适应能力好。RBF网络在数据变化慢的点的拟合效果明显比MLP网络差。function C=make_data_4_8()% 产生用于BP,RBF,SVM试验数据pats=input(产生数据的个数 pats=);if floor(pat

11、s/2)*2 = pats, disp(Number of patterns should be equal - try again!); returnendf=pats/2;% 生成第一类数据C1=randn(f,2);C1(:,3)=ones(f,1)*.95;C1(:,4)=ones(f,1)*.05;C1(:,5)=zeros(f,1);for i=1:f RC1(i,i)=(1/2*pi)*exp(-1/2*pi)*(norm(C1(i,1:2)-zeros(1,2)2);end% 第一类数据的概率密度函数mesh(C1(:,1),C1(:,2),RC1(:,:);%生成第二类数据C

12、2=randn(f,2);C2=C2*2;C2(:,1)=C2(:,1)+2;C2(:,3)=ones(f,1)*.05;C2(:,4)=ones(f,1)*.95;C2(:,5)=ones(f,1)*1;for i=1:f RC2(i,i)=(1/2*pi*4)*exp(-1/2*pi)*(norm(C2(i,1:2)-2 0)2);endfigure%第二类数据的概率密度函数mesh(C2(:,1),C2(:,2),RC2(:,:);figureplot(C1(:,1),C2(:,2),*);axis(-4 10 -5.5 5.5)figureplot(C2(:,1),C2(:,2),o)

13、;axis(-4 10 -5.5 5.5)figureplot(C1(:,1),C2(:,2),*);axis(-4 10 -5.5 5.5)hold onplot(C2(:,1),C2(:,2),o);axis(-4 10 -5.5 5.5)% shuffle them upH=C1 C2;y i=sort(rand(f*2,1);C=H(i,:);用上面的程序画出两类数据的Guass分布三维图P=mk_data(500);%产生数据用来训练神经网络,两类高斯分布的训练数据分别为250hN=2;oN=2;lr=0.1;mom=0;epochs=320; w1,b1,w2,b2,ep_err,

14、a=bpm_train(P,hN,oN,2,lr,mom,epochs,0,0,0,0,0);%训练神经网络,hN是隐藏神经元个数,oN是输出层神经元个数,lr是学习率,mom动量参数,epochs是训练回合数目。w1,b1分别是返回训练所得的权值的偏移量。bpm_dec_bnds(w1,b1,w2,b2,0.1);%产生分类边界测试T=mk_data(10000);%产生10000个测试数据cor,uncor=bpm_test(w1,b1,w2,b2,T);c=pl_circ(-2/3 0,2.34,0.01,1);%确定Bayes分界面%hN=2;lr=0.1;mom=0;epochs=3

15、20; oN=21. 在神经元数目,学习率参数,动量常数,都不变,试验时只改变训练集数目和回合数的时候,从表1,表2分别可以看出均方误差和正确分类概率没有必然的联系,均方误差和正确分类概率不会随着训练集数目和回合数的增加而增加,也不会随着训练集数目和回合数的减少而减少。2. 在学习率参数0.1,动量常数0的时候,比较神经元个数对试验结果的影响,从表1,表2及图12,图13可以看出当隐藏神经元个数是4的时候比隐藏神经元个数是2的时候,试验结果中:均方误差小,正确分类概率大。说明含有4个隐藏神经元的网络得出的结果优于2个隐藏神经元的网络。3. 学习率参数和动量常数的选择。从表3,表4,表5,表6及图14,图15,图16,图17可以看出:当隐藏神经元的个数固定(在试验中为2),学习

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号