首先,本人是个matlab小白,也是在参加数模的时候才接触到matlab,暑期在巩固matlab的时候,根据网上找的数据,边做边学matlab。

此外,这是本人第一次撰写文章,必定会有很多疏漏。如果有侵权的地方,本人会立马删除此文章;如果有幸大佬能看到此文章,也欢迎大佬提出意见。

目录

前言

一、数据获取

二、BP神经网络代码

1.训练

2.画图对比原本数据和预测的数据

3.预测数据

三、总结


前言

这次BP神经网络的练习数据来源是《人工神经网络》HZAU数模基地,我以此为基础进行BP神经网络训练,得到的代码可以作为后期参加比赛是直接参考使用。

一、数据获取

实验号 臭氧浓度(mg/L) 入口UV254 UV254去除率(%)
1 1.16 0.116 50.2
2 1.35 0.104 59.5
3 1.72 0.078 58.8
4 1.86 0.107 66.2
5 1.97 0.136 65.5
6 2.15 0.082 64.5
7 2.23 0.125 73.6
8 2.48 0.076 76.4
9 2.79 0.122 78.5
10 2.85 0.092 79.2
11 3.07 0.081 81.4
12 3.45 0.068 90.3
13 3.59 0.077 93.1
14 3.8 0.108 98.2
15 3.93 0.128 97.3
16 4.14 0.063 98.1
17 4.46 0.135 97.3
18 4.55 0.07 98.8
19 4.84 0.126 96.9
20 5.03 0.087 98.6

二、BP神经网络代码

1.训练

其中我取了上表前19组数据进行训练,代码如下:

%自行导入输入数据x和输出数据y。
input_x = [x1'; x2'];
output_y = y';%注意将列向量转置成行向量!!!
%本模板的输入数据x1,x2,输出数据为y,。可根据实际情况删改%可用“setdemorandstream(114514);”固定随机种子,防止每次训练结果不一样%隐藏节点数可以根据经验公式n=2m+1确定,其中n为隐藏节点数,m为输入个数;我这里直接取了3。
%隐层的传递函数为tansig,输出层的传递函数为purelin
%使用trainlm方法训练net = newff(input_x,output_y,3,{'tansig','purelin'},'trainlm');%常用参数的设置
net.trainparam.goal = 0.001;   %训练目标:均方误差低于0.001
net.trainparam.show =  200;    %每训练200次展示一次结果
net.trainparam.epochs = 10000; %最大训练次数为10000[net,tr] = train(net,input_x,output_y); %调用matlab神经网络工具箱自带的train函数训练网络
simout = sim(net,input_x);     %调用matlab神经网络工具箱自带的sim函数得到的网络的预测值

2.画图对比原本数据和预测的数据

figure;                        %新建画图窗口
t=1:length(simout);
plot(t,y,t,simout,'r')         %画图,对比原来的y和网络预测

3.预测数据

x = [5.03;0.087]; %表中第20个实验的数据
simy = sim(net,x) %得到的预测值

原本的20个实验的结果是98.6,而预测出来的时99.6385,有细微差别。

三、总结

练习的过程中发现,要将导入的数据转置成行向量(一般matlab导入的都是列向量)

预测结果还是有一些误差的,不过这个应该可以通过调参数来提高准确度的(后续我还是得反复摸索改进)

【matlab小白训练】BP神经网络相关推荐

  1. MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试

    文章目录 MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试 一.题目要求 二.完整的目录结构说明 三.Mnist数据集及数据格式转换 四.BP神经网络相关知识 4.1 ...

  2. matlab流量预测模型,基于MATLAB工具箱的BP神经网络年径流量预测模型研究——以塔城地区乌拉斯台河为例...

    水 文 JOURNAL OF CHINA HYDROLOGY 第28卷第1期 2008年2月 Vol.28 No.1 Feb., 2008 塔城地区位于新疆维吾尔自治区西北边陲, 地处中纬, 虽属内陆 ...

  3. matlab水果定位与分割,利用Matlab软件和BP神经网络快速识别水果实现分拣

    我国是水果生产与消费大国,我国水果不但品种丰富,而且以水果为原料的食品如罐头.果冻等加工产业也颇具规模.然而,在水果果料的加工过程中可能会不经意地混入诸如毛发.纤维丝.纸屑.金属.油漆等异物,从而对产 ...

  4. 基于Matlab平台的BP神经网络进行数据拟合

    基于Matlab平台的BP神经网络进行数据拟合 上次讨论了基于Hopfield神经网络的数字识别,BP(Back Propagation)神经网络也可以进行相关的数字识别如手写数字识别等,由于BP神经 ...

  5. bp神经网络matlab设计实例,bp神经网络matlab实例(bp神经网络matlab实例).doc

    bp神经网络matlab实例(bp神经网络matlab实例).doc bp神经网络matlab实例(bp神经网络matlab实例)Case 1 training BP network by momen ...

  6. 使用MATLAB实现基于BP神经网络训练的手写字母识别程序

    前言 大三的时候利用MATLAB搭建了一个基于BP神经网络框架的手写字母识别程序,其中使用了EMNIST数据集进行训练和测试,可实时对手写输入样本进行识别,并返回两个最可能的结果,过程中可继续添加样本 ...

  7. bp神经网络matlab实例蚊子,bp神经网络matlab实例

    bp神经网络matlab实例 采用 Matlab 工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考 Matlab 帮助文档.实例一% 例 1 采用动量梯度下降算法训练 BP 网 ...

  8. 利用MATLAB 2016a进行BP神经网络的预测(含有神经网络工具箱)

    最近一段时间在研究如何利用预测其销量个数,在网上搜索了一下,发现了很多模型来预测,比如利用回归模型.时间序列模型,GM(1,1)模型,可是自己在结合实际的工作内容,发现这几种模型预测的精度不是很高,于 ...

  9. 用matlab实现用Bp神经网络对iris数据集进行分类(以及影响分类性能的参数条件)

    数据集已上传,结尾链接下载即可!!! 一.实验内容 Iris鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性,分别对应花萼长度,花 ...

  10. 【BP回归预测】基于matlab文化算法优化BP神经网络数据回归预测【含Matlab源码 2124期】

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

最新文章

  1. PyTorch | (1)初识PyTorch
  2. php400错误的请求,Wordpress中的Ajax返回400错误请求,但不确定如何进一步调试 - WordPress - srcmini...
  3. 第2章 熟悉Eclipse开发工具---- System.out.println(sum=+(a+b));
  4. AI Studio 对于波士顿房价的线性回归
  5. python网课什么平台好-python网课什么平台好
  6. linux vnc的小黑点和鼠标不同步_vnc连接windows,推荐三款非常好用的vnc连接windows软件...
  7. Push rejected: Push to origin/master was rejected
  8. 汇编语言start标号的作用
  9. [转载] python 中numpy快速去除nan, inf的方法
  10. python之---Python深入06 Python的内存管理
  11. 根据分隔符将一个长字符串分割保存到动态数组中
  12. 正在搜索需要的文件_搜索电脑文件,只需要0.01s
  13. u盘魔术师装linux,u盘魔术师下载 u盘魔术师v6(USMv6) v6.0.2019.06.18 正式特别版 下载-脚本之家...
  14. STM8S自学笔记-005 精准延时
  15. Yocto理论篇 | OpenEmbedded构建系统之BitBake
  16. (十二):为什么需要一个新的ORM框架
  17. 宋星:金融行业数字营销的数据破局
  18. 使用Matlab pcode的风险
  19. 深度学习入门——利用卷积神经网络训练CIFAR—10数据集
  20. [linux命令]查找包含指定内容的文件

热门文章

  1. ai故障风字体_AI教程!3步搞定酷炫故障文字效果
  2. Java 标准计算器(使用SWT做界面)
  3. Mac 系统SourceTree 配置VSCode代码对比工具
  4. 在51CTO学习数通HCNP的经历
  5. [nssl 1322][jzoj cz 2109] 清兵线 {dp}
  6. u大师u盘自定义ISO/IMG文件装机教程
  7. BGLL算法 C++实现
  8. nv驱动版本linux,完善支持NV显卡Linux驱动275.19正式版,275.19增加了对
  9. 【转】极品免费网站空间申请:000webhost.com免费1.5G美国空间PHP+MySQL
  10. 16QAM调制解调和误码率