每日签到积分充值书码绑定

MATLAB技术论坛

 找回密码
 注册帐号

QQ登录

只需一步,快速开始

查看: 6848|回复: 29

[教程] 【原创】径向基(RBF)函数神经网络使用解说     [复制链接]

管理员

风雪夜归人

Rank: 30Rank: 30Rank: 30Rank: 30

签到天数: 12 天

[LV.3]偶尔看看II

UID
1
主题
1390
帖子
5053
积分
70501
威望
778
贝壳
53863
贡献
4889

管理团队 技术小组 原创先锋 宣传大使

发表于 2009-5-15 10:30:24 |显示全部楼层 | 百度  谷歌 |
众所周知,BP网络用于函数逼近时,权值的调节采用的是负梯度下降法。这个调节权值的方法有局限性,即收敛慢和局部极小等。径向基函数网络(RBF)在逼近能力、分类能力和学习速度等方面均优于BP网络。

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

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

1.net = 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一样,只是可以自动增加网络的隐层神经元数模直到均方差满足精度或者神经元数模达到最大为止。
  1. P=-1:0.1:1;
  2. T=sin(P);
  3. spread=1;
  4. mse=0.02;
  5. net=newrb(P,T,mse,spread);
  6. t=sim(net,P);
  7. plot(P,T,'r*',P,t)
复制代码
untitled.jpg


3.net = newgrnn(P,T,spread)泛回归网络(generalized regression neural network)

广义回归网络主要用于函数逼近。它的结构完全与newbre的相同,但是有以下几点区别(没有说明的表示相同):
(1)第二网络的权值初值为T
(2)第二层没有阀值
(3)第二层的权值输入函数为normpod,网络输入函数为netsum
  1. >> P=0:1:20;
  2. >> T=exp(P).*sin(P);
  3. >> net=newgrnn(P,T,0.7);
  4. >> p=0:0.1:20;
  5. >> t=sim(net,p);
  6. >> plot(P,T,'*r',p,t)
复制代码
untitled2.jpg

4.net = newpnn(P,T,spread)概率神经网络(probabilistic neural network)

该网络与前面三个最大的区别在于,第二层不再是线性层而是竞争层,并且竞争层没有阀值,其它同newbre,故PNN网络主要用于解决分类问题。PNN是按下面的方式进行分类的:
为网络提供一输入向量后,首先,径向基层计算该输入向量同样本输入向量之间的距离||dist||,该层的输出为一个距离向量;竞争层接受距离向量为输入,计算每个模式出现的概率,通过竞争传递函数为概率最大的元素对应输出1,否则为0。

注意:由于第二层是竞争层,故输入/输出向量必须使用ind2vec/vec2ind函数进行转换,也就是将索引转换为向量或者向量转换为索引。
  1. >>P=[1 2; 2 2;1 1]'

  2. P =
  3.      1     2     1
  4.      2     2     1

  5. >>Tc=[1 2 3];
  6. >>T=ind2vec(Tc)

  7. T =
  8.    (1,1)        1
  9.    (2,2)        1
  10.    (3,3)        1

  11. >>spread=1;
  12. >>net=newpnn(P,T,spread);
  13. >>t=sim(net,P)


  14. t =
  15.    (1,1)        1
  16.    (2,2)        1
  17.    (3,3)        1

  18. >>tc=vec2ind(t)

  19. tc =
  20.      1     2     3
  21. %从这里可以看出gnn对P准确分类了
复制代码

Rank: 1

该用户从未签到

UID
14242
主题
0
帖子
10
积分
16
威望
0
贝壳
0
贡献
0
发表于 2009-10-14 23:27:52 |显示全部楼层
楼主 好人呢 太谢谢了

道具 举报

Rank: 1

该用户从未签到

UID
25129
主题
1
帖子
5
积分
14
威望
0
贝壳
0
贡献
1
发表于 2009-11-9 13:22:34 |显示全部楼层
MATLAB技术论坛"有偿编程担保制度" "技术团队资格认证""官方有偿编程团队",保证您有偿编程安全。
好东西~~谢谢楼主分享~~

道具 举报

Rank: 3

签到天数: 76 天

[LV.6]常住居民II

UID
28111
主题
5
帖子
160
积分
525
威望
0
贝壳
185
贡献
342
发表于 2009-12-4 17:53:57 |显示全部楼层

道具 举报

Rank: 1

该用户从未签到

UID
25112
主题
0
帖子
4
积分
14
威望
0
贝壳
9
贡献
0
发表于 2009-12-5 03:35:51 |显示全部楼层

道具 举报

幼儿园

好学者

Rank: 1

该用户从未签到

UID
31549
主题
1
帖子
6
积分
32
威望
0
贝壳
16
贡献
7
发表于 2010-1-6 22:18:19 |显示全部楼层

道具 举报

Rank: 1

该用户从未签到

UID
873
主题
5
帖子
31
积分
82
威望
0
贝壳
38
贡献
31
发表于 2010-1-20 10:18:52 |显示全部楼层
MATLAB技术论坛"有偿编程担保制度" "技术团队资格认证""官方有偿编程团队",保证您有偿编程安全。
挺好的材料,谢谢楼主!

道具 举报

幼儿园

将军

Rank: 1

该用户从未签到

UID
30866
主题
0
帖子
4
积分
29
威望
0
贝壳
13
贡献
9
发表于 2010-2-21 21:52:58 |显示全部楼层

道具 举报

Rank: 1

该用户从未签到

UID
40606
主题
0
帖子
4
积分
11
威望
0
贝壳
0
贡献
4
发表于 2010-4-19 09:56:56 |显示全部楼层
MATLAB技术论坛"有偿编程担保制度" "技术团队资格认证""官方有偿编程团队",保证您有偿编程安全。
受益匪浅啊,谢谢楼主

道具 举报

Rank: 1

该用户从未签到

UID
26227
主题
0
帖子
14
积分
52
威望
0
贝壳
34
贡献
16
发表于 2010-4-23 22:51:03 |显示全部楼层
好东西,正需要,谢谢分享。。。。。。。。。。。。。。。。。

道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

关闭

站长推荐

MATLAB技术论坛数据挖掘公开课开课啦!
MATLAB技术论坛数据挖掘公开课开课啦!
MATLAB技术论坛将为大家奉献N期MATLAB数据挖掘公开课。公开课的安排为综合篇+专题篇,现在第一期数据挖掘概论已经出来了,更多视频敬请关注。。。

查看 »

网站简介 | 发展历程 | 特色业务 | 管理团队 | 免责声明 | 广告服务 | 联系我们 | 付款方式 | 友情链接 | 帮助中心

商务合作:455681698   服务邮箱:matlabsky@gmail.com   支付宝:yuthreestone@163.com

合作站点:数模联盟 函数百科 网上商城   出版单位:北航出版社 道然科技   开发平台:Discuz! X2

CopyRight © 2008-2012 迈粉网 ( 陕ICP备08102094号 ) All Rights Reserved

排行热榜|网站地图|手机浏览|管理邮箱||     

GMT+8, 2012-5-19 05:35 , Processed in 0.457040 second(s), 29 queries , Gzip On, Xcache On.

回顶部