机器学习 RBF神经网络
本文按照 案例-分析-代码-原理 四段式进行介绍,为便于有一定理论基础的童鞋进行学习,将原理以链接其他博客的形式给出,有兴趣的童鞋可以跳转进行学习和推敲。
【案例介绍】利用RBF神经网络建立近红外光谱-辛烷值模型
辛烷值是汽油最重要的品质指标,传统的实验室检测方法存在样品用量大,测试周期长和费用高等问题,不适用于生产控制,特别是在线测试。近年发展起来的近红外光谱分析方法(NIR),作为一种快速分析方法,已广泛应用于农业、制药、生物化工、石油产品等领域。其优越性是无损检测、低成本、无污染,能在线分析,更适合于生产和控制的需要。实验采集得到60组汽油样品,利用傅里叶近红外变换光谱仪对其进行扫描,扫描范围900~1700nm,扫描间隔2nm,每个样品的光谱曲线共含401个波长点。样品的近红外光谱曲线如下图所示:
同时,利用传统实验室检测方法测定其辛烷值含量。现要求利用BP神经网络建立汽油样品近红外光谱及其辛烷值之间的数学模型,并对模型的性能进行评价。
其中,评价分为两部分,分别为相对误差E和决定系数,分别定义如下:
其中,为第个样品的预测值;为第个样品的真实值;为样品的数目。
注:相对误差越小,表明模型的性能越好;决定系数范围在[0,1]内,愈接近于1,表明模型的性能愈好;反之,愈趋近于0,表明模型的性能愈差。
【代码分析】Matlab RBF神经网络建立及测试代码
%% 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,0.3);%%
% 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)
测试集预测结果对比如下:
总结:
- 主要RBF算法在newrbe.m文件中,可通过open newrbe指令打开文件进行查看
- newrbe函数中有三个输入参数,分别为训练数据输入P_train,训练数据标签T_train以及分散量spread
- 关于参数spread,s愈大b愈小,输入距离径向基函数中心越近,则经过径向基函数后取值更加趋近于1;反之,趋近于0(主要控制阵分布)。关于具体原理,可结合第四部分的原理进行分析推理。
【附件下载】 含数据集与Matlab源码等文件下载(百度云)
1、通过百度云进行下载:
链接:https://pan.baidu.com/s/1i78xX9C4SSlUCB36q3BOEg
提取码:8ams
2、使用微信扫描进行文件下载:
【原理链接】 RBF神经网络原理介绍
机器学习 RBF神经网络相关推荐
- MATLAB之机器学习——RBF神经网络
在写RBF神经网络之前还是说下训练集和测试集的问题!关于训练集的选取,选取要有代表性,就像选出的班干部,要能代替你们的班级风气,班级风貌(好像比方没打好).这个数量不一定要多(多没有代表性也是枉然), ...
- 机器学习——RBF神经网络
RBF神经网络 本文部分资料与案例来源:<MATLAB神经网络43个案例分析> RBF神经网络简述 再介绍RBF神经网络之前我们先来看一下径向基函数(RBF),在百度百科上,RBF定义如下 ...
- 【机器学习】RBF神经网络原理与Python实现
[机器学习]RBF神经网络原理与Python实现 一.RBF神经网络原理 1. RBF神经网络结构与RBF神经元 2. RBF神经网络求解 2.1 正向传播:计算误差 2.2 反向传播:调整参数 二. ...
- 神经网络 - RBF神经网络与BP网络优缺点比较 - 机器学习基础知识
RBF神经网络与BP神经网络优缺点比较 1. RBF 的泛化能力在多个方面都优于BP 网络, 但是在解决具有相同精度要求的问题时, BP 网络的结构要比RBF 网络简单. 2. R ...
- RBF神经网络——直接看公式,本质上就是非线性变换后的线性变化(RBF神经网络的思想是将低维空间非线性不可分问题转换成高维空间线性可分问题)...
Deeplearning Algorithms tutorial 谷歌的人工智能位于全球前列,在图像识别.语音识别.无人驾驶等技术上都已经落地.而百度实质意义上扛起了国内的人工智能的大旗,覆盖无人驾驶 ...
- 径向基RBF(radial basis function)函数、RBF神经网络、 反推(back-stepping)控制
文章目录 1. 什么是径向基函数 1. 高斯径向基函数 2. 反演S型函数 3. 拟多二次函数 2. 正则化径向基神经网络 3. 基于RBF网络逼近的自适应控制 1. 问题描述 2. RBF 网络原理 ...
- 机器学习 竞争神经网络与自组织特征映射神经网络(SOFM)
本文按照 案例-分析-代码-原理 四段式进行介绍,为便于有一定理论基础的童鞋进行学习,将原理以链接其他博客的形式给出,有兴趣的童鞋可以跳转进行学习和推敲. [案例介绍]利用竞争神经网络和自组织特征隐射 ...
- TensorFlow学习--函数逼近(RBF神经网络)
目录 主体代码参照: 1.RBF网络相关知识 知识概述 2.K-means聚类最优k值的选取 2.1手肘法:SSE(sum of the squared errors,误差平方和) 2.2 轮廓系数法 ...
- m基于rbf神经网络和遗传算法优化的MIMO-OFDM系统信道估计算法matlab仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 MIMO-OFDM的信道估计:时,频,空三个域都要考虑,尤其是在空域,不同天线发射的导频序列 ...
最新文章
- 解读基于多传感器融合的卡尔曼滤波算法
- Netbeans学习总结
- 组织在召唤:如何免费获取一个js.org的二级域名
- Laravel Kernel引导流程分析
- php为什么没有rz 命令,Linux上传文件- 命令之rz
- [Vue warn]: Unknown custom element: <Top> - did you register the component correctly?
- XML Web services 发现
- 最后的人 - 主机程序员十年的分享
- 爬虫(十五):scrapy中的settings详解
- TF-tf.keras.layers.Dense
- A better zip bomb,比例28000000:1「V2」
- ***YZJ的牛肉干***
- 新浪微博短网址t.cn 短链接生成9.28
- 深度学习-图神经网络总结
- MSP430F149让LED灯闪烁
- 从play_mp3例程出发理解ESP32-ADF的使用方法
- 《阿里巴巴 Java开发手册》读后感
- 前端的扁平化是什么意思
- WMD:基于词向量的文档相似度计算
- 51单片机(2):最小系统
热门文章
- Exception in thread “main“ java.io.FileNotFoundException: test\mybatis-config.xml (系统找不到指定的路径。)
- NLP 自然语言初体验
- Qt保留小数点后一位、两位……
- 离散数学图论全部知识点罗列
- 【springboot】redisTemplate Redis key出现\xac\xed\x00\x05t\x00
- Python爬取豆瓣电影评论数据(通用模板代码)----以《中国医生》为例
- android 接收闹钟广播,Android获取第三方闹钟的闹铃信息
- android 行高和字号之间关系,字号与行高
- 大数据周会-本周学习内容总结0102
- 思博伦Tweakker赢得亚洲首个 MVNO合同