首页 > 编程语言 >matlab的基于遗传算法优化bp神经网络多输入多输出预测模型

matlab的基于遗传算法优化bp神经网络多输入多输出预测模型

时间:2023-06-21 19:02:26浏览次数:75  
标签:训练 程序 神经网络 bp matlab 归一化 遗传算法 数据

matlab的基于遗传算法优化bp神经网络多输入多输出预测模型,有代码和EXCEL数据参考,精度还可以,直接运行即可,换数据OK。

原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/632809753171.html

这个程序是一个基于遗传算法优化的BP神经网络多输入两输出模型。下面我将对程序进行详细分析。


首先,程序读取了一个名为“数据.xlsx”的Excel文件,其中包含了输入数据和输出数据。输入数据存储在名为“input”的矩阵中,输出数据存储在名为“output”的矩阵中。


接下来,程序设置了训练数据和预测数据。训练数据包括前1900个样本,存储在名为“input_train”和“output_train”的矩阵中。预测数据包括剩余的样本,存储在名为“input_test”和“output_test”的矩阵中。


然后,程序对输入数据进行了归一化处理,将其归一化到[-1,1]的范围内。归一化后的数据存储在名为“inputn”和“outputn”的矩阵中,归一化的参数存储在名为“inputps”和“outputps”的结构体中。


接下来,程序定义了神经网络的节点个数。输入层节点个数为输入数据的列数,隐含层节点个数为10,输出层节点个数为输出数据的列数。


然后,程序构建了一个BP神经网络模型。模型使用了tansig和purelin两个传递函数,采用梯度下降法进行训练。网络的训练参数包括训练次数、学习速率、训练目标最小误差、显示频率、动量因子、最小性能梯度和最高失败次数。


接下来,程序使用遗传算法求解最佳参数。遗传算法的参数包括进化代数、种群规模、交叉概率和变异概率。程序首先初始化一个种群,然后进行进化操作,包括选择、交叉和变异。每一代种群中的染色体根据其适应度值进行排序,然后根据轮盘赌法选择新个体。选择后的种群经过交叉和变异操作得到下一代种群。最后,程序输出遗传算法的结果,包括适应度曲线和最佳个体的权值和阈值。


最后,程序使用优化后的BP神经网络进行训练和预测。训练数据经过归一化处理后,使用train函数进行训练。然后,程序对测试数据进行归一化处理,并使用sim函数进行预测。预测结果经过反归一化处理后,计算了预测误差,并绘制了预测结果的图形。


这个程序主要是用于解决多输入两输出的问题,应用在神经网络领域。它使用遗传算法优化了BP神经网络的参数,包括权值和阈值,以提高神经网络的性能。程序涉及到的知识点包括神经网络的构建、训练和预测,遗传算法的基本原理和操作。

matlab的基于遗传算法优化bp神经网络多输入多输出预测模型_数据

matlab的基于遗传算法优化bp神经网络多输入多输出预测模型_遗传算法_02

matlab的基于遗传算法优化bp神经网络多输入多输出预测模型_归一化_03

原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/632809753171.html

标签:训练,程序,神经网络,bp,matlab,归一化,遗传算法,数据
From: https://blog.51cto.com/u_14989677/6530611

相关文章