当前位置:网站首页>【水质预测】基于matlab模糊神经网络水质预测【含Matlab源码 1923期】
【水质预测】基于matlab模糊神经网络水质预测【含Matlab源码 1923期】
2022-07-03 18:49:00 【海神之光】
一、模糊神经网络水质预测简介
1 模糊神经网络
从整体结构框架上看, 两个输入一个输出, 它像一个神经网络;从功能上讲, 是一个模糊系统。模糊神经网络结构如图1所示, 此网络结构共分为5个层次, 它是一个由神经网络构造实现的模糊推理系统, 以模糊系统的工作过程为依据来设计的。首先, 输入层输入两个信号;其次模糊化层, 模糊化输入的信号;再次是模糊规则计算层;然后是模糊决策层, 将满足条件的量分类并且将模糊的量转化为清晰结果;最后第五层作为输出层, 输出最后的运算结果。
2 水质评价问题
目前为止水质监控评测的方法有很多, 可是都存在局限性。我国一直以营养物、无机物、微生物和重金属离子作为主要水质参数。传统的生物或者化学水质评价方法, 只能得出是否污染以及污水主要的成分, 不能将水质真正所存在的潜在问题反映出来。在线自动连续监测的水质污染综合系统, 与连续自动监测大气污染的系统相比, 水质监测要困难得多。当然, 这些问题都是可以解决的, 但是找到合适的水质评价方法尤为重要。
图2 模糊神经网络水质评价的一般步骤
2.1 水质评价的主要参数
水质评价中常用的参数有六种: (1) 常规水质参数; (2) 氧平衡参数; (3) 重金属参数; (4) 有机污染物参数; (5) 无机污染物参数, ; (6) 生物参数。
2.2 水质评价的一般步骤
模糊神经网络水质评价算法实验的主要步骤如图2所示, 主要分为六个步骤。
3 基于T-S模糊神经网络建模
3.1 T-S模糊模型
T-S模糊系统不仅能够自动更新模糊子集的隶属函数, 而且能不断更新隶属度函数。属于一种不断成长的自学习系统。该模型, T-S模糊系统定义在下面的“if-then”规则中。根据规则Ri中, 模糊推理如下:
其中, Aij为模糊系统的模糊集;pij (j=1, 2, …, k) 为模糊系统参数;yi为根据模糊规则得到的输出, 输入部分 (即if部分) 是模糊的, 输出部分 (即then部分) 是确定的, 该模糊推理表示输出为输入的线性组合。
假设输入量x=[x1, x2, …xk], 首先依照模糊规则计算每个输入变量, xj的隶属度。
其中, cji, bji分别为隶属度函数的中心和宽度;k为输入参数;n为模糊子集数。将各个隶属度进行模糊计算, 应用模糊算子作为连乘算子。
根据模糊计算结果计算模糊模型的输出值yi。
3.2 T-S模糊神经网络
T-S模糊神经网络包括四层结构:输入层、模糊化层、模糊规则计算层和输出层。模糊神经网络的学习算法如下:
(1) 误差计算
式中, yd是网络预期输出;yc网络实际输出;e预期输出和实际输出的误差。
(2) 系数修正
式中, pji为神经网络系数, α为网络学习效率, xj为网络输入参数;ωi为输入参数隶属度连乘积。
(3) 参数修正
式中, cji, bji分别为隶属度函数的中心和宽度。
3.3 模型的建立
模糊神经网络将训练样本的维数作为基础前提, 构建模糊神经网络基础要素:输入、输出节点数、模糊隶属度函数个数。最后选定输入数据为6个 (包括氨氮含量、溶解氧含量、化学需氧量、高锰酸盐指数、总磷和总氮六项指标) , 将水质等级划分为五类, 用数字1—5表示水质等级I—V类, 所以输出的节点数字为1, 形成了6-12-1的网络结构。
二、部分源代码
%---------------------------------------------%
%
%---------------------------------------------%
%% 清空环境变量
clc
clear
%% 参数初始化
xite=0.001;
alfa=0.05;
%网络节点
I=6; %输入节点数
M=12; %隐含节点数
O=1; %输出节点数
%系数初始化
p0=0.3*ones(M,1);p0_1=p0;p0_2=p0_1;
p1=0.3*ones(M,1);p1_1=p1;p1_2=p1_1;
p2=0.3*ones(M,1);p2_1=p2;p2_2=p2_1;
p3=0.3*ones(M,1);p3_1=p3;p3_2=p3_1;
p4=0.3*ones(M,1);p4_1=p4;p4_2=p4_1;
p5=0.3*ones(M,1);p5_1=p5;p5_2=p5_1;
p6=0.3*ones(M,1);p6_1=p6;p6_2=p6_1;
%参数初始化
c=1+rands(M,I);c_1=c;c_2=c_1;
b=1+rands(M,I);b_1=b;b_2=b_1;
maxgen=100; %进化次数
%网络测试数据,并对数据归一化
load data1 input_train output_train input_test output_test
%选连样本输入输出数据归一化
[inputn,inputps]=mapminmax(input_train);
[outputn,outputps]=mapminmax(output_train);
[n,m]=size(input_train);
%% 网络训练
%循环开始,进化网络
for iii=1:maxgen
iii
for k=1:m
x=inputn(:,k);
%输出层结算
for i=1:I
for j=1:M
u(i,j)=exp(-(x(i)-c(j,i))^2/b(j,i));
end
end
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]康彩丽.模糊神经网络在水质评价中的应用研究[J].忻州师范学院学报. 2019,35(02)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
边栏推荐
- [combinatorics] dislocation problem (recursive formula | general term formula | derivation process)*
- PyTorch中在反向传播前为什么要手动将梯度清零?
- Introduction to SSH Remote execution command
- [combinatorics] exponential generating function (proving that the exponential generating function solves the arrangement of multiple sets)
- Analysis of the reasons why enterprises build their own software development teams to use software manpower outsourcing services at the same time
- FBI 警告:有人利用 AI 换脸冒充他人身份进行远程面试
- The installation path cannot be selected when installing MySQL 8.0.23
- Sustainable service business models
- Compose LazyColumn 顶部添加控件
- 为什么要做特征的归一化/标准化?
猜你喜欢
SQL custom collation
Mysql45 lecture learning notes (II)
Getting started with JDBC
application
为什么要做特征的归一化/标准化?
PyTorch中在反向传播前为什么要手动将梯度清零?
How many convolution methods does deep learning have? (including drawings)
12、 Service management
NFT new opportunity, multimedia NFT aggregation platform okaleido will be launched soon
Transformer T5 model read slowly
随机推荐
Record: solve the problem that MySQL is not an internal or external command environment variable
Su embedded training - Day10
2022-2028 global marking ink industry research and trend analysis report
The more you talk, the more your stupidity will be exposed.
Recent learning experience
There are several levels of personal income tax
How about the Moco model?
简述服务量化分析体系
235. 二叉搜索树的最近公共祖先【lca模板 + 找路径相同】
虚拟机和开发板互Ping问题
Typescript configuration
my. INI file not found
2022-2028 global sepsis treatment drug industry research and trend analysis report
041. (2.10) talk about manpower outsourcing
SQL: special update operation
Sepconv (separable revolution) code recurrence
C enum contains value - C enum contains value
204. Count prime
记录在模拟器中运行flutter时报的错
知其然,而知其所以然,JS 对象创建与继承【汇总梳理】