当前位置 : 主页 > 编程语言 > python >

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-15
1 简介 原油含水率预测对于确定油井水,油层位以及估计原油产量有着非常重要意义.BP神经网络是最近常用的原油含水率预测方法,然而,由于BP神经网络存在容易陷入局部极小值,收敛速度


1 简介

原油含水率预测对于确定油井水,油层位以及估计原油产量有着非常重要意义.BP神经网络是最近常用的原油含水率预测方法,然而,由于BP神经网络存在容易陷入局部极小值,收敛速度慢等问题,影响了其预测的实用性和准确性,对此,提出基于粒子群优化RBF神经网络(PSO-RBFNN)的原油含水率预测方法,粒子群优化算法用于RBF神经网络参数优化.在分析原油含水率预测的影响因素基础上,建立粒子群优化RBF神经网络的原油含水率预测模型.实验结果表明,在原油含水率预测中,基于粒子群优化RBF神经网络比BP神经网络有着更高的预测精度.

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_神经网络

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_优化算法_02

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_优化算法_03

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_优化算法_04

2 部分代码

function [out1,out2,out3] =fun(num)
%创建训练样本输入集
data=xlsread('data.xlsx','in');
num=num;%对应三个特征
%归一化
data1=data';
data=mapminmax(data1,0,1);
data=data';
%建立训练集测试集
x_train=data(:,1:1).';
y_train=data(:,1+num).';
%创建、训练网络
net=newrb(x_train,y_train,0.001,1,25,5);
%在训练集和测试集上的表现
y_train_predict=sim(net,x_train);
%求出误差 训练集和测试集
err=y_train_predict- y_train;
train_error=(err.*err)/length(y_train);
out1=y_train_predict;
out2=train_error;
out3=y_train;
end

3 仿真结果

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_粒子群_05

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_粒子群_06

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_优化算法_07

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_神经网络_08

4 参考文献

[1]吴良海. "基于粒子群优化RBF神经网络原油含水率预测." 计算机仿真 5(2010):4.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_优化算法_09

【RBF预测】基于粒子群算法优化RBF神经网络实现数据回归预测含Matlab源码_优化算法_10



网友评论