MATLAB径向基神经网络函数

MATLAB径向基神经网络函数
MATLAB径向基神经网络函数

众所周知,BP网络用于函数逼近时,权值的调节采用的是负梯度下降法。这个调节权值的方法有局限性,即收敛慢和局部极小等。径向基函数网络(RBF)在逼近能力、分类能力和学习速度等方面均优于BP 网络。

Matlab中提供了四个径向基函数相关的函数,它们都是创建两层的神经网络,第一层都是径向基层,第二层是线性层或者竞争层。主要的区别是它们权值、阀值就算函数不同或者是否有阀值。

注意:径向基函数网络不需要训练,在创建的时候就自动训练好了。

https://www.360docs.net/doc/eb12039458.html, = newrbe(P,T,spread)

newrbe()函数可以快速设计一个径向基函数网络,且是的设计误差为0。第一层(径向基层)神经元数目等于输入向量的个数,加权输入函数为dist,网络输入函数为netprod;第二层(线性层)神经元数模有输出向量T确定,加权输入函数为dotprod,网络输入函数为netsum。两层都有阀值。

第一层的权值初值为p',阀值初值为0.8326/spread,目的是使加权输入为±spread时径向基层输出为0.5,阀值的设置决定了每一个径向基神经元对输入向量产生响应的区域。

2.[net,tr] = newrb(P,T,goal,spread,MN,DF)

该函数和newrbe一样,只是可以自动增加网络的隐层神经元数模直到均方差满足精度或者神经元数模达到最大为止。

P=-1:0.1:1;

T=sin(P);

spread=1;

mse=0.02;

net=newrb(P,T,mse,spread);

t=sim(net,P);

plot(P,T,'r*',P,t)

https://www.360docs.net/doc/eb12039458.html, = newgrnn(P,T,spread)泛回归网络(generalized regression neural network)

广义回归网络主要用于函数逼近。它的结构完全与newbre的相同,但是有以下几点区别(没有说明的表示相同):

(1)第二网络的权值初值为T

(2)第二层没有阀值

(3)第二层的权值输入函数为normpod,网络输入函数为netsum

>> P=0:1:20;

>> T=exp(P).*sin(P);

>> net=newgrnn(P,T,0.7);

>> p=0:0.1:20;

>> t=sim(net,p);

>> plot(P,T,'*r',p,t)

https://www.360docs.net/doc/eb12039458.html, = newpnn(P,T,spread)概率神经网络(probabilistic neural network)

该网络与前面三个最大的区别在于,第二层不再是线性层而是竞争层,并且竞争层没有阀值,其它同newbre,故PNN网络主要用于解决分类问题。PNN是按下面的方式进行分类的:

为网络提供一输入向量后,首先,径向基层计算该输入向量同样本输入向量之间的距离||dist||,该层的输出为一个距离向量;竞争层接受距离向量为输入,计算每个模式出现的概率,通过竞争传递函数为概率最大的元素对应输出1,否则为0。

注意:由于第二层是竞争层,故输入/输出向量必须使用

ind2vec/vec2ind函数进行转换,也就是将索引转换为向量或者向量转换为索引。

>>P=[1 2; 2 2;1 1]'

P =

1 2 1

2 2 1

>>Tc=[1 2 3];

>>T=ind2vec(Tc)

T =

(1,1) 1

(2,2) 1

(3,3) 1

>>spread=1;

>>net=newpnn(P,T,spread);

>>t=sim(net,P)

t =

(1,1) 1

(2,2) 1

(3,3) 1

>>tc=vec2ind(t)

tc =

1 2 3

%从这里可以看出gnn对P准确分类了

基于MATLAB的径向基网络源程序

%一维输入,一维输出,逼近效果很好! 1.基于聚类的RBF 网设计算法 SamNum = 100; % 总样本数 TestSamNum = 101; % 测试样本数 InDim = 1; % 样本输入维数 ClusterNum = 10; % 隐节点数,即聚类样本数 Overlap = 1.0; % 隐节点重叠系数 % 根据目标函数获得样本输入输出 rand('state',sum(100*clock)) NoiseVar = 0.1; Noise = NoiseVar*randn(1,SamNum); SamIn = 8*rand(1,SamNum)-4; SamOutNoNoise = 1.1*(1-SamIn+2*SamIn.^2).*exp(-SamIn.^2/2); SamOut = SamOutNoNoise + Noise; TestSamIn = -4:0.08:4; TestSamOut = 1.1*(1-TestSamIn+2*TestSamIn.^2).*exp(-TestSamIn.^2/2); figure hold on grid plot(SamIn,SamOut,'k+') plot(TestSamIn,TestSamOut,'k--') xlabel('Input x'); ylabel('Output y'); Centers = SamIn(:,1:ClusterNum); NumberInClusters = zeros(ClusterNum,1); % 各类中的样本数,初始化为零IndexInClusters = zeros(ClusterNum,SamNum); % 各类所含样本的索引号while 1, NumberInClusters = zeros(ClusterNum,1); % 各类中的样本数,初始化为零IndexInClusters = zeros(ClusterNum,SamNum); % 各类所含样本的索引号 % 按最小距离原则对所有样本进行分类 for i = 1:SamNum AllDistance = dist(Centers',SamIn(:,i)); [MinDist,Pos] = min(AllDistance); NumberInClusters(Pos) = NumberInClusters(Pos) + 1; IndexInClusters(Pos,NumberInClusters(Pos)) = i; end % 保存旧的聚类中心

径向基RBF神经网络模型

2.径向基RBF 神经网络预测模型 RBF 网络是一种新颖的有效的前向型神经网络,由于该网络输出层对中间层的线性加权,使得该网络避免了像BP 网络那样繁琐冗长的计算,具有较高的运算速度和外推能力,同时使得网络有较强的非线性映射功能,RBF 网络是通过非线性基函数的线性组合实现从输入空间N R 到输出空间M R 的非线性转换。而本题数据是一类非线性较强的时间序列,对其进行预测,即从前N 个数据中预测将来M 个数据,实质上就是找出从N R 到M R 的非线性映射关系。因此,可以说径向基网络特别适合于非线性时间序列的预测。 2.1 RBF 网络结构及算法 1、网络的神经元结构 2、激活函数采用径向基函数 (1)以输入和权值向量之间的距离作为自变量 RBF 网络的输出是隐单元输出的线性加权和,学习速度加快;径向基神经网络使用径向基函数(一般使用高斯函数)作为激活函数,神经元输入空间区域很小,因此需要更多的径向基神经元 。 自组织选取中心学习方法有: 第一步,自组织学习阶段无导师学习过程,求解隐含层基函数的中 · · · x 1 x m x 2 2 -dist R (dist )=e

心与方差; 第二步,有导师学习阶段求解隐含层到输出层之间的权值。 高斯函数作为径向基函数 网络的输出 设d 是样本的期望输出值,那么基函数的方差可表示为 : 2.求解方差 RBF 神经网络的基函数为高斯函数时,方差可由下式求解: 式中 为中所选取中心之间的最大距离。 3.计算隐含层和输出层之间的权值 隐含层至输出层之间神经元的连接权值可以用最小二乘法直接计算得到,计算公式如下: 2 2 1R()=exp(-) 2p i p i c c σ--x x h 2 2 i=11y =exp(-) =1,2,,2j ij p i w c j n σ-∑L x 2 1m j j i j d y c P σ=- ∑1,2,i i h σ= =L max c 2 2max exp( ) 1,2,,;1,2,,p i h w x c p P i h c =-==L L

基于径向基函数神经网络的函数逼近

基于径向基函数神经网络的函数逼近 刘君尧1,邱 岚2 (1.深圳信息职业技术学院,广东深圳 518029;2.中国移动广西公司,广西南宁 530022) 【摘 要】在介绍了径向基函数神经网络原理的基础上,应用该网络进行函数逼近的实现,并探讨散步常数的选取对逼近效果的影响。 【关键词】径向基函数;神经网络;散布常数;函数逼近 【中图分类号】TP183 【文献标识码】A 【文章编号】1008-1151(2009)09-0039-01 (一)引言 径向基函数(Radial Basis Function)神经网络是由 J.Moody和C.Darken于20世纪 80年代末提出的一种神经网 络,径向基函数方法在某种程度上利用了多维空间中传统的 严格插值法的研究成果。在神经网络的背景下,隐藏单元提 供一个“函数”集,该函数集在输入模式向量扩展至隐层空 间时为其构建一个任意的“基”,这个函数集中的函数就被称 为径向基函数。目前,径向基函数多用于函数逼近和分类问 题的研究。 (二)RBF神经网络模型 最基本的径向基函数神经网络包含三层,由一些感知单 元组成的输入层、包含一个具有径向基函数神经元的隐层和 一个具有线性神经原的输出层。 1.RBF径向基神经元模型 径向基函数神经元的传递函数有多种形式,最常用的形 式是高斯函数(radbas)。采用高斯基函数,具备如下优点: ①表示形式简单,即使对于多变量输入也不增加太多的复杂 性;②径向对称;③光滑性好,任意阶导数存在;④由于该 基函数表示简单且解析性好,因而便于进行理论分析。 输入向量p 图1径向基传递函数 径向基网络的神经元模型结构如图2所示。由该图可见, radbas的输入为输入矢量p和权值向量W之间的距离乘以阈 值b。 图2 径向基函数神经元模型 2.RBF神经网络的结构 径向基函数网络包括输入层、隐层和输出层,如图3所 示。输入信号传递到隐层,隐层有S1个神经元,节点函数为 高斯函数;输出层有S2个神经元,节点函数一般采用简单的 线性函数。 图3 径向基函数网络基本结构图 (三)RBF神经网络应用于函数逼近 RBF神经网络在进行函数逼近的实现时,往往在网络设计 之初并不指定隐层神经元的个数,而是在每一次针对样本集 的训练中产生一个径向基神经元,并尽可能最大程度地降低 误差,如果未达到精度要求,则继续增加神经元,直到满足 精度要求或者达到最大神经元数目。这样避免了设计之初存 在隐层神经元过少或者过多的问题。训练过程中,散布常数 的选取非常重要。 1.函数逼近的RBF神经网络 已知输入向量P和输出向量T,通过构建径向基函数神经 网络来进行曲线拟合,从而找到一个函数能够满足这21个数 据点的输入/输出关系,绘制训练样本如图所示。 输入向量P:-1:0.1:1; 输出向量T:0.9500 0.5700 0.0300 -0.2800 -0.5800 -0.6200 -0.4800 -0.1400 0.2100 0.4700 0.5000 0.3800 0.1700 -0.1200 -0.3200 -0.4200 0.3500 -0.1300 0.2120 0.4200 0.5100; 应用MATLAB神经网络工具箱中的newrb()函数快速构建 一个径向基函数网络,并且网络根据输入向量和期望值自动 进行调整,从而实现函数逼近,预先设定均方差精度为0.0001, 散布常数为1。实验结果如图4所示。可见,应用径向基函数 进行函数逼近非常有效。 图4网络输出与目标值比较(下转第19页)【收稿日期】2009-06-02 【作者简介】刘君尧(1979-),女,湖南汨罗人,深圳信息职业技术学院讲师,硕士研究生,研究方向为神经网络。

径向基函数神经网络.docx

径向基函数神经网络模型与学习算法 1985年,Powell提出了多变量插值的径向基丙数(Radical Basis Function, RBF)方法。1988 年,Moody 和Darken 提出了一种神经网络结构,即RBF 神经网络,属于前向神经网络类型,它能够以任意精度逼近任意连续函数,特别适合于解决分类问题。 RBF网络的结构与多层前向网络类似,它是一种三层前向网络。输入层由信号源结点组成;第二层为隐含层,隐单元数视所描述问题的需要而定,隐单元的变换函数RBFO是对中心点径向对称且衰减的非负非线性函数;第三层为输出层,它对输入模式的作用作出响应。从输入空间到隐含层空间的变换是非线性的,而从隐含层空间的输出层空间变换是线性的。 RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接(即不需要通过权接)映射到隐空间。当RBF的屮心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和。此处的权即为网络可调参数。由此可见,从总体上看,网络市输入到输出的映射是非线性的,而网络输出对叮调参数而言却又是线性的。这样网络的权就可由线性方程直接解岀,从而大大加快学习速度并避免局部极小问题。 1.1RBF神经网络模型 径向基神经网络的神经元结构如图1所示。径向基神经网络的激活函数采用径向基函数,通常定义为空间任一点到某一中心之间欧氏距离的单调函数。由图1所示的径向基神经元结构可以看出,径向基神经网络的激活函数是以输入向量和权值向量之间的距离||dist||作为自变量的。径向基神经网络的

激活函数的一般表达式为 /?(||dist||)= e~yist^(1) 图1径向基神经元模型 随着权值和输入向量之间距离的减少,网络输出是递增的,当输入向量和权值向量一致时,神经元输出1。在图1中的b为阈值,用于调整神经元的灵敏度。利用径向基神经元和线性神经元可以建立广义回归神经网络,该种神经网络适用于函数逼近方面的应用;径向基神经元和竞争神经元可以组建概率神经网络,此种神经网络适用于解决分类问题。 由输入层、隐含层和输岀层构成的一般径向基神经网络结构如图2所示。在RBF网络中,输入层仅仅起到传输信号的作用,与前面所讲述的神经网络相比较,输入层和隐含层之间可以看做连接权值为1 的连接。输出层和隐含层所完成的任务是不同的,因而它们的学习策略也不相同。输岀层是对线性权进行调整,采用的是线性优化策略。因而学习速度较快。而隐含层是对激活函数(格林函数或高斯函数,一般取高斯)的参数进行调整,采用的是非线性优化策略,因而学习速度较慢。

BP算法及径向基函数网络

BP 算法及径向基函数网络 B0503194班 高翔 1050319110 杨柳青 1050319113 题目1: 2.5 利用BP 算法及Sigmoid 算法,研究以下各函数的逼近问题: (1) 1 () , 1x 100f x x = ≤≤ (2) 10()log x , 1x 10f x =≤≤ (3) ()exp() , 1x 10f x x =-≤≤ (4) ()sin , 1x 2 f x x π =≤≤ 解:该题可以采用BP 神经网络或者是径向基函数网络来解决,首先给出我们利用BP 网络的解决方法,关于如何利用径向基函数网络来解决问题,放在2.6 题中的通过径向基函数网络解决XOR 问题一起讨论。 一、 概述 人工神经网络作为一门20世纪中叶起步的新技术,随着其理论的逐步完善,其应用日益广泛,应用领域也在不断拓展,已经在各个工程领域里得到了广泛的应用。通常神经网络技术主要应用在以下方面。 模式信息处理和模式识别。 最优化问题计算。 信息的智能化处理。 复杂控制。 信号处理。 在1959年,当时的两位美国工程师B.Widrow 和M.Hoff 提出了自适应线形元件。在 1969年,人工智能的创始人之一M.Minsky 和S.Papert 指出单层感知器只能够进行线形分类,对线形不可分的输入模式,哪怕是简单的异或逻辑运算,单层感知器也无能为力,而解决其的唯一方法就是设计训练出具有隐含层的多层神经网络。这一难题在1986年得到了解决。 1986年,D.E. Rumelhart 等人提出解决多层神经网络权值修正的算法——误差反向传播法(Error Back-Propagation )。这种算法也通常被应用在BP (Back-Propagation Network )中。 在目前,在人工神经网络的实际应用中,绝大部分的神经网络模型(80%--90%)是采

MATLAB径向基神经网络函数

众所周知,BP网络用于函数逼近时,权值的调节采用的是负梯度下降法。这个调节权值的方法有局限性,即收敛慢和局部极小等。径向基函数网络(RBF)在逼近能力、分类能力和学习速度等方面均优于BP 网络。 Matlab中提供了四个径向基函数相关的函数,它们都是创建两层的神经网络,第一层都是径向基层,第二层是线性层或者竞争层。主要的区别是它们权值、阀值就算函数不同或者是否有阀值。 注意:径向基函数网络不需要训练,在创建的时候就自动训练好了。 https://www.360docs.net/doc/eb12039458.html, = newrbe(P,T,spread) newrbe()函数可以快速设计一个径向基函数网络,且是的设计误差为0。第一层(径向基层)神经元数目等于输入向量的个数,加权输入函数为dist,网络输入函数为netprod;第二层(线性层)神经元数模有输出向量T确定,加权输入函数为dotprod,网络输入函数为netsum。两层都有阀值。 第一层的权值初值为p',阀值初值为0.8326/spread,目的是使加权输入为±spread时径向基层输出为0.5,阀值的设置决定了每一个径向基神经元对输入向量产生响应的区域。 2.[net,tr] = newrb(P,T,goal,spread,MN,DF) 该函数和newrbe一样,只是可以自动增加网络的隐层神经元数模直到均方差满足精度或者神经元数模达到最大为止。 P=-1:0.1:1; T=sin(P);

spread=1; mse=0.02; net=newrb(P,T,mse,spread); t=sim(net,P); plot(P,T,'r*',P,t) https://www.360docs.net/doc/eb12039458.html, = newgrnn(P,T,spread)泛回归网络(generalized regression neural network) 广义回归网络主要用于函数逼近。它的结构完全与newbre的相同,但是有以下几点区别(没有说明的表示相同): (1)第二网络的权值初值为T (2)第二层没有阀值 (3)第二层的权值输入函数为normpod,网络输入函数为netsum >> P=0:1:20; >> T=exp(P).*sin(P); >> net=newgrnn(P,T,0.7); >> p=0:0.1:20; >> t=sim(net,p); >> plot(P,T,'*r',p,t) https://www.360docs.net/doc/eb12039458.html, = newpnn(P,T,spread)概率神经网络(probabilistic neural network) 该网络与前面三个最大的区别在于,第二层不再是线性层而是竞争层,并且竞争层没有阀值,其它同newbre,故PNN网络主要用于解决分类问题。PNN是按下面的方式进行分类的:

径向基神经网络RBF介绍

径向基神经网络RBF介绍 RBF网络原理 RBF网络,即径向基神经网络,也是前馈型网络的一种。它的设计思想和BP网络完全不 一样。 Cover定理:将复杂的模式分类问题非线性的投射到高维空间将比投射到低维空间更可能 是线性可分的。也就是说这个问题在低维空间不一定是线性可分的,但如果把它映射到高 纬度的空间去,在那里就可能是线性可分的。这就是RBF网络的原理。 RBF将问题转换为线性可分之后便没有了BP网络的局部极小值问题。但是RBF需要比 BP网络更多的隐含层神经元。 RBF网络是一个三层的网络,出了输入输出层之外仅有一个隐层。隐层中的转换函数是局 部响应的高斯函数,而其他前向型网络,转换函数一般都是全局响应函数。由于这样的不同,要实现同样的功能,RBF需要更多的神经元,这就是rbf网络不能取代标准前向型网 络的原因。但是RBF的训练时间更短。它对函数的逼近是最优的,可以以任意精度逼近任 意连续函数。隐层中的神经元越多,逼近越精确 RBF网络学习过程 在RBF网络之前训练,需要给出输入向量X和目标向量T,训练的目的是要求得第一层和 第二层之间的权值W1、阀值B1,和第二层与第三层之间的权值W2、阀值B2。 整个网络的训练分为两步,第一部是无监督的学习,求W1、B1。第二步是有监督的学习 求W2、B2。 隐藏层神经元个数 网络会从0个神经元开始训练,通过检查输出误差使网络自动增加神经元。每次循环使用,重复过程直到误差达到要求。因此RBF网络具有结构自适应确定,输出与初始权值无关的 特征。(BP网络就不这样) 广义回归神经网络GRNN 径向基神经元和线性神经元可以建立广义回归神经网络,它是径RBF网络的一种变化形式,经常用于函数逼近。在某些方面比RBF网络更具优势。 概率神经网络PNN 径向基神经元和竞争神经元还可以组成概率神经网络。PNN也是RBF的一种变化形式,结构简单训练快捷,特别适合于模式分类问题的解决。

相关文档
最新文档