当前位置:文档之家› 6.第7章 径向基函数网络

6.第7章 径向基函数网络


6.径向基神经网络相关函数详解
ind2vec/vec2ind——向量-下标转换函数在newpnn函数的第二个参数需要 用到这两个函数
>> ind=[1 3 2 3] >> vec=ind2vec(ind)
>> n = netsum({a,b,d})——设计概率神经网络 net=newpnn(P,T,spread) P:R*Q矩阵,包含Q个长度为R的输入向量 T:S*Q矩阵,包含Q个目标向量。 spread:标量,表示概率神经网络的扩散速度,默认值为0.1 newpnn创建一个两层的神经网络(不计输入层和输出层) 第一层的神经元是径向基神经元,用dist函数计算加权输入,用 netprod计算网络输入。 第二层的神经元是竞争神经元,用dotprod函数计算加权输入,用 netsum函数计算网络输入。只有第一层包含阈值。
>>figure; >> plot(n,a); >> hold on; >> plot(n,b,'--'); >> c = diff(a); >> hold off; >>figure; >> plot(c);
% 除以2,曲线更加“矮胖”
% 虚线 % 计算a的微分
6.径向基神经网络相关函数详解
dist——欧几里德距离权函数 Z=dist(W,P) W中每行为一个输入向量,P中每列为一个输入向量 计算3个行向量与4个列向量间的两两距离
...
2.径向基神经网络的学习算法
ykj 0 j ij ( X k , X i ), j 1, 2,
i 1 I
,J
确定隐含层结点中心 隐含层中基函数的标准差 网络权值(隐含层到输出层) 随机选取固定中心、自组织选取中心、有监督选取中心、正交最小二乘法

d max 2n
plot(P,T,'o')
% net=newrb(P,T); net=newrb(P,T,0,0.6); test=1:.2:10; out=sim(net,test); % 对新的输入值test计算相对应的函数值
figure(1);hold on;plot(test,out,'b-'); legend('输入的数据','拟合的函数');
解决的方案是用Galerkin方法来减少隐含层神经单元的个 数,此时求得的解是较低维数空间上的次优解 。这就是广义 网络 Ф =1 Ф
0 0
x1 Ф1 x2
w0J w1J wi1 wiJ
w01 w11 wI1 y1
...
...
x3
Фi
yJ wIJ
ФI xM
在实际应用中,一般都采用广义径向基函数网络。
第7章 径向基函数网络
编 者
Outline
1.径向基神经网络的两种结构 2.径向基神经网络的学习算法 3.径向基神经网络与多层感知器的比较 4.概率神经网络 5.广义回归神经网络 6.径向基神经网络相关函数详解 7.径向基网络应用实例

1.径向基神经网络的两种结构
Broomhead和Lowe根据生物神经元具有局部响应的原理,将 径向基函数引入到神经网络中。很快,RBF网络被证明对非线性 网络具有一致逼近的性能,在不同行业和领域逐步得到了广泛应 用。 由三层构成的前向网络 。 第一层为输入层,节点个数等于输入的维数; 第二层为隐含层,节点个数视问题的复杂度而定; 第三层为输出层,节点个数等于输出数据的维数。 径向基网络 概率神经网络 广义回归网络模式分类 和函数逼近
贝叶斯:通过先验 概率求后验概率。
p c1 x
p c1 p x c1 p x
4.概率神经网络
x1 Ф1 x2 x3
...
概率神经网络由输入层、隐含层、 求和层和输出层组成
y
Ф2
Фi ФI
xM
第一层为输入层,用于接收来自训练样本的值,将数据传递给隐含层 径向基层,每一个隐含层的神经元节点拥有一个中心,该层接收输入 层的样本输入,计算输入向量与中心的距离,最后返回一个标量值
广义回归神经网络尤其适合解决曲线拟合的问题
在MATLAB中newgrnn函数可以方便的实现GRNN网络
6.径向基神经网络相关函数详解
newrb——设计一个径向基函数网络.
函数创建一个径向基函数网络,该网络向隐含层添加隐含节点,直到 均方误差满足要求为止
net=newrb(P,T,goal,spread,MN,DF)
T=P.^2+rand(1,length(P));
net=newrbe(P,T,3); test=-2:.1:2; out=sim(net,test); toc figure(1);plot(P,T,'o'); hold on; plot(test,out,'b-');
% 在二次函数中加入噪声
% 建立严格的径向基函数网络
6.径向基神经网络相关函数详解
用PNN网络解决二维向量的简单分类问题
>> rng(2); >> a=rand(8,2)*10; % 输入训练样本,8个二维向量
>> p=ceil(a)
>> tc=[2,1,1,1,2,1,2,1]; >> plot(p([1,5,7],1),p([1,5,7],2),'o'); >> hold on; >> plot(p([2,3,4,6,8],1),p([2,3,4,6,8],2),'+'); >> legend('第一类','第二类'); >> axis([0,8,1,9]) >>hold off >> t=ind2vec(tc); >> net=newpnn(p',t); >> y=sim(net,p'); >> yc=vec2ind(y) % 设计PNN网络 % 仿真 % 实际输出等于期望输出 % 期望输出
6.径向基神经网络相关函数详解
netsum——求和网络输入函数 N=netsum({Z1,Z2,...,Zn} ) 将Z1、Z2。。。对应位置元素相加 a、b、c均为2*3矩阵 >> rand('state',pi); >> a=rand(2,3) >> b=rand(2,3) >> c=[0; -1]; >> d=concur(c,3)
隐含层是非线性的,采用径向基函数作为基函数,从而将 输入向量空间转换到隐含层空间,使原来线性不可分的问题 变得线性可分,输出层则是线性的。
1.径向基神经网络的两种结构
径向基函数:有多种形式,其中 最为常用的,是高斯函数
( X -X i )
x1 Ф1 x2 w1J wi1 wiJ wNJ w11 wN1 y1
dmax
所选取的中心之间的最大距离 n为隐含节点的个数
网络权值可以采用伪逆法
ω = G+d
G为隐含层输出,d为输出层的期望输出
3.径向基神经网络与多层感知器的比较
径向基神经网络是三层网络(输入层、隐含层、输出层),只有一个隐 含层,而多层感知器则可以有多个隐含层 径向基神经网络的隐含层和输出层完全不同,隐含层采用非线性函数 (径向基函数)作为基函数,而输出层采用线性函数,两者作用不同。 径向基神经网络的基函数计算的是输入向量与基函数中心之间的欧式距 离(两者取差值,再取欧几里德范数),而多层感知器的隐单元的激励函 数则计算输入向量与权值的内积 多层感知器对非线性映射全局逼近 ,径向基函数局部逼近
...
...
x3
Фi
yJ
ФN xM
...
输入层
隐含层
输出层(线性)
1.正则化网络是一个通用逼近器,这意味着,只要有足够多的隐 含节点,它就可以以任意精度逼近任意多远连续函数。 2.给定一个未知的非线性函数f,总可以选择一组系数,使得网络 对f的逼近是最优的。
1.径向基神经网络的两种结构
正则化网络的一个特点就是:隐含节点的个数等于输入训 练样本的个数。因此如果训练样本的个数N过大,网络的计算 量将是惊人的,从而导致过低的效率甚至根本不可实现。
>> rand('state',pi); >> w=rand(3,2); % 3个向量 >> p=rand(2,4); >> Z=dotprod(w,p) % 4个向量 % 计算内积
6.径向基神经网络相关函数详解
netprod——乘积网络输入函数 N=netprod({Z1,Z2,...,Zn}) 返回Z1,Z2,。。。对应元素的乘积 求三个2*3矩阵的积 >> rand('state',pi); >> a=rand(2,3) >> b >> c=rand(2,3) >> d=netprod({a,b,c}) >> a.*b.*c % 验算 % 第一个矩阵
Ф0=1 x1 Ф1 x2 Ф0 w0J w1J wi1 wiJ wIJ w01 w11 wI1 y1
...
...
x3
Фi
yJ
ФI xM
...
4.概率神经网络
概率神经网络(Probabilistic Neural Networks,PNN)在模式 分类问题中获得了广泛应用 。
概率神经网络可以视为一种径向基神经网络,在RBF网络的 基础上,融合了密度函数估计和贝叶斯决策理论。在某些易满足的 条件下,以PNN实现的判别边界渐进地逼近贝叶斯最佳判定面。
相关主题