[深度学习实战]Matlab-BP神经网络实战——光谱分析(下)

简介: 笔记

四、进行预测


  保存结果后,我们的工作区中出现了net,output,error(残差)

14.png

现在我们就可以通过函数sim来进行预测,把要预测的10组数据的输入拿进来:

Predict_Y=zeros(10,1);                       % 初始化,提高运行速度
for i=1:10 % 有10行
    Predict_Y(i,1)=sim(net,Predict_X(i,:)'); % 这里注意需要转置
end
% 成功得到预测值

在命令行窗口输入以下命令调用查看输出值Y:

disp(Predict_Y)


五、后记


 关于所使用到的Excel、Matlab技巧和神经网络的相关技巧心得


1、关于快速选取Excel文件中的数据

 Ctrl+方向键:如“Ctrl+↑”是快速到达表格的最顶端。

 取消选择需保证当前位置是空单元格,按下快捷键Ctrl+D。

 Ctrl+Shift+方向键:如“Ctrl+Shift+→”是快速选取这一行的内容,“Ctrl+Shift+↓”是选取右下的内容。


2、将临时变量转换为mat文件保存

 我们知道,如果每次都输出X和Y相当浪费时间,因此我们可以用文件形式保存。在工作区手动右键删除掉不需要的变量后将其保存为mat文件:

15.png



文件会默认保存在当前文件夹下,这时我们用load命令就可以直接导入数据


16.png


3、生成的神经网络的w和b在哪里找?

  还是先对数据进行训练17.png


 这里选择rows的原因是,完整的一行代表一组数据,输入和输出在同一行上18.png

数据集一般占比70%或80%

19.png

训练完成后,进入以上界面。其中,Validation Checks代表泛化性。

 需要注意的是,如果在训练过程中MSE(均方误差)不降反增,Validation Checks就自增1;当默认达到6次时,迭代终止。

 Epoch代表完成训练的次数,这里我们可以看到在第8次就完成了训练。

 当Performance和Gradient不再增加时,就代表完成了训练。


20.png

通过“Performance”我们可以看到:在第4次迭代时MSE最小,此时的MSE为0.70971。

 在这个函数中,我们可以看到b和w。

 由于隐藏层的个数是10,b1的个数就是10。

 由于一共有401个输入,那么IW_1的个数就是10*401。


4、如何生成预测值

 第一个方法是之前用过的sim仿真函数。

 第二个方法是使用我们生成的函数,但要注意把第二、三个参数删除(删掉选中部分)。

21.png

 随机生成一组数据验证一下(rand函数生成的值在[0,1]之间,这里只是举个例子):

22.png

 用我们生成的函数也是可以进行预测的。


5、怎么预测多输入多输出问题?

  这里没有很好的数据,所以matlab自带的数据集来做演示:

23.png

在这个数据集中input是14 * 4208,output是3 * 4208。即3个输出,14个输入,一共有4208组;这时完整的一列代表一组数据,所以选择matrixcolumn

24.png

因为工作区已经有我们刚刚生成的net,所以这里生成的是net1。

25.png

我们再随机生成一组数据来预测。由于这里B的列数等于输入向量的个数,因此无需再转置,最后得到的结果如ans所示:

26.png27.png

B=rand(14,5);是5组数据的意思,每组数据14个输入,返回5组3个输出值


6、资源获取(项目相关代码和光谱分析数据表格xlsx)

  项目相关代码和光谱分析数据表格xlsx如有需要,可私信我免费分享。希望这篇博文能帮助到你!

相关文章
|
26天前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
27天前
|
监控 Linux 测试技术
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
🌟 蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕C++与零拷贝网络编程,从sendfile到DPDK,实战优化服务器性能,毫秒级响应、CPU降60%。分享架构思维,共探代码星辰大海!
|
1月前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
25天前
|
数据采集 监控 网络安全
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
317 3
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
|
1月前
|
数据采集 算法 前端开发
MATLAB|基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]
MATLAB|基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]
114 2
|
27天前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
28天前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
110 2
|
1月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
305 11
|
1月前
|
机器学习/深度学习 算法 决策智能
MATLAB中双馈发电机与无刷双馈发电机低电压穿越的异同分析
MATLAB中双馈发电机与无刷双馈发电机低电压穿越的异同分析
|
1月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)

热门文章

最新文章