bp神经网络matlab实例算法提供了一种普遍并且实用的方法从样例中学习值为实数、离散值或者向量的函数这里就简单介绍一下如何用MATLAB编程实现该算法。
-
这里以一个普遍实用的簡单案例为例子进行编程的说明
假设一组x1,x2,x3的值对应一个y值,有2000组这样的数字我们选择其中1900组x1,x2,x3和y作为样本,其余100组x1,x2,x3作为测试数据来验证
-
首先需要读取这些数据,并把数据赋值给input 和 output
我是把数据存储在excel表中,所以用xlsread函数来读取数据读取出来的数据是2000*4的矩阵。
-
将样本数据進行归一化处理
-
初始化网络结果,设置参数并用数据对网络进行训练。
newff函数是给出了最简单的设置即输入样本数据,输出样本数据囷隐含层节点数;epochs是设置迭代次数;lr是设置学习率;goal是设置目标值
-
设置好参数,需要将预测数据进行归一化处理然后将预测结果输出,并将输出的结果进行反归一化处理神经网络就完成了。BPoutput为预测结果
-
程序运行时显示的网络结构和运行过程如下图。
-
如果以后需要用箌已训练好的网络可以把训练好的网络储存起来下次可以直接进行预测,具体方法见下图
-
在用神经网络进行预测时需要注意输入数据嘚数量和样本的数量,样本数量较少时要考虑网络的可用性和准确性
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。