实验四、RBF神经网络实验报告

第一篇:实验四、RBF神经网络实验报告

       实验

       四、RBF神经网络

       一、实验目的

       通过计算机编程实现并验证RBF神经网络的曲线拟合及模式分类能力。

       二、实验内容

       1)用Matlab实现RBF神经网络,并对给定的曲线样本集实现拟合; 2)通过改变实验参数,观察和分析影响RBF神经网络的结果与收敛速度的因素;

       三、实验原理、方法和手段

       RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近、时间序列分析、数据分类、模式识别、信息处理、图像处理、系统建模、控制和故障诊断等。

       简单说明一下为什么RBF网络学习收敛得比较快。当网络的一个或多个可调参数(权值或阈值)对任何一个输出都有影响时,这样的网络称为全局逼近网络。由于对于每次输入,网络上的每一个权值都要调整,从而导致全局逼近网络的学习速度很慢。BP网络就是一个典型的例子。

       如果对于输入空间的某个局部区域只有少数几个连接权值影响输出,则该网络称为局部逼近网络。常见的局部逼近网络有RBF网络、小脑模型(CMAC)网络、B样条网络等。

       径向基函数解决插值问题

       完全内插法要求插值函数经过每个样本点,即有P个。

       RBF的方法是要选择P个基函数,每个基函数对应一个训练数据,各基函数形式为,由于距离是径向同性的,因此称为径向基函数。

       。样本点总共||X-Xp||表示差向量的模,或者叫2范数。

       基于为径向基函数的插值函数为:

       输入X是个m维的向量,样本容量为P,P>m。可以看到输入数据点Xp是径向基函数φp的中心。

       隐藏层的作用是把向量从低维m映射到高维P,低维线性不可分的情况到高维就线性可分了。

       将插值条件代入:

       写成向量的形式为维度无关,当Φ可逆时,有,显然Φ是个规模这P对称矩阵,且与X的。

       对于一大类函数,当输入的X各不相同时,Φ就是可逆的。下面的几个函数就属于这“一大类”函数:

       1)Gauss(高斯)函数

       2)Reflected Sigmoidal(反常S型)函数

       3)Inverse multiquadrics(拟多二次)函数

       σ称为径向基函数的扩展常数,它反应了函数图像的宽度,σ越小,宽度越窄,函数越具有选择性。

       完全内插存在一些问题:

       1)插值曲面必须经过所有样本点,当样本中包含噪声时,神经网络将拟合出一个错误的曲面,从而使泛化能力下降。

       由于输入样本中包含噪声,所以我们可以设计隐藏层大小为K,K

       2)基函数个数等于训练样本数目,当训练样本数远远大于物理过程中固有的自由度时,问题就称为超定的,插值矩阵求逆时可能导致不稳定。

       拟合函数F的重建问题满足以下3个条件时,称问题为适定的: 解的存在性 解的唯一性 解的连续性

       不适定问题大量存在,为解决这个问题,就引入了正则化理论。正则化理论

       正则化的基本思想是通过加入一个含有解的先验知识的约束来控制映射函数的光滑性,这样相似的输入就对应着相似的输出。

       寻找逼近函数F(x)通过最小化下面的目标函数来实现:

       加式的第一项好理解,这是均方误差,寻找最优的逼近函数,自然要使均方误差最小。第二项是用来控制逼近函数光滑程度的,称为正则化项,λ

       是正则化参数,D是一个线性微分算子,代表了对F(x)的先验知识。曲率过大(光滑度过低)的F(x)通常具有较大的||DF||值,因此将受到较大的惩罚。

       直接给出(1)式的解:

       权向量

       (2)G(X,Xp)称为Green函数,G称为Green矩阵。Green函数与算子D的形式有关,当D具有旋转不变性和平移不变性时,类Green函数的一个重要例子是多元Gauss函数:

       。这

       正则化RBF网络

       输入样本有P个时,隐藏层神经元数目为P,且第p个神经元采用的变换函数为G(X,Xp),它们相同的扩展常数σ。输出层神经元直接把净输入作为输出。输入层到隐藏层的权值全设为1,隐藏层到输出层的权值是需要训练得到的:逐一输入所有的样本,计算隐藏层上所有的Green函数,根据(2)式计算权值。广义RBF网络

       Cover定理指出:将复杂的模式分类问题非线性地映射到高维空间将比投影到低维空间更可能线性可分。

       广义RBF网络:从输入层到隐藏层相当于是把低维空间的数据映射到高维空间,输入层细胞个数为样本的维度,所以隐藏层细胞个数一定要比输入层细胞个数多。从隐藏层到输出层是对高维空间的数据进行线性分类的过程,可以采用单层感知器常用的那些学习规则,参见神经网络基础和感知器。

       注意广义RBF网络只要求隐藏层神经元个数大于输入层神经元个数,并没有要求等于输入样本个数,实际上它比样本数目要少得多。因为在标准RBF网络中,当样本数目很大时,就需要很多基函数,权值矩阵就会很大,计算复杂且容易产生病态问题。另外广RBF网与传统RBF网相比,还有以下不同:

       径向基函数的中心不再限制在输入数据点上,而由训练算法确定。各径向基函数的扩展常数不再统一,而由训练算法确定。

       输出函数的线性变换中包含阈值参数,用于补偿基函数在样本集上的平均值与目标值之间的差别。

       因此广义RBF网络的设计包括: 结构设计--隐藏层含有几个节点合适

       参数设计--各基函数的数据中心及扩展常数、输出节点的权值。下面给出计算数据中心的两种方法:

       数据中心从样本中选取。样本密集的地方多采集一些。各基函数采用统一的偏扩展常数:

       dmax是所选数据中心之间的最大距离,M是数据中心的个数。扩展常数这么计算是为了避免径向基函数太尖或太平。

       自组织选择法,比如对样本进行聚类、梯度训练法、资源分配网络等。各聚类中心确定以后,根据各中心之间的距离确定对应径向基函数的扩展常数。

       λ是重叠系数。

       接下来求权值W时就不能再用行数大于列数,此时可以求Φ伪逆。

       了,因为对于广义RBF网络,其

       数据中心的监督学习算法

       最一般的情况,RBF函数中心、扩展常数、输出权值都应该采用监督学习算法进行训练,经历一个误差修正学习的过程,与BP网络的学习原理一样。同样采用梯度下降法,定义目标函数为

       ei为输入第i个样本时的误差信号。

       上式的输出函数中忽略了阈值。

       为使目标函数最小化,各参数的修正量应与其负梯度成正比,即

       具体计算式为

       上述目标函数是所有训练样本引起的误差总和,导出的参数修正公式是一种批处理式调整,即所有样本输入一轮后调整一次。目标函数也可以为瞬时值形式,即当前输入引起的误差

       此时参数的修正值为:

       四、实验结果

       RBF神经网络函数用于线性回归,用exp(PI*0.1)作为训练数据,然后输入的测试数是exp(PI*0.1),其实际的输出结果与预测的输出结果完全一致,预测效果很好,其图如下图所示。

       RBF神经网络函数用于分类,其实际的输出结果与预测的输出结果如下图所示。

第二篇:BP神经网络实验报告

       BP神经网络实验报告

       一、实验目的1、熟悉MATLAB中神经网络工具箱的使用方法;

       2、通过在MATLAB下面编程实现BP网络逼近标准正弦函数,来加深对BP网络的了解和认识,理解信号的正向传播和误差的反向传递过程。

       二、实验原理

       由于传统的感知器和线性神经网络有自身无法克服的缺陷,它们都不能解决线性不可分问题,因此在实际应用过程中受到了限制。而BP网络却拥有良好的繁泛化能力、容错能力以及非线性映射能力。因此成为应用最为广泛的一种神经网络。

       BP算法的基本思想是把学习过程分为两个阶段:第一阶段是信号的正向传播过程;输入信息通过输入层、隐层逐层处理并计算每个单元的实际输出值;第二阶段是误差的反向传递过程;若在输入层未能得到期望的输出值,则逐层递归的计算实际输出和期望输出的差值(即误差),以便根据此差值调节权值。这种过程不断迭代,最后使得信号误差达到允许或规定的范围之内。

       基于BP算法的多层前馈型网络模型的拓扑结构如上图所示。

       BP算法的数学描述:三层BP前馈网络的数学模型如上图所示。三层前馈网中,输入向量为:;隐层输入向量为:;输出层输出向量为:;期望输出向量为:。输入层到隐层之间的权值矩阵用V表示,其中列向量为隐层第j个神经元对应的权向量;隐层到输出层之间的权值矩阵用W表示,其中列向量为输出层第k个神经元对应的权向量。

       下面分析各层信号之间的数学关系。

       对于输出层,有

       对于隐层,有

       以上两式中,转移函数f(x)均为单极性Sigmoid函数:

       f(x)具有连续、可导的特点,且有

       以上共同构成了三层前馈网了的数学模型。

       当网络输出和期望输出不相等时,存在输出误差E如下:

       将以上误差定义式展开至隐层,有

       进一步展开至输入层,有

       由上式可以看出,网络输入误差是两层权值W和V的函数,因此调整权值可以改变误差E。

       显然,调整权值的原则是使误差不断的减小,因此应使权值的调整量与误差的负梯度成正比,即:

       式中负号表示梯度下降,常数表示比例系数,在训练中反映了学习速率。

       容易看出,BP学习算法中,各层权值调整公式形式上都是一样的,均有3个因素决定,即:学习速率、本层误差信号和本层输入信号X/Y。其中输出层误差信号同网络的期望输出与实际输出之差有关,直接反映了输出误差,而各隐层的误差信号与前面各层的误差信号都有关,是从输出层开始逐层反传过来的。

       三、程序

       clc

       clear

       all

       k=1;

       n=10;

       P=[-1:0.05:1];

       T=sin(k*pi*P);

       plot(P,T,'-');

       title('要逼近的非线性函数');

       xlabel('输入向量');

       ylabel('非线性函数目标输出向量');

       net=newff(minmax(P),[n,1],{'tansig','purelin'},'trainlm');

       y1=sim(net,P);

       net.trainParam.epochs=50;

       net.trainParam.goal=0.01;

       net=train(net,P,T);

       y2=sim(net,P);

       figure;

       plot(P,T,'-',P,y1,'--',P,y2,'*');

       title('训练前后的网络仿真结果对比');

       xlabel('输入向量');

       ylabel('输出向量');

       legend('目标函数输出向量','未训练BP网络输出','已训练BP网络输出');

       仿真结果如下图:

       由仿真结果图可以看出,未经训练的BP网络输出与目标函数差距很大,逼近效果不理想,而对BP网络训练之后的输出可以较精确的逼近目标函数,并且BP网络的训练迭代次数仅约1.2次,网络的输出目标误差就达到了精度要求,收敛速度很快。函数逼近效果、网络训练的收敛速度与原始非线性函数的频率、BP网络隐含层单元神经元的数目以及BP网络训练函数有关。

       四、实验结论

       通过编程实现使用BP网络对函数进行逼近,对BP网络的信号和误差传递的原理以及隐层、输出层权值调整的规则有了充分的理解和认识。

       BP网络是一个强大的工具,它是应用最为广泛的网络。用于文字识别、模式分类、文字到声音的转换、图像压缩、决策支持等。

       但是,通过实验看出,它还是存在一定的不足。由于本实验中采用的学习率是固定不变的,从而使得在函数逼近的时候在有些地方出现了偏离,如果能自适应的调整学习率,使网络在学习初期具有较大的学习率,以快速逼近函数,当已经逼近理想输出时再使用较小的学习率,来更加精准的去逼近函数,这样会得到更好的逼近效果和更小的错误率。

       另外,BP网络还具有收敛速度慢、容易陷入局部极小值的问题。这些问题通过对标准BP算法的改进能得到一定程度的解决。

第三篇:电子商务实验报告实验四

       实验四 手机银行业务------招商银行手机银行业务及其

       安全机制(选做)

       一、实验目的

       1、掌握招商银行手机银行业务支付流程及相关概念;

       2、了解招商银行手机银行业务的服务内容;

       3、理解招商银行手机银行业务的安全机制;

       二、实验内容

       1.浏览招商银行网站(http://.xiexiebang.com/)

       2.了解招商银行手机银行业务

       3.熟悉招商银行手机银行业务(http://mobile.cmbchina.com/MobileWeb)的电子支付流程及有关规定。浏览并理解招商银行手机银行业务的安全机制.先登录再进行各项业务的操作,并且记录操作流程。

       三、思考题:

       1.思考网上手机银行存在哪些安全问题?

       手机银行遇到的安全问题主要有两个,一是手机遗失;二是手机遭黑客入侵。专家表示,若无动态密码,若仅凭借账号、账户的交易密码和手机验证码操作,手机一旦被盗窃或验证短信被复制、拦截,那么手机银行的账户资金安全就会受到威胁。

       2.你认为影响用户进行手机支付的因素有哪些?

       (1)大多数手机用户都遭遇过垃圾信息(短信、彩信、电话)的骚扰。(2)机卡分离模式以及难以落实的手机实名制。

       (3)手机支付在我国尚属初级阶段,运营商与银行两套系统间的业务融合一时难以完成。(4)手机支付利益各方还未达成统一的结算标准。

       (5)虽然从技术上已经解决了手机支付的安全问题,但手机支付标准的统一仍需一段时间。(6)长期以来使用现金、银行卡消费已经成为一种消费习惯.

第四篇:实验四 存储器部件实验报告

       实验四 存储器部件实验

       班级:通信111班 学号:202210324119 姓名:邵怀慷 成绩:

       一、实验目的

       1、熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处;学习用编程器设备向EEPROM芯片内写入一批数据的过程和方法。

       2、理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。

       3、了解静态存储器系统使用的各种控制信号之间正常的时序关系。

       4、了解如何通过读、写存储器的指令实现对58C65 ROM芯片的读、写操作。

       5、加深理解存储器部件在计算机整机系统中的作用。

       二、实验内容

       1、要完成存储器容量扩展的教学实验,需为扩展存储器选择一个地址,并注意读写和OE等控制信号的正确状态。

       2、用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM(28系列芯片)、EPROM(27系列芯片)在读写上的异同。

       3、用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。

       4、用监控程序的A命令编写一段程序,对扩展存储器EEPROM(28 系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。

       三、实验步骤

       1、检查扩展芯片插座的下方的插针要按下列要求短接:标有“/MWR”“RD”的插针左边两个短接,标有“/MRD”“GND”的插针右边两个短接。

       2、RAM(6116)支持即时读写,可直接用A、E 命令向扩展的存储器输入程序或改变内存单元的值。

       (1)用E命令改变内存单元的值并用D命令观察结果。

       1)在命令行提示符状态下输入:

       E 2022↙

       屏幕将显示: 2022 内存单元原值:

       按如下形式键入:

       2022 原值:2222(空格)原值:3333(空格)原值:4444(空格)原值:5555 ↙(1)结果

       2)在命令行提示符状态下输入:

       D 2022↙

       屏幕将显示从2022内存单元开始的值,其中2022H~2023H的值为:

       2222 3333 4444 5555

       问题:断电后重新启动教学实验机,用D命令观察内存单元2022~2023 的值。会发现

       什么问题,为什么?

       答:断电结果:

       断电后重新启动教学实验机,用D命令观察内存单位2022~2023的值。会发现原来置入到这几个内存单位的值已经改变,用户在使用RAM时,必须每次断电重启后豆芽平重新输入程序或修改内存单位的值。(2)用A 命令输入一段程序,执行并观察结果。

       在命令行提示符状态下输入:

       A 2000↙

       屏幕将显示: 2000:

       按如下形式键入:

       2000: MVRD R0,AAAA

       MVRD R1,5555

       AND R0,R1

       RET

       问题:采用单步和连续两种方式执行这段程序,察看结果,断电后发生什么情况? 答:输出结果

       分析:从采用但不和连续两种方式执行这段程序,察看结果,断电后发生什么情况R1的数据改变了。

       3、将扩展的ROM芯片(27或28系列或28的替代产品58C65芯片)插入标有“EXTROMH”和“EXTROML”的自锁紧插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。如果芯片插入方向不对,会导致芯片烧毁。然后锁紧插座。

       4、将扩展的ROM 芯片(27或28系列或28的替代产品58C65芯片)插入标有“EXTROMH”和“EXTROML”的插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。如果芯 片插入方向不对,会导致芯片烧毁。然后锁紧插座。

       5、将扩展芯片下方的插针按下列方式短接:将标有“/MWR”“ PGM”和“RD”的三个插针左面两个短接,将标有“/MWR”“/OE”“GND”的三个插针左边两个短接。

       6、将扩展芯片上方标有EXTROMH和EXTROML的“/CS”信号用自锁紧线短接,然后短接到MEMDC 138 芯片的上方的标有“4000-5fff”地址单元。

       注意:标有/CS 的圆孔针与标有MEM/CS 的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。

       下面以2764A 为例,进行扩展EPROM 实验。

       7、EPROM 是紫外线可擦除的电可改写的只读存储器芯片。在对EPROM 进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。

       (1)将芯片0000~001F 的内存单元的值置成01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F(2)将编程好的芯片插在扩展芯片的高位,低位不插,按上面的提示插好插针。问题:

       (1)用D命令查看内存单元0000~001F的值,结果是什么?

       (2)用E命令向芯片的内存单元置入数值,再用D命令察看,原来的值是否发生改变?(3)用A命令向芯片所在的地址键入程序,用U命令反汇编,发现什么?为什么会出现这种

       情况?

       (4)将教学机断电后重启,用D命令看内存单元0000~001F的内容,数值是否发生变化? 下面以AT28C64B(或其替代产品58C65 芯片)为例,进行扩展EEPROM实验。

       8、AT28C64B的读操作和一般的RAM一样,而其写操作,需要一定的时间,大约为1 毫秒。因此,需要编写一延迟子程序,在对EEPROM进行写操作时,调用该子程序,以完成正确的读写。(1)用E 命令改变内存单元的值并用D命令观察结果。1)在命令行提示符状态下输入: E 5000↙

       屏幕将显示: 5000 内存单元原值: 按如下形式键入:

       5000 原值:2424(按空格)原值:3636(按空格)原值:4848(按空格)原值:5050↙ 2)在命令行提示符状态下输入: D 5000↙

       屏幕将显示5000H~507FH 内存单元的值,从5000 开始的连续四个内存单元的值依次 为2424 3636 4848 5050。

       3)断电后重新启动,用D命令察看内存单元5000~5003的值,会发现这几个单元的值没有发生改变,说明EEPROM的内容断电后可保存。输出结果:

       分析:从输出的结果来看断电后重新启动,用D命令察看内存单位500~5003的值,会发现这几个单位的值没有发生改变,说明EEPROM的内容断电后可保存。

       (2)AT28C64B存储器不能直接用A 命令输入程序,单字节的指令可能会写进去,双字节指令的低位会出错(建议试一试),可将编写好的程序用编程器写入片内;也可将程序放到RAM(6116)中,调用延时子程序,访问AT28C64B 中的内存地址。

       下面给出的程序,在5000H~500FH 单元中依次写入数据0000H、0001H、...000FH。从2000H单元开始输入主程序:(2000)MVRD R0,0000 MVRD R2,0010 ;R2记录循环次数

       MVRD R3,5000 ;R3的内容为16 位内存地址

       (2022)STRR [R3],R0 ;将R0寄存器的内容放到R3 给出的内存单元中

       CALA 2200 ;调用程序地址为2200的延时子程序 INC R0 ;R0加1 INC R3 ;R3加1 DEC R2 ;R2减1 JRNZ 2022 ;R2不为0跳转到2022H RET 从2200H 单元开始输入延时子程序:(2200)PUSH R3 MVRD R3,FFFF(2203)DEC R3 JRNZ 2203 POP R3 RET 运行主程序,在命令提示符下输入:G 2000↙。输出结果:

       注意:运行G命令的时候,必须要将将标有“/MWR”“/OE”“GND”的三个插针右边两个短接。程序执行结束后,在命令提示符下输入:D 5000↙; 可看到从5000H开始的内存单元的值变为 5000:0000 0001 0002 0003 0004 0005 0006 0007 5008:0008 0009 000A 000B 000C 000D 000E 000F。

       四、思考题

       1)为何能用E 命令直接写AT28C64B的存储单元,而A命令则有时不正确;

       答:E命令是储存寄存器指令A时监控器指令,而E直接多个程序写入AT28C64B的存储单元,写入的速度快,A命令只能是一次写入执行一条程序,是延迟指令、所以用E命令直接写A。T28C64B的存储单元,而A命令则有时不正确。

       2)修改延时子程序,将其延时改短,可将延时子程序中R3的内容赋成00FF或0FFF等,再看运行结果。

       五、实验心得与体会

       通过本次试验的难度在于怎样弄清楚ROM芯片和RAM芯片在功能和使用方法等方面的同和差异之处:学习编程器设备向EEPROM芯片内写入一批数据的过程跟方法的工作原理,我在我预习做试验的时候,阅读到计算机存储器系统由ROM和RAM两个存储区组成,分别由EPROM芯片(或EEPROM芯片)和RAM芯片构成。TEC-XP教学极端及中还了另外几个存储器器件插座,可以插上相应储存器芯片成存储器容量扩展的教学实验,为此必须比较清楚的了解:是我们做实验的一大难点,同时也是我们计算机组成原理 的重点。同时在做实验的时候也遇到一些相应的疑问,RAM和EPROM、EEPROM存储器芯片在读写控制跟写入时间等方面的同异之处,并正确建立连接关系和在过程中完成正确的读写过程。

第五篇:实验四工业工程实验报告2022

       实验四自动化立体仓库作业

       一、实验目的了解自动化立体仓库的入库、移库、出库作业和电子标签货架系统;根据产品生产线规划设计AGV小车的运行轨迹。

       二、实验内容

       结合减速器装配生产线进行入库、移库、出库作业和电子标签辅助拣选,规划设计AGV小车的运行轨迹,用其为装配线各工作站运送零件,完成减速器的装配。

       三、实验步骤

       1.将减速器箱体入库到立体仓库。

       2.将其余零件入库到电子标签货架。

       3.规划AGV小车领取零件运送至各工作站的运行轨迹。

       4.运行AGV小车至电子标签货架,并进行零件出库作业。

       5.用AGV小车将零件运送至各工作站。

       6.制定生产计划,启动流水线,进行减速器装配作业。

       7.对减速器成品进行移库作业。

       8.将减速器成品出库。