GRNN神经网络及数据预测MATLAB实现

1. 理论概述

广义回归神经网络CGRNN, Generalized Regression Neural Network)是美国学者DonaidF. Specht 在1991 年提出的,它是径向基神经网络的一种。GRNN 具有很强的非线性映射能力和柔性网络结构以及高度的容错性和鲁棒性,适用于解决非线性问题。GRNN 在逼近能力和学习速度上较RBF 网络有更强的优势,网络最后收敛于样本量积聚较多的优化回归面,并且在样本数据较少时,预测效果也较好。此外,网络还可以处理不稳定的数据。因此,GRNN 在信号过程、结构分析、教育产业、能源、食品科学、控制决策系统、药物设计、金融领域、生物工程等各个领域得到了广泛的应用。

2. 网络结构

GRNN 在结构上与RBF 网络较为相似。它由四层构成,如图8 - 1 所示,分别为输入层
(input layer )、模式层( pattern layer)、求和层( summation l ayer)和输出层( output layer)。

GRNN神经网络及数据预测MATLAB实现_第1张图片

GRNN神经网络及数据预测MATLAB实现_第2张图片

3. 模型建立与仿真

利用神经网络做数据预测时,传统的BP神经网络在数据预测过程中,存在收敛速度较慢,局部极小等缺点,在解决样本量较少,噪声较多的问题是效果不是很好。相比之下,GRNN 在逼近能力、分类能力和学习速度方面具有较强优势, 网络最后收敛于样本量积聚最多的优化回归面,并且在数据缺乏时效果也较好。网络可以处理不稳定的数据, 利用GRNN 建立了货运量预测模型, 并利用历史统计数据对货运量进行预测。

根据货运量影响因素的分析,分别取国内生产总值( GDP)、工业总产值、铁路运输线路长度、复线里程比重、公路运输线路长度、等级公路比重、铁路货车数量和民用载货汽车数量8 项指标因素作为网络输入,以货运总量、铁路货运量和公路货运量3 项指标因素作为网络输出,构建GRNN ,由于训练数据较少,采取交叉验证方法训练GRNN 神经网络,并用循环找出最好 的SPREAD 。(此数据来自于书籍)

GRNN神经网络及数据预测MATLAB实现_第3张图片

由程序运行后的结果中看出, SPREAD 值设置为0. 6时,训练数据的预测较好,误差mse值最小。对于SPREAD的理解,大家可以认为SPREAD 值越小, 网络对样本的逼近性就越强;SPREAD 值越大,网络对样本数据的逼近过程越平滑,但误差也相应增大。

你可能感兴趣的:(matlab,神经网络,机器学习)