【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

个人主页:Matlab科研工作室

个人信条:格物致知。

更多Matlab仿真内容点击

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机

⛄ 内容介绍

 RBF神经网络概述

径向基函数(Radical Basis Function, RBF)是多维空间插值的传统技术,由Powell于1985年提出。RBF是具有单隐藏层的三层前向网络。第一层输入层:由信号源节点构成,仅起到数据信息的传递作用,对输入信息不做任何变换。第二层隐含层:节点数视需要而定。隐藏层神经元核函数(作用函数)是径向基函数函数,对输入信息进行空间映射的变换。第三层输出层,对输入模式做出响应。输出层神经元的作用函数为线性函数,对隐含层神经元输出的信息进行线性加权后输出,作为整个神经网络的输出结果。 

【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码_第1张图片

图 6 正则化RBF神经网络拓补图

输出层与隐藏层所完成的任务是不同的,因而他们的学习策略也不同。输出层是对线性权值进行调整,采用的是线性优化策略,因而学习速度较快;而隐藏层是对激活函数(一般取高斯函数)的参数进行调整,采用的是非线性优化策略,因而学习速度较慢。RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐藏层空间,隐含层对输入矢量进行变换,将低维的模式输入数据变换到高维空间内,使得在低维空间内的线性不可分的问题在高维空间内线性可分。RBF神经网络结构简单、训练简洁而且学习收敛速度快,能够逼近任意非线性函数,因此它已被广泛应用于时间序列分析、模式识别、非线性控制和图形处理等领域。

1.2 数据点中心计算——聚类算法

本次数据预测采用K-mean聚类算法通过自组织学习来确定数据点中心位置。这一算法主要基于数据点之间的均值和与聚类中心的距离迭代而成。步骤如下:(1)预先给定聚类的数目同时随机初始化聚类中心;(2)每一个数据点通过计算与聚类中心的欧氏距离来分类到最邻近的一类中;(3)根据分类结果,利用分类后的数据点重新计算聚类中心;(4)重复步骤(2)(3)直到聚类中心不再变化。 

【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码_第2张图片

图 7  K-mean算法示意

2.3 隐藏层激活函数——Gauss径向基函数

径向基函数是一个取值仅仅依赖于离原点距离的实值函数(RBF)方法。也就是。任意一个满足特性的函数都叫做径向基函数,标准的一般使用欧式距离(也叫做欧式径向基函数)。最常用的径向基函数是高斯核函数(此外还有反常S型函数、拟多二次函数等),形式为。其中为核函数中心,为函数的宽度参数,控制了函数的径向作用范围。

高斯核函数的图像如图8所示,其中横轴是到中心的距离。当距离等于0时,函数值等于1,距离越远衰减越快,其中参数称为方差(宽度),表示函数跌落到零的速度。红色线条,蓝色,绿色,越小图像越窄。

【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码_第3张图片

图 8 高斯径向基函数

2.4 输出层激活函数——线性函数

RBF神经网络输出层的激活函数采用线性函数,即可得到如下方程组:

【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码_第4张图片

其中,权重的值可直接使用梯度下降法训练,通过学习来自适应调节更新。在此不做过多赘述。

2.5 径向基神经网络分类

RBF神经网络主要分为两类:正则化径向基函数神经网络和广义径向基神经网络。若设网络具有N个输人节点,P个隐节点,i个输出节点,当N=M

正则化RBF网络具有以下优点:

(1)正则化网络是一种通用逼近器,只有要足够的节点,它可以以任意精度逼近紧集上的任意多元连续函数。

(2)具有最佳逼近特性,即任给一个未知的非线性函数,总可以找到一组权值使得正则化网络对于的逼近优于所有其可能的选择。

(3)正则化网络得到的解是最佳的,所谓“最佳”体现在同时满足对样本的逼近误差和逼近曲线的平滑性。

同时,正则化RBF网络还存在一些问题:一是正则化的RBF要求所有样本对应一个隐层神经元,所带来的问题是计算量很大;二是样本量很大带来的另外一个问题是容易达到病态方程组问题。

因此需要改进RBF神经网络。产生了广义RBF神经网络,但同时广义RBF神经网络也存在一些问题,比如需要调整的参数太多,这些参数通常是通过手动调试,没有特别好的算法进行自动调整。

【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码_第5张图片

⛄ 部分代码

clear

clc

data=xlsread('data','B21:H36');

x=data(1,:);

y11=data(2,:);

y12=data(3,:);

y13=data(4,:);

y21=data(5,:);

y22=data(6,:);

y23=data(7,:);

y31=data(8,:);

y32=data(9,:);

y33=data(10,:);

y41=data(11,:);

y42=data(12,:);

y43=data(13,:);

y51=data(14,:);

y52=data(15,:);

y53=data(16,:);

x_real=[x x];

y1_real=[y11 y12];

y2_real=[y21 y22];

y3_real=[y31 y32];

y4_real=[y41 y42];

y5_real=[y51 y52];

Time=[x x x];

WeightLoss1=[y11 y12 y13];

WeightLoss2=[y21 y22 y23];

WeightLoss3=[y31 y32 y33];

WeightLoss4=[y41 y42 y43];

WeightLoss5=[y51 y52 y53];

⛄ 运行结果

【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码_第6张图片

【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码_第7张图片

【预测模型-RBF预测】基于RBF神经网络实现腐蚀失重数据预测附matlab代码_第8张图片

⛄ 参考文献

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

你可能感兴趣的:(神经网络预测,matlab,神经网络,人工智能)