首页 > 其他分享 >【教程】一步一步构建一个RBF神经网络-详细解说

【教程】一步一步构建一个RBF神经网络-详细解说

时间:2024-07-05 18:31:19浏览次数:18  
标签:一步 代码 神经网络 matlab 讲解 RBF 老饼

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/

目录

一、 什么是RBF神经网络

1.1. RBF神经网络介绍

RBF神经网络是指使用RBF作为激活函数的三层神经网络,它的拓扑结构如下:
RBF神经网络
其中,每一个隐节点代表一个RBF函数,最终模型的输出就是多个RBF函数之和,如下:
RBF神经网络数学表达式

二、matlab实现RBF神经网络

2.1.matlab实现RBF代码示例

用于建模的输入输出数据如下:
RBF建模数据
在matlab中如下实现一个RBF神经网络

%代码说明:用newrb构建一个径向基神经网络
%来自《老饼讲解神经网络》www.bbbdata.com ,matlab版本:2018a
%-----------------------------------------------------
%----数据准备----
x  = [-2,-1,0,1,2;-6,-2,0,3,8];                % 输入数据
y  = [3,2,3,1,2];                              % 输出数据

%----网络构建与预测----
[net,tr] = newrb(x, y, 0.01, 0.5);             % 以X,Y建立径向基网络
py       = sim(net,x)                          % 用建好的网络拟合原始数据

% ----打印结果----------
err_rate = mean(abs(py-y)./abs(y))              % 计算相对误差占比
hn       = size(net.lw{2,1},2);                 % 计算隐节点个数    
disp(['最终使用的隐节点个数:' ,num2str(hn)])    % 打印隐节点个数
plot(1:length(y),y,'*',1:length(y),py,'o')      % 绘制结果,x轴代表样本
legend('原始数据的y','网络预测的y')             % 添加图例

运行结果如下:
在这里插入图片描述

2.2. 代码解说

(1)第5、6行代码是输入用于建模的数据
第5.6行代码
(2)第9、10行代码是用于构建一个RBF神经网络,并使用构建好的网络进行预测
第9、10行代码
其中,newrb用于构建一个RBF神经网络,完整入参共有6个参数:net = newrb(P,T,goal,spread,MN,DF)
newrb的入参说明
sim则是用构建好的网络进行预测。
(3)第13-17行代码用于打印结果
第13-17行代码
需要看什么结果,自己进行计算就可以,这里仅是作为示例。


相关链接:

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

标签:一步,代码,神经网络,matlab,讲解,RBF,老饼
From: https://blog.csdn.net/dbat2015/article/details/140080854

相关文章

  • 手把手教你一步一步通过AI助手生成利润表分析报告
    AI助手之利润表分析报告-操作篇以下为文字整理部分:如果要手工制作一份这样的利润分析报告大概要多久时间?从准备数据做成表格,到完成报告,至少需要1天的时间吧,特别是敲文字报告的时候,生怕把数字搞错要反复检查,耗时耗力。那么如果我们已经有一张利润表分析报表,是不是可......
  • 手写数字识别-使用TensorFlow构建和训练一个简单的神经网络
    下面是一个具体的Python代码示例,展示如何使用TensorFlow实现一个简单的神经网络来解决手写数字识别问题(使用MNIST数据集)。以下是一个完整的Python代码示例,展示如何使用TensorFlow构建和训练一个简单的神经网络来进行手写数字识别。MNIST数据集的训练集有60000个样本:Python代码i......
  • 脉冲神经网络(Spiking Neural Network,SNN)相关论文最新推荐(一)
    用稀疏代理梯度直接训练时态脉冲神经网络论文链接:www.sciencedirect.comBenchmarkingArtificialNeuralNetworkArchitecturesforHigh-PerformanceSpikingNeuralNetworks论文链接:www.mdpi.comHierarchicalspikingneuralnetworkauditoryfeaturebaseddry-typet......
  • 开启IT世界的第一步:高考新生的暑期学习指南
    目录前言了解IT领域 学习编程语言 实践项目 学习资源 阅读专业书籍 培养良好的学习习惯 结语 最后-投票首先,我开始针对初学者,纯小白同学,开始输出WEB前端纯0基础的知识内容了,如果你需要,请关注这个专栏:WEB前端小白从这里出发_经海路大白狗的博客-CSDN博客......
  • 实现第一个神经网络
    PyTorch包含创建和实现神经网络的特殊功能。在本节实验中,将创建一个简单的神经网络,其中一个隐藏层开发一个输出单元。通过以下步骤使用PyTorch实现第一个神经网络。第1步首先,需要使用以下命令导入PyTorch库。In [1]:import torchimport torch.nnas nn第2步定......
  • Python基于PyQt5和卷积神经网络分类模型(ResNet50分类算法)实现生活垃圾分类系统GUI界
    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。1.项目背景在当今社会,随着人们对环境保护意识的增强以及科技的快速发展,智能化的垃圾分类系统成为了一个热门的研究方向。结合深度学习技术,尤其是先进的图像识......
  • 使用python基本库代码实现神经网络常见层
    一:批量归一化(BatchNormalization)代码解释:函数定义:batch_norm函数接受输入数据X、缩放参数gamma、平移参数beta和一个小常数epsilon,用于防止除零错误。X的形状为(N,D),其中N是批量大小,D是特征维度。gamma和beta的形状为(1,D)。计算批量均值和方差:me......
  • QThread::run函数的使用(涉及到QThread::run, Qthread::start,protected,virtual虚函数,o
    RobotCommuServer.h#ifndefROBOTCOMMUSERVER_H#defineROBOTCOMMUSERVER_H#include<QThread>classRobotCommuServer:publicQThread{Q_OBJECTpublic:explicitRobotCommuServer(QObject*parent=nullptr);~RobotCommuServer();void......
  • AI算法04-自组织映射神经网络Self-Organizing Map | SOM
    自组织映射神经网络自组织映射(SOM)或自组织特征映射(SOFM)是一种类型的人工神经网络(ANN),其使用已训练的无监督学习以产生低维(通常为二维),离散的表示训练样本的输入空间,称为地图,因此是一种减少维数的方法。自组织映射与其他人工神经网络不同,因为它们应用竞争学习而不是纠错学习(例如......
  • 基于卷积神经网络的交通标志识别系统(通过TensorFlow构建LeNet-5模型,并使用GTSRB德国交
    完成程序下载点此下载1、资源项目源码均已通过严格测试验证,保证能够正常运行;2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通;3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业......