【教程】几种不同的RBF神经网络

本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com

目录

  • 一、经典RBF神经网络
    • 1.1.经典径向基神经网络是什么
    • 1.2.经典径向基神经网络-代码与示例
  • 二、广义回归神经网络GRNN
    • 2.1.广义回归神经网络是什么
    • 2.2.广义回归神经网络是什么-代码与示例
  • 三、概率神经网络PNN
    • 3.1.概率神经网络是什么
    • 3.2.概率神经网络是什么-代码与示例

RBF神经网络指的是用RBF曲线来构成的神经网络模型,
RBF曲线
常见的RBF神经网络包括径向基神经网络、概率神经网络、广义回归神经网络等等。
下面我们介绍这几种常见的RBF神经网络。

一、经典RBF神经网络

1.1.经典径向基神经网络是什么

经典径向基神经网络的思想很纯粹,如下
经典径向基神经网络
可以看到,经典径向基神经网络在各个数据点都生成一个径向基。每个径向基的宽度是预设的,然后再求解每个径向基的高度,使得最后所有径向基叠加后能拟合目标曲线。可知,经典径向基神经网络是纯粹的曲线拟合,就是仅从数学角度去使用径向基函数来拟合目标曲线。

1.2.经典径向基神经网络-代码与示例

在matlab中使用newrbe来实现一个径向基神经网络,具体示例如下:

%------代码说明:用newrbe构建一个径向基神经网络 -----------------
% 来自《老饼讲解神经网络》www.bbbdata.com ,matlab版本:2018a   
%-------------------------------------------------------------------%
%----数据准备----                              
x  = [-2,-1,0,1,2;-6,-2,0,3,8];                % 输入数据
y  = [3,2,3,1,2];                              % 输出数据
%----网络训练----                              
net = newrbe(x, y, 0.5);                       % 以X,Y建立径向基网络,目标误差为0.01,径向基的宽度参数spread=0.5
py = sim(net,x)                                % 用建好的网络进行预测,这里的x是要用来进行预测的输入

% ----打印结果----------
err_rate = mean(abs(py-y)./abs(y))             % 计算相对误差占比
plot(1:length(y),y,'*',1:length(y),py,'o')     % 绘制结果,x轴代表样本
legend('原始数据的y','网络预测的y')            % 添加图例

运行结果如下:
在这里插入图片描述
可以看到,网络的预测值与真实值完全一致,
这并非偶然,因为本例用于预测的数据就是训练数据,而newrbe在训练数据上是0误差的

二、广义回归神经网络GRNN

2.1.广义回归神经网络是什么

广义回归神经网络General Regression Neural Network也是径向基神经网络的一种,广义回归使用所有历史样本点来综合评估当前样本点。类似于投票的思想,即所有历史样本点都给出当前样本点与自己相似的概率,然后得到最终的综合评估,如下:
y = ∑ i y i ∗ p i y =\sum\limits_{i}y_i*p_i y=iyipi
其中,Pi的计算为:
p ^ i = exp ⁡ ( − a 2 ( x − x i ) 2 ) p i = p j / ∑ j P j \hat{p}_i = \exp(-a^2(x-x_i)^2) \\p_i =p_j/ \sum\limits_{j}P_j p^i=exp(a2(xxi)2)pi=pj/jPj

pi的意义如下图所示:
在这里插入图片描述

它假设x与任何一个已有样本中 xi 相同的概率都服从正态分布,然后再进行归一化就得到pi的计算公式。
相比经典RBF,广义回归更具解释性。

2.2.广义回归神经网络是什么-代码与示例

在matlab中使用newgrnn来实现一个广义回归神经网络,具体示例如下:

%代码说明:径向基newgrnn的matlab工具箱使用Demo
%来自《老饼讲解神经网络》www.bbbdata.com ,matlab版本:2014b
%-----------------------------------------------------
%----数据准备----
x1  = 1:0.2:10;
x2  = -5:0.2:4;
X   = [x1;x2];                % 输入数据,注意中间是分号
Y   = sin (X(1,:))+X(2,:);    % 输出数据

%----网络训练----
net = newgrnn(X,Y);           % 网络建立与训练
simY = sim(net, X);           % 用建好的网络拟合原始数据

%----结果对比----
figure(1);
t = 1:size(Y,2);
plot(t,Y,'*',t,simY,'r')  

三、概率神经网络PNN

3.1.概率神经网络是什么

概率神经网络ProbabilisticNeuralNetwork是广义回归神经网络的拓展,广义回归神经网络用于数值预测,而概率神经网络则用于类别预测。
概率神经网络

概率神经网络用于类别预测,有多少个类别就有多少个输出,概率神经网络仅仅是将广义回归神经网络再加上一个compet运算,即哪个输出最大就置1,其余置0。

3.2.概率神经网络是什么-代码与示例

在matlab中使用newgrnn来实现一个广义回归神经网络,具体示例如下:

% 训练数据
P = [1 2 3 4 5 6 7];   % 输入数据
Tc = [1 2 3 2 2 3 1];  % 输出数据:类别编号
T = ind2vec(Tc);       % 将类标转换为onehot编码格式

%设计一个PNN神经网络,并测试
net = newpnn(P,T);     % 生成一个概率神经网络
Y = sim(net,P)         % 用网络进行预测
Yc = vec2ind(Y)        % 将预测结果转为类别编号 

运行结果如下:
在这里插入图片描述
以上就是三种常见的RBF神经网络的介绍了


相关链接:

《老饼讲解-机器学习》:老饼讲解-机器学习教程-通俗易懂
《老饼讲解-神经网络》:老饼讲解-matlab神经网络-通俗易懂
《老饼讲解-神经网络》:老饼讲解-深度学习-通俗易懂

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/754451.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis 5 种基础数据结构?

Redis 5 种基本数据结构(String、List、Hash、Set、Sorted Set)在面试中经常会被问到,这篇文章我们一起来回顾温习一下。 还有几种比较特殊的数据结构(HyperLogLogs、Bitmap 、Geospatial、Stream)也非常重要,我们后面下次再聊! 下面是正文。…

双减期末考试成绩怎么公布?

考试一直是衡量学生学习成果的重要手段。不过,随着"双减"政策的实施,我们就不得不重新审视传统的成绩公布方式。期末考试成绩,这个曾经让无数学生心跳加速的数字,如今该如何以一种更加合理、公正的方式呈现给学生和家长…

广和通 OpenCPU 二次开发(一) —— 串口

广和通 OpenCPU 二次开发(一) —— 串口 1.port,端口号2.引脚序列号对应芯片引脚图找,也可以对照GPIO功能复用表找3.要复用的pin脚对应的功能mode根据GPIO功能复用表选择 一、核心配置## 标题代码 int port 1; fibo_gpio_mode_s…

力扣SQL50 员工的直属部门 子查询 双重

Problem: 1789. 员工的直属部门 👨‍🏫 参考题解 Code select employee_id, department_id from Employee where primary_flag Y # Y 表明是直属部门 or employee_id in (select employee_idfrom Employeegroup by employee_idhaving count(employee…

国外的Claude3.5 Sonnet Artifacts和国内的CodeFlying孰强孰弱?

在Claude 3.5 Sonnet发布后,最受大家关注的问题应该就是它在编写代码能力上的变化。 要知道在Claude3.0发布以来的这几个月就因为它的编写代码能力而一直受到人们的诟病。 那Anthropic这次终于是不负众望,在Claude 3.5 Sonnet中更新了一个叫做Artifact…

ETAS工具导入DEXT生成Dcm及Dem模块(一)

文章目录 前言Cfggen之前的修改ECU关联DcmDslConnectionDiagnostic ProtocolDiagnostic Ecu Instance PropsCommonContributionSetEvent修改communication channel总结前言 诊断模块开发一般是先设计诊断数据库,OEM会释放对应的诊断数据库,如.odx文件或.cdd文件。如果OEM没有…

go~缓存设计配合singleFlight

一个缓存设计,配合go的singleFlight 最开始的设计如下 添加分布式缓存 上线后分布式缓存上涨的流量并不等于下游下降的流量,而是下游下降的流量 * 2~3 究其原因,就是采用了go的singleFlight,假定请求缓存时长10ms&a…

LabVIEW网络开发资源

在LabVIEW开发中,利用网络资源进行学习和查找资料是提高技能和解决问题的重要途径。以下几个国内外优质资源可以帮助开发者获得丰富的技术支持和交流机会: 1. NI Community (NI社区) 简介: National Instruments官方运营的社区,提供丰富的资…

浅谈:冒烟测试

在软件开发的生命周期中,测试阶段是确保产品质量的关键环节。冒烟测试作为软件测试的一种快速而有效的初步验证方法,重要性不言而喻。 冒烟测试源自制造业,尤其是电子行业。当一块电路板被制造出来后,工程师们会首次通电&#xf…

【应用开发二】GPIO操控(输出、输入、中断)

1 操控GPIO方式 控制目录:/sys/class/gpio /sys/class/gpio目录下文件如下图所示: 1.1 gpiochipX目录 功能:当前SoC所包含的所有GPIO控制器 i.mx6ull一共包含5个GPIO控制器,分别为GPIO1~5分别对应gpiochip0、gpiochip32、gpi…

【漏洞复现】用友 GRP-U8 FileUpload 任意文件上传漏洞

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

蒙特卡洛法求定积分方

对于连续函数密度函数,求某一个区间的概率时,理论上通过积分获取, 以求曲线围成的面积为例 当我们在[a,b]之间随机取一点x时,它对应的函数值就是f(x)。接下来我们就可以用f(x)*(b-a)来粗略估计曲线下方的面积,也就是我…

Redis主从复制、哨兵以及Cluster集群

1.Redis高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供…

Linux 异步 I/O 框架 io_uring:基本原理、程序示例与性能压测

Linux 异步 I/O 框架 io_uring 前言Linux I/O 系统调用演进io_uring与 Linux AIO 的不同原理及核心数据结构:SQ/CQ/SQE/CQE带来的好处三种工作模式io_uring 系统调用 API 前言 io_uring 是 2019 年 Linux 5.1 内核首次引入的高性能 异步 I/O 框架,能显著…

003-GeoGebra如何无缝嵌入到PPT里

GeoGebra无缝嵌入到PPT里真是一个头疼的问题,已成功解决,这里记录一下,希望可以帮助到更多人。 注意,后续所有的文章说的PPT都是Offce Power Point, 不要拿着WPS的bug来问我哦,我已经戒WPS了(此处表示无奈&…

typescript学习回顾(四)

今天来分享下ts中的类,关于ts中的类的概念,面向对象的一种思想,以及类里面的一些属性成员,一些基础的用法,后面会有一个小练习。 类 基本概念 我的理解:类是编程语言中面向对象的一种思想,一…

人脑计算机技术与Neuroplatform:未来计算的革命性进展

引言 想象一下,你在某个清晨醒来,准备开始一天的工作,而实际上你的大脑正作为一台生物计算机的核心,处理着大量复杂的信息。这并非科幻电影的情节,而是人脑计算机技术即将带来的现实。本文将深入探讨FinalSpark公司的…

Anisble Playbook

文章目录 一、Playbook简介三种常见的数据格式Playbook特点YAML语言介绍 二、Playbook核心组件host组件remote_user组件task列表和action组件gather_factsHandlers notifyignore_errors 三、playbook命令playbook命令tags 标签 四、Playbook中的变量setup模块中的变量Playbook命…

2024年建筑八大员(资料员)考试题库,省心高效,轻松通过!

1.插入的图片无法显示,或者显示失真,正确做法是()。 A.插人图片是应选中【自动调整图片大小】 B.在下拉【菜单】中选中【按单元格式大小】插入 C.在【格式】下拉中【图片】处打钩 D.在【属性】下拉中选中【工具显示】 答案&a…

Prestashop跨境电商独立站,外贸B2C网站完整教程

Prestashop是一款来自法国专业的开源电商CMS(内容管理系统)平台,和wordpress一样比较轻量,适合中小网站。Prestashop跨境电商独立站在国内并不是很流行,不过国外是非常火的,从各大平台的Prestashop主题数量就可以看得出来。 最有…