fnn回归预测基于matlab粒子群优化前馈神经网络婚姻和离婚数据回归预测含matlab源码2069期

海神之光 海神之光     2022-12-08     781

关键词:

一、粒子群优化前馈神经网络简介

1 前馈神经网络FNN
前馈神经网络FNN是解决非线性问题的很好模型,它通过梯度下降算法进行网络训练。FNN与时间序列法等传统方法相比,能够更好地来描述问题的非线性特性;与支持向量机等智能方法相比,其网络结构简单,不需要人为选定惩罚因子和损失因子,结构可以人为设定,归纳性能更好更灵活。将BP神经网络引入到短期负荷预测中。将径向基函数(Radial Basis Function,RBF)神经网络引入到短期负荷预测中。将模糊神经网络引入到负荷预测中。它们都属于FNN,并且取得了很好的预测效果。虽然FNN应用广泛,结构简单,层次清晰,但是其缺陷却不可忽视。前馈神经网络采用传统的训练算法,极易陷入局部最小,并且训练时间长,其本质是静态网络,无法很好地表征系统的动态特性。

粒子群算法是一种基于群体智能行为的启发式随机搜索优化方法,于1995年由Kennedy和Eberhart提出。

2 标准粒子群算法
假设在D维搜索空间有一群体,其粒子数为m;xi=(xi1,xi2,…,xiD)为第i个粒子的位置;vi=(vi1,vi2,…,viD)为第i个粒子的飞行速度;Pi=(pi1,Pi2,…,piD)为第i个粒子经历过的最好位置,即个体适应度值最优;Pg=(pg1,pg2,…,pgD)为所有粒子经历过的最好位置,即群体适应度值最优。每次迭代粒子根据式(5)更新自己的速度和位置:

式中:w为惯性权重,取0.1~0.9;c1和c2为学习因子,一般均取2;r1和r2为[0,1]之间随机数。式(5)由3部分组成,第一部分为粒子之前的速度;第二部分为“认知”部分,代表粒子本身的思考,仅考虑自身的经验;第三部分为“社会”部分,代表着粒子之间的社会信息共享。

粒子在搜索过程中,速度和位置都有一定的限制,即vmin≤vi≤vmax,xmin≤xi≤xmax,如果超出,就取边界值。

二、部分源代码

%-----------------------------------------------------------------------
clear;
close all
Data=load(‘Marriage_Divorce_DB.mat’);
Inputs=Data.Marriage_Divorce_DB(:,1:end-1);
Targets=Data.Marriage_Divorce_DB(:,end);
%% Learning
n = 9; % Neurons
%----------------------------------------
% ‘trainlm’ Levenberg-Marquardt
% ‘trainbr’ Bayesian Regularization (good)
% ‘trainrp’ Resilient Backpropagation
% ‘traincgf’ Fletcher-Powell Conjugate Gradient
% ‘trainoss’ One Step Secant (good)
% ‘traingd’ Gradient Descent
% Creating the NN ----------------------------
net = feedforwardnet(n,‘trainoss’);
%---------------------------------------------
% configure the neural network for this dataset
[net tr]= train(net,Inputs’, Targets’);
perf = perform(net,Inputs, Targets); % mse
% Current NN Weights and Bias
Weights_Bias = getwb(net);
% MSE Error for Current NN
Outputs=net(Inputs’);
Outputs=Outputs’;
% Final MSE Error and Correlation Coefficients (CC)
Err_MSE=mse(Targets,Outputs);
CC1= corrcoef(Targets,Outputs);
CC1= CC1(1,2);
%-----------------------------------------------------
%% Nature Inspired Regression
% Create Handle for Error
h = @(x) NMSE(x, net, Inputs’, Targets’);
sizenn=size(Inputs);sizenn=sizenn(1,1);
%-----------------------------------------
%% Please select BBO (bbo) or PSO (pso)
[x, cost] = pso(h, sizenn*n+n+n+1);

%-----------------------------------------
net = setwb(net, x’);
% Optimized NN Weights and Bias
getwb(net);
% Error for Optimized NN
Outputs2=net(Inputs’);
Outputs2=Outputs2’;
% Final MSE Error and Correlation Coefficients (CC)
Err_MSE2=mse(Targets,Outputs2);
CC2= corrcoef(Targets,Outputs2);
CC2= CC2(1,2);

%% Plot Regression
figure(‘units’,‘normalized’,‘outerposition’,[0 0 1 1])
% Normal
subplot(1,2,1)
[population2,gof] = fit(Targets,Outputs,‘poly3’);
plot(Targets,Outputs,‘o’,…
‘LineWidth’,1,…
‘MarkerSize’,8,…
‘MarkerEdgeColor’,‘r’,…
‘MarkerFaceColor’,[0.3,0.9,0.1]);
title(['Normal R = ’ num2str(1-gof.rmse)]);
hold on
plot(population2,‘b-’,‘predobs’);
xlabel(‘Targets’);ylabel(‘Outputs’); grid on;
ax = gca;
ax.FontSize = 12; ax.LineWidth=2;
legend(‘Normal Regression’,‘FontSize’,12,‘TextColor’,‘blue’);hold off
% PSO
subplot(1,2,2)
[population3,gof3] = fit(Targets,Outputs2,‘poly3’);
plot(Targets,Outputs2,‘o’,…
‘LineWidth’,1,…
‘MarkerSize’,8,…
‘MarkerEdgeColor’,‘g’,…
‘MarkerFaceColor’,[0.9,0.3,0.1]);
title(['PSO R = ’ num2str(1-gof3.rmse)]);
hold on
plot(population3,‘b-’,‘predobs’);
xlabel(‘Targets’);ylabel(‘Outputs’); grid on;
ax = gca;
ax.FontSize = 12; ax.LineWidth=2;
legend(‘PSO Regression’,‘FontSize’,12,‘TextColor’,‘blue’);hold off

% Correlation Coefficients
fprintf(‘Normal Correlation Coefficients Is = %0.4f.\\n’,CC1);
fprintf(‘PSO Correlation Coefficients Is = %0.4f.\\n’,CC2);

三、运行结果





四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 孙景文,常鲜戎.基于高斯混沌粒子群优化动态前馈神经网络的短期负荷预测[J].陕西电力. 2015,43(09)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

fnn回归预测基于matlab蝙蝠算法优化前馈神经网络数据回归预测含matlab源码2070期

一、粒子群优化前馈神经网络简介1前馈神经网络FNN前馈神经网络FNN是解决非线性问题的很好模型,它通过梯度下降算法进行网络训练。FNN与时间序列法等传统方法相比,能够更好地来描述问题的非线性特性;与支持向量机等智能方... 查看详情

fnn回归预测基于matlab蝙蝠算法优化前馈神经网络数据回归预测含matlab源码2070期

一、粒子群优化前馈神经网络简介1前馈神经网络FNN前馈神经网络FNN是解决非线性问题的很好模型,它通过梯度下降算法进行网络训练。FNN与时间序列法等传统方法相比,能够更好地来描述问题的非线性特性;与支持向量机等智能方... 查看详情

bp回归预测基于matlab文化算法优化bp神经网络数据回归预测含matlab源码2124期

一、文化算法及BP神经网络简介1文化粒子群算法原理本文提出的文化粒子群算法采用文化算法的双层演化结构。[4]算法包含两个进化空间,一个是由具体个体组成的群体空间;另一个是由在进化过程中获取的经验和知识组成的信念... 查看详情

bp回归预测基于matlab文化算法优化bp神经网络数据回归预测含matlab源码2124期

一、文化算法及BP神经网络简介1文化粒子群算法原理本文提出的文化粒子群算法采用文化算法的双层演化结构。[4]算法包含两个进化空间,一个是由具体个体组成的群体空间;另一个是由在进化过程中获取的经验和知识组成的信念... 查看详情

优化预测基于matlab粒子群算法优化bp神经网络预测含matlab源码f003期

...权值和阈值,解决局部极小点问题,提高BP神经网络算法的预测精度。在PSO中,整个搜索空间的维数D。第i个粒子的位置见式(3)。图2PSO-BP的算法流程二、部分源代码 查看详情

delm回归预测基于matlab粒子群算法改进深度学习极限学习机pso-delm数据回归预测含matlab源码1884期

⛄一、PSO-DELM简介1DELM的原理在2004年,极限学习机(extremelearningmachine,ELM)理论被南洋理工大学的黄广斌教授提出,ELM是一种单隐含层前馈神经网络(single-hiddenlayerfeedforwardneuralnetwork,SLFN)算法。它与常用的... 查看详情

delm回归预测基于matlab粒子群算法改进深度学习极限学习机pso-delm数据回归预测含matlab源码1884期

⛄一、PSO-DELM简介1DELM的原理在2004年,极限学习机(extremelearningmachine,ELM)理论被南洋理工大学的黄广斌教授提出,ELM是一种单隐含层前馈神经网络(single-hiddenlayerfeedforwardneuralnetwork,SLFN)算法。它与常用的... 查看详情

优化预测基于matlab粒子群算法优化bp神经网络预测温度含matlab源码1302期

一、粒子群算法及RBF简介1粒子群算法简介1.1引言自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在。生物学家CraigReynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都遵循:避免与邻... 查看详情

优化预测基于matlab粒子群算法优化bp神经网络(多输入多输出)含matlab源码1418期(代码片段)

...权值和阈值,解决局部极小点问题,提高BP神经网络算法的预测精度。在PSO中,整个搜索空间的维数D。第i个粒子的位置见式(3)。图2PSO-BP的算法流程二、部分源代码%粒子群优化多输入多输出BP神经网络代 查看详情

优化预测基于matlab粒子群算法优化svm回归预测(多输入多输出)含matlab源码1421期

一、粒子群算法简介1引言自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在。生物学家CraigReynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都遵循:避免与邻域个体相撞:匹配邻域... 查看详情

费用预测基于matlab粒子群算法优化elm神经网络预测费用含matlab源码1378期

一、粒子群算法简介1粒子群算法简介1.1引言自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在。生物学家CraigReynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都遵循:避免与邻域个... 查看详情

费用预测基于matlab粒子群算法优化elm神经网络预测费用含matlab源码1378期

一、粒子群算法简介1粒子群算法简介1.1引言自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在。生物学家CraigReynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都遵循:避免与邻域个... 查看详情

bp预测基于粒子群算法优化bp神经网络实现数据预测matlab源码(代码片段)

     一、BP神经网络预测算法简介说明:1.1节主要是概括和帮助理解考虑影响因素的BP神经网络算法原理,即常规的BP模型训练原理讲解(可根据自身掌握的知识是否跳过)。1.2节开始讲基于历史值影响的BP神经... 查看详情

bp预测基于粒子群算法优化bp神经网络实现数据预测matlab源码(代码片段)

    一、BP神经网络预测算法简介说明:1.1节主要是概括和帮助理解考虑影响因素的BP神经网络算法原理,即常规的BP模型训练原理讲解(可根据自身掌握的知识是否跳过)。1.2节开始讲基于历史值影响的BP神经网... 查看详情

回归预测-lssvm基于粒子群算法优化最小二乘支持向量机lssvm实现数据回归预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。🍎个人主页:Matlab科研工作室🍊个人信条:格物致知。更多Matlab仿真内容点击👇智能优化算法 神经网络预... 查看详情

预测模型基于matlab粒子群算法预测含matlab源码1326期

一、粒子群算法简介1粒子群算法的概念粒子群优化算法(PSO:Particleswarmoptimization)是一种进化计算技术(evolutionarycomputation)。源于对鸟群捕食的行为研究。粒子群优化算法的基本思想:是通过群体中个体之间的协作和信息共享来... 查看详情

优化预测基于matlab粒子群算法优化dbn预测含matlab源码1420期

一、DBN算法简介DBN是深度学习方法中的一种常用模型,是一种融合了深度学习与特征学习的神经网络。DBN网络结构是由若干层受限玻尔兹曼机(RestrictedBoltzmannMachine,RBM)和一层BP组成的一种深层神经网络。DBN结构如图2所示。图2DB... 查看详情

elman预测基于粒子群算法改进elman动态递归神经网络实现数据预测matlab源码(代码片段)

一、Elman神经网络介绍1.特点Elman神经网络是一种典型的动态递归神经网络,它是在BP网络基本结构的基础上,在隐含层增加一个承接层,作为一步延时算子,达到记忆的目的,从而使系统具有适应时变特性的能... 查看详情