MATLAB 中BP神经网络算法的实现

BP神经网络算法提供了一种普遍并且实用的方法从样例中学习值为实数、离散值或者向量的函数,这里就简单介绍一下如何用MATLAB编程实现该算法。

操作方法

  • 01

    这里以一个普遍实用的简单案例为例子进行编程的说明。 假设一组x1,x2,x3的值对应一个y值,有2000组这样的数字,我们选择其中1900组x1,x2,x3和y作为样本,其余100组x1,x2,x3作为测试数据来验证。

  • 02

    首先需要读取这些数据,并把数据赋值给input 和 output 。 我是把数据存储在excel表中,所以用xlsread函数来读取数据。读取出来的数据是2000*4的矩阵。

  • 03

    将样本数据进行归一化处理。

  • 04

    初始化网络结果,设置参数,并用数据对网络进行训练。 newff函数是给出了最简单的设置,即输入样本数据,输出样本数据和隐含层节点数;epochs是设置迭代次数;lr是设置学习率;goal是设置目标值。

  • 05

    设置好参数,需要将预测数据进行归一化处理,然后将预测结果输出,并将输出的结果进行反归一化处理,神经网络就完成了。BPoutput为预测结果。

  • 06

    程序运行时显示的网络结构和运行过程如下图。

  • 07

    如果以后需要用到已训练好的网络可以把训练好的网络储存起来,下次可以直接进行预测,具体方法见下图。

(0)

相关推荐

  • matlab中BP神经网络的使用方法和实例

    有时候在使用matlab进行数据分析和计算的时候,想使用BP神经网络算法,怎么使用呢,下面来分享一下方法 操作方法 01 第一步我们首先需要了解BP神经网络是一种多层前馈网络,可以进行学习和存储输入输 ...

  • 使用MATLAB R2012b中的神经网络工具箱进行拟合

    利用MATLAB中提供的神经网络工具箱进行数据拟合.数据是MATLAB软件自身提供的样本数据. 操作方法 01 单击Apps,在搜索框中输入neu,下方出现了所有神经网络工具箱.neural net ...

  • 在matlab中同一个窗口绘制多个曲线

    matlab中绘制二维图形有一个能在同一个坐标下绘制多个图案的功能。 plot(x1,y1,x2,y2....)---------根据向量x1,y1和向量x2.y2......等向量在同一个坐标下绘制 ...

  • matlab中绘制二维图形

    matlab中有时为了看清方程,更加系统的了解方程,常常需要画图表达,那么为了绘制二维图形就需要了解matlab中常用的图形功能,下面介绍一下matlab中的二维图形功能。 plot(x) ----- ...

  • 如何在matlab中绘制层次结构图

    如何在matlab中绘制层次结构图

  • Matlab中怎么更改字体的大小?

    由于Matlab中默认字体的大小可能不适合我们,看上去有点小,看久了有点累,所以将字体的大小调到最适合自己眼睛的大小为宜. 1.打开Matlab软件,找到文件菜单 2.找到Preference选项 3 ...

  • matlab中如何应用regress()函数进行线性回归分析?

    matlab中如何应用regress()函数进行线性回归分析?回归分析是研究一个随机变量与一个或多个普通变量之间的相关系的统计方法.如果做回归分析,有很多软件都已经封装好了的,我们只需直接调用就可以了 ...

  • matlab中分号、冒号、逗号等常用标点符号的功能和用法总结

    在Matlab中,冒号“:”和分号“;”等常用标点符号分别有什么功能?应该怎么使用?接下来小编就给大家分享matlab中分号.冒号.逗号等常用标点符号的功能和用法总结,教你正确使用Matlab中的标点 ...

  • 怎么运用MATLAB中的元胞数组(cell)

    MATLAB是一款商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境.其中,是MATLAB中特有的一种数据类型.很多用户还不太会使用MATLAB中的元胞数组,今 ...