在写RBF神经网络之前还是说下训练集和测试集的问题!关于训练集的选取,选取要有代表性,就像选出的班干部,要能代替你们的班级风气,班级风貌(好像比方没打好)。这个数量不一定要多(多没有代表性也是枉然),但样本的代表的特征一定要全部包括在内(数量越多,样本特征全有,这样训练的模型也就更具有代表性)

数据集主要是分以下几种:

  • 训练集:学习样本数据集,通过匹配一些参数来建立一个分类器。建立一种分类的方式,主要是用来训练模型的。

  • 验证集:对学习出来的模型,调整分类器的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。

  • 测试集:主要是测试训练好的模型的分辨能力(识别率等)

RBF神经网络概述

RBF(径向基)神经网络具体原理网上有很多,我在这里就推荐我学习的一两篇给大家吧,感觉还不错。这一篇(不过不是matlab语言)和这一篇(写得很详细,用的matlab语言)。

• A radial basis function network is an artificial neural network that uses radial basis functions as activation functions.

就是这么简单,径向基神经网络就是用的径向基函数作为激励函数

RBF的方法是要选择P个基函数,每个基函数对应一个训练数据,由于距离(||dist||)是径向同性的,因此称为径向基函数。

上面是径向基函数的线性组合,和BP神经网络(信号前向传播,误差反向传播)的区别也是比较明显的!

BP是通过不断的调整神经元的权值来逼近最小误差的。其方法一般是梯度下降。RBF是一种前馈型的神经网络,也就是说他不是通过不停的调整权值来逼近最小误差的,的激励函数是一般是高斯函数和BP的S型函数不一样,高斯函数是通过对输入与函数中心点的距离来算权重的。

详细区别和联系请见这里啊哈!

接下来就附上我学习的代码!

%% I. 清空环境变量
clear all
clc%% II. 训练集/测试集产生
%%
% 1. 导入数据
load spectra_data.mat%%
% 2. 随机产生训练集和测试集
temp = randperm(size(NIR,1));
% 训练集——50个样本
P_train = NIR(temp(1:50),:)';
T_train = octane(temp(1:50),:)';
% 测试集——10个样本
P_test = NIR(temp(51:end),:)';
T_test = octane(temp(51:end),:)';
N = size(P_test,2);%% III. RBF神经网络创建及仿真测试
%%
% 1. 创建网络
net = newrbe(P_train,T_train,30);%%
% 2. 仿真测试
T_sim = sim(net,P_test);%% IV. 性能评价
%%
% 1. 相对误差error
error = abs(T_sim - T_test)./T_test;%%
% 2. 决定系数R^2
R2 = (N * sum(T_sim .* T_test) - sum(T_sim) * sum(T_test))^2 / ((N * sum((T_sim).^2) - (sum(T_sim))^2) * (N * sum((T_test).^2) - (sum(T_test))^2)); %%
% 3. 结果对比
result = [T_test' T_sim' error']%% V. 绘图
figure
plot(1:N,T_test,'b:*',1:N,T_sim,'r-o')
legend('真实值','预测值')
xlabel('预测样本')
ylabel('辛烷值')
string = {'测试集辛烷值含量预测结果对比';['R^2=' num2str(R2)]};
title(string)

在这里说一下为什么要先用matlab来入门机器学习,本人比较喜欢matlab的编程风格,调试,算法实现也比较方便,先用matlab来入门机器学习,先打下良好基础,对机器学习的深入了解开启良好的航道。

至于这两个实验数据spectra_data.mat,我会在这里进行上传!

MATLAB之机器学习——RBF神经网络相关推荐

  1. matlab 向量_COMSOL与MATLAB联合仿真+RBF神经网络预测输出

    数值仿真软件 COMSOL 一是款功能强大的多物理场仿真软件,包含电磁学.流体流动等领域,可以解决电阻抗成像的正问题.这里简单给大家介绍一个电阻抗成像数值仿真的案例: 1. 首先,打开软件新建一个空白 ...

  2. rbf神经网络自适应控制matlab仿真,机械系统RBF神经网络控制:设计、分析及Matlab仿真(英文)...

    机械系统RBF神经网络控制:设计.分析及Matlab仿真(英文) 作者:刘金琨 著 出版时间:2013年 内容简介 <机械系统RBF神经网络控制:设计.分析及Matlab仿真(英文)>从M ...

  3. 机器学习 RBF神经网络

    本文按照 案例-分析-代码-原理 四段式进行介绍,为便于有一定理论基础的童鞋进行学习,将原理以链接其他博客的形式给出,有兴趣的童鞋可以跳转进行学习和推敲. [案例介绍]利用RBF神经网络建立近红外光谱 ...

  4. 机器学习——RBF神经网络

    RBF神经网络 本文部分资料与案例来源:<MATLAB神经网络43个案例分析> RBF神经网络简述 再介绍RBF神经网络之前我们先来看一下径向基函数(RBF),在百度百科上,RBF定义如下 ...

  5. matlab建立rbf网络,大家看一下,这组数据Matlab如何构建RBF神经网络!!!!

    大家看一下,这组数据如何构建RBF神经网络!!!! 大家看一下如何编写RBF网络,前4例是输入,后2列是输出.共有19组数据,谁会呀!!谢谢. m_data=[0.000000 -96.688193 ...

  6. 怎么查MATLAB中的newrbf,已经有了输入输出数据,如何在matlab中建立RBF神经网络

    function t=net(p) %%原始数据的输入 clc,clear,close all xingbiebili= [1.03         1.03         1.03         ...

  7. m基于rbf神经网络和遗传算法优化的MIMO-OFDM系统信道估计算法matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 MIMO-OFDM的信道估计:时,频,空三个域都要考虑,尤其是在空域,不同天线发射的导频序列 ...

  8. 2021-03-09 Matlab RBF神经网络及其实例

    Matlab RBF神经网络及其实例 RBF神经网络和BP神经网络的区别就在于训练方法上面:RBF的隐含层与输入层之间的连接权值不是随机确定的,是有一种固定算式的.下面以精确型RBF为例. 假设每个样 ...

  9. 傻瓜攻略(六)——MATLAB实现RBF神经网络

    径向基函数(Radial Basis Function,RBF)神经网络是一种传统的神经网络,于1988年首次被提出.1989年,Jackson论证了RBF神经网络对非线性连续函数的一致逼近性能. R ...

最新文章

  1. 洞悉2020年数据团队建设,我们和清华、领英一起搞了个大事情,你也可以参与!...
  2. python 实时日志监控_python动态监控日志内容的示例
  3. UA MATH567 高维统计II 随机向量11 kernel的构造 用内积替换反三角函数
  4. nginx 增加stream_realip_module模块
  5. 深入浅出 NXLog (一)
  6. 记一次FileZillaServer提权
  7. 计算机用户导入导出,使用csvde批量添加,导入,导出用户
  8. s7-200通信测试软件,S7-200 SMART 与调试助手之间 TCP 通信[技术学习]
  9. R语言绘图的配色——ggsci
  10. 魅族一直显示无服务器,魅族手机用久了卡顿,这三个方法轻松解决
  11. 美国零售数据不及预期,非美延续反弹
  12. 支付宝支付加密规则梳理,写的太好了!
  13. pod、pvc删不掉怎么办?
  14. 用c语言求20以内的勾股数,C语言求勾股数代码及解析
  15. 用AI制作高保真图片
  16. 用Python画等边三角形
  17. 国网云(华为组件)使用
  18. Android发展历程
  19. c语言有效的预处理命令,9、C语言之预处理命令(示例代码)
  20. 【数据结构/C语言版】【图】邻接表存储

热门文章

  1. vscode 取消拉去变基_git大礼包:学完出师
  2. js实现文件上传下载
  3. 利用python发送邮件
  4. java根据word模板生成文档(含文本替换和动态生成表格)
  5. mapengpeng1999@163.com 操作系统1~基础概念
  6. 什么是证充分性,证必要性?
  7. idea运行时出现PermGen Space
  8. 财务会计基础(三)会计循环与会计报表
  9. javascript 设计模式之观察者模式
  10. 解决预览pdf不能下载的问题