【matlab小白训练】BP神经网络
首先,本人是个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神经网络相关推荐
- MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试
文章目录 MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试 一.题目要求 二.完整的目录结构说明 三.Mnist数据集及数据格式转换 四.BP神经网络相关知识 4.1 ...
- matlab流量预测模型,基于MATLAB工具箱的BP神经网络年径流量预测模型研究——以塔城地区乌拉斯台河为例...
水 文 JOURNAL OF CHINA HYDROLOGY 第28卷第1期 2008年2月 Vol.28 No.1 Feb., 2008 塔城地区位于新疆维吾尔自治区西北边陲, 地处中纬, 虽属内陆 ...
- matlab水果定位与分割,利用Matlab软件和BP神经网络快速识别水果实现分拣
我国是水果生产与消费大国,我国水果不但品种丰富,而且以水果为原料的食品如罐头.果冻等加工产业也颇具规模.然而,在水果果料的加工过程中可能会不经意地混入诸如毛发.纤维丝.纸屑.金属.油漆等异物,从而对产 ...
- 基于Matlab平台的BP神经网络进行数据拟合
基于Matlab平台的BP神经网络进行数据拟合 上次讨论了基于Hopfield神经网络的数字识别,BP(Back Propagation)神经网络也可以进行相关的数字识别如手写数字识别等,由于BP神经 ...
- bp神经网络matlab设计实例,bp神经网络matlab实例(bp神经网络matlab实例).doc
bp神经网络matlab实例(bp神经网络matlab实例).doc bp神经网络matlab实例(bp神经网络matlab实例)Case 1 training BP network by momen ...
- 使用MATLAB实现基于BP神经网络训练的手写字母识别程序
前言 大三的时候利用MATLAB搭建了一个基于BP神经网络框架的手写字母识别程序,其中使用了EMNIST数据集进行训练和测试,可实时对手写输入样本进行识别,并返回两个最可能的结果,过程中可继续添加样本 ...
- bp神经网络matlab实例蚊子,bp神经网络matlab实例
bp神经网络matlab实例 采用 Matlab 工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考 Matlab 帮助文档.实例一% 例 1 采用动量梯度下降算法训练 BP 网 ...
- 利用MATLAB 2016a进行BP神经网络的预测(含有神经网络工具箱)
最近一段时间在研究如何利用预测其销量个数,在网上搜索了一下,发现了很多模型来预测,比如利用回归模型.时间序列模型,GM(1,1)模型,可是自己在结合实际的工作内容,发现这几种模型预测的精度不是很高,于 ...
- 用matlab实现用Bp神经网络对iris数据集进行分类(以及影响分类性能的参数条件)
数据集已上传,结尾链接下载即可!!! 一.实验内容 Iris鸢尾花卉数据集,是一类多重变量分析的数据集.数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性,分别对应花萼长度,花 ...
- 【BP回归预测】基于matlab文化算法优化BP神经网络数据回归预测【含Matlab源码 2124期】
一.文化算法及BP神经网络简介 1 文化粒子群算法原理 本文提出的文化粒子群算法采用文化算法的双层演化结构.[4]算法包含两个进化空间, 一个是由具体个体组成的群体空间;另一个是由在进化过程中获取的经 ...
最新文章
- PyTorch | (1)初识PyTorch
- php400错误的请求,Wordpress中的Ajax返回400错误请求,但不确定如何进一步调试 - WordPress - srcmini...
- 第2章 熟悉Eclipse开发工具---- System.out.println(sum=+(a+b));
- AI Studio 对于波士顿房价的线性回归
- python网课什么平台好-python网课什么平台好
- linux vnc的小黑点和鼠标不同步_vnc连接windows,推荐三款非常好用的vnc连接windows软件...
- Push rejected: Push to origin/master was rejected
- 汇编语言start标号的作用
- [转载] python 中numpy快速去除nan, inf的方法
- python之---Python深入06 Python的内存管理
- 根据分隔符将一个长字符串分割保存到动态数组中
- 正在搜索需要的文件_搜索电脑文件,只需要0.01s
- u盘魔术师装linux,u盘魔术师下载 u盘魔术师v6(USMv6) v6.0.2019.06.18 正式特别版 下载-脚本之家...
- STM8S自学笔记-005 精准延时
- Yocto理论篇 | OpenEmbedded构建系统之BitBake
- (十二):为什么需要一个新的ORM框架
- 宋星:金融行业数字营销的数据破局
- 使用Matlab pcode的风险
- 深度学习入门——利用卷积神经网络训练CIFAR—10数据集
- [linux命令]查找包含指定内容的文件
热门文章
- ai故障风字体_AI教程!3步搞定酷炫故障文字效果
- Java 标准计算器(使用SWT做界面)
- Mac 系统SourceTree 配置VSCode代码对比工具
- 在51CTO学习数通HCNP的经历
- [nssl 1322][jzoj cz 2109] 清兵线 {dp}
- u大师u盘自定义ISO/IMG文件装机教程
- BGLL算法 C++实现
- nv驱动版本linux,完善支持NV显卡Linux驱动275.19正式版,275.19增加了对
- 【转】极品免费网站空间申请:000webhost.com免费1.5G美国空间PHP+MySQL
- 16QAM调制解调和误码率