MATLAB神经网络简单预测--气体传感器

很多模式或关系不清晰的情况下,比较适合用神经网络。关于神经网络本身,最近发展的很快,应用也越来越广,自行谷歌。
本文使用的为最为流行的前馈神经网络(feed-forward neural network),网络各层使用默认的Sigmoid函数,以气体传感器为例简单介绍下MATLAB神经网络工具箱的使用。
我们有下面的数据原始电压CO_diff和温湿度(Temp和Humi)为神经网络训练输入,对应的标准气体浓度CO_ref为训练目标(target),然后我们用训练后生成的方程去预测未来不同温度湿度条件下,不同CO原始响应电压对应的浓度。


4025027-0af107fc6d0ccd9b.png
1. 复制CO_diff、Temp和Humi三个输入元素到CO_input变量,CO_ref到CO_ref变量,然后转置下,因为MATLAB走的是列。
CO_input = CO_input'
CO_ref =CO_ref'
4025027-b69e986bbe0b5a91.png
2.打开神经网络 拟合工具箱
4025027-3a42985a01f9330e.png
4025027-3c95c894dff31d79.png
3. 选上input和Target
4025027-da8d4d23dc04d359.png
4. 选择训练的样本量,用作validation的样本量和作为最后的自检的样本量,样本少的时候建议training的样本要多一些
4025027-c254cf4ce485bd01.png
5.选择隐藏层的数量,这个可以先默认10,回头误差大相关性不好的时候再过来改,一般来说不要太多,具体看相关文章。
4025027-b1ff86b2fd6aafce.png
6.Train,每次train都会有些许变化的,重点看MSE和R如何,如果保持较好就可以。否则要回到上一步。也可以通过编程来评估,譬如每个隐藏层选择train 100次,然后看好的MSE和R出现的概率。
4025027-a459f2b205730ab8.png
7. 生成函数,用以预测。这里我用的MATLAB Matrix-only Function,点一下即可。上面那个MATLAB Function也是一样的,不过可以做成单独的应用更方便些,里面代码大部分都一样的。
4025027-75f8912e4480ebc4.png
4025027-0a709473a65ebf5d.png
4025027-09054e33a0958a9c.png
改函数名:
4025027-5989aa807fddfa89.png
8. 测试下,按照顺序把下面的CO_diff和Temp,Humi放到CO_test_input这个变量里。然后直接 CO_test_output = ANN_CO(CO_test_input); 即可
4025027-9c15a78e104c0ff2.png
输出如下:
4025027-017c2f242e900d1a.png
5分钟移动平均的趋势图:
4025027-87104a33ac2fc363.png
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值