首页 > 编程语言 >基于樽海鞘群算法优化的广义回归神经网络(GRNN)预测

基于樽海鞘群算法优化的广义回归神经网络(GRNN)预测

时间:2024-04-09 21:29:52浏览次数:29  
标签:Xi frac 神经元 神经网络 exp GRNN sigma 海鞘

基于樽海鞘群算法优化的广义回归神经网络(GRNN)预测

文章目录


摘要:本文介绍基于樽海鞘群算法优化的广义神经网络(GRNN)预测,并将其应用于货物量预测

1.GRNN 神经网络概述

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

2.GRNN 的网络结构

GRNN 在结构上与 RBF 网络较为相似。它由四层构成,如图1所示,分别为输入层(input layer)、模式层( pattern layer)、求和层 ( summation layer)和输出层( output layer)。对 应网络输入 X = [ x 1 , x 2 , . . . , x n ] T X = [x_1,x_2,...,x_n]^T X=[x1​,x2​,...,xn​]T,其输出为 Y = [ y 1 , y 2 , . . . , y n ] T Y = [y_1,y_2,...,y_n]^T Y=[y1​,y2​,...,yn​]T 。

在这里插入图片描述

图1 .GRNN网络结构

(1)输入层

输入层神经元的数目等于学习样本中输入向量的维数,各神经元是简单的分布单元,直接将输入变量传递给模式层。

(2)模式层

模式层神经元数目等于学习样本的数目 η ,各神经元对应不 同的样本,模式层神经元传递函数为:
p i = e x p [ − ( X − X i ) T ( X − X i ) 2 σ 2 ] i = 1 , 2 , . . . , n (1) p_i = exp[-\frac{(X-X_i)^T(X-X_i)}{2\sigma^2}] i =1,2,...,n \tag{1} pi​=exp[−2σ2(X−Xi​)T(X−Xi​)​]i=1,2,...,n(1)
神经元 i i i 的输出为输入变量与其对应的样本 X X X 之间 Euclid 距离平方的指数平方 D i 2 = ( X − X i ) T ( X − X i ) D_i^2= (X-X_i)^T(X-X_i ) Di2​=(X−Xi​)T(X−Xi​) 的指数形式 。式中, X X X 为网络输入变量; X i X_i Xi​ 为第 i 个神经元对应的学习样本。

(3)求和层

求和层中使用两种类型神经元进行求和。

一类的计算公式为 ∑ i = 1 n e x p [ − ( X − X i ) T ( X − X i ) 2 σ 2 ] \sum_{i=1}^n exp[-\frac{(X-X_i)^T(X-X_i)}{2\sigma^2}] ∑i=1n​exp[−2σ2(X−Xi​)T(X−Xi​)​],它对所有模式层神经元的输出进行算术求和,其模式层与各神经元的连接权值为1 ,传递函数为:
S D = ∑ i = 1 n P i (2) S_D = \sum_{i=1}^nP_i\tag{2} SD​=i=1∑n​Pi​(2)
另 一类计算公式为 ∑ i = 1 n Y i e x p [ − ( X − X i ) T ( X − X i ) 2 σ 2 ] \sum_{i=1}^nY_i exp[-\frac{(X-X_i)^T(X-X_i)}{2\sigma^2}] ∑i=1n​Yi​exp[−2σ2(X−Xi​)T(X−Xi​)​],它对所有模式层的神经元进行加权求和,模式层中第 i 个神经元与求和层中第 j 个分子求和神经元之间的连接权值为第 i 个输 出样本 Y i Y_i Yi​中的第 j 个元素,传递函数为:
S N j = ∑ i = 1 n y i j P i , j = 1 , 2 , . . . , k (3) S_{Nj} = \sum_{i=1}^n y_{ij}P_i ,j = 1,2,...,k\tag{3} SNj​=i=1∑n​yij​Pi​,j=1,2,...,k(3)
(4)输出层

输出层中的神经元数目等于学习样本中输出向量的维数h ,各神经元将求和层的输出相除 , 神经元 j 的输出对应估计结果Y( X) 的第 j 个元素,即:
y j = S N j S D , j = 1 , 2 , . . . , k (4) y_j = \frac{S_{Nj}}{S_D},j=1,2,...,k \tag{4} yj​=SD​SNj​​,j=1,2,...,k(4)

3.GRNN的理论基础

广义回归神经网络的理论基础是非线性回归分析 , 非独立变量 Y 相对于独立变量x的回归分析实际上是计算具有最大概率值的 y. 设随机变量x和随机变量 y 的联合概率密度函数 为f(x,y),已知 x 的观测值为 X ,则 y 相对于 X 的回归,也即条件均值为:

KaTeX parse error: \tag works only in display equations

Y即为在输入为 X 的条件下,Y 的预测输出 。

应用 Parzen 非参数估计,可由样本数据集 x i , y i i = 1 n {x_i,y_i}_{i=1}^n xi​,yi​i=1n​估算密度函数 f ′ ( X , y ) f'(X,y) f′(X,y)
f ′ ( X , y ) = ∑ i = 1 n e x p [ − ( X − X i ) T ( X − X i ) 2 σ 2 ] e x p [ − ( X − Y i ) 2 2 σ 2 ] / ( n ( 2 π ) p + 1 2 σ p + 1 ) (6) f'(X,y) =\sum_{i=1}^n exp[-\frac{(X-X_i)^T(X-X_i)}{2\sigma^2}]exp[-\frac{(X-Y_i)^2}{2\sigma^2}]/(n(2\pi)^{\frac{p+1}{2}}\sigma^{p+1}) \tag{6} f′(X,y)=i=1∑n​exp[−2σ2(X−Xi​)T(X−Xi​)​]exp[−2σ2(X−Yi​)2​]/(n(2π)2p+1​σp+1)(6)
式中, X i X_i Xi​, Y i Y_i Yi​, 为随机变量 x 和 y 的样本观测值; n n n为样本容量; p p p为随机变量 x x x的维数; σ σ σ为高斯函数的宽度系数,在此称为光滑因子。

用 f ( X , y ) f(X,y) f(X,y)代替 f ( X , y ) f(X,y) f(X,y)代人式,并交换积分与加和的顺序:
Y ( X ) = ∑ i = 1 n e x p [ − ( X − X i ) T ( X − X i ) 2 σ 2 ] ∫ − ∞ ∞ y e x p [ − ( Y − Y i ) 2 / ( 2 σ 2 ) ] d y ∑ i = 1 n e x p [ − ( X − X i ) T ( X − X i ) 2 σ 2 ] ∫ − ∞ ∞ e x p [ − ( Y − Y i ) 2 / ( 2 σ 2 ) ] d y (7) Y(X) = \frac{\sum_{i=1}^n exp[-\frac{(X-X_i)^T(X-X_i)}{2\sigma^2}]\int_{-\infty}^{\infty}yexp[-(Y-Y_i)^2/(2\sigma^2)]dy}{\sum_{i=1}^n exp[-\frac{(X-X_i)^T(X-X_i)}{2\sigma^2}]\int_{-\infty}^{\infty}exp[-(Y-Y_i)^2/(2\sigma^2)]dy}\tag{7} Y(X)=∑i=1n​exp[−2σ2(X−Xi​)T(X−Xi​)​]∫−∞∞​exp[−(Y−Yi​)2/(2σ2)]dy∑i=1n​exp[−2σ2(X−Xi​)T(X−Xi​)​]∫−∞∞​yexp[−(Y−Yi​)2/(2σ2)]dy​(7)
由于 ∫ − ∞ ∞ z e − x 2 d z = 0 \int _{-\infty}^{\infty}ze^{-x^2}dz = 0 ∫−∞∞​ze−x2dz=0,对两个积分进行计算后可得网络的输出Y(X)为:
Y ( X ) = ∑ i = 1 n Y i e x p [ − ( X − X i ) T ( X − X i ) 2 σ 2 ] ∑ i = 1 n e x p [ − ( X − X i ) T ( X − X i ) 2 σ 2 ] (8) Y(X) = \frac{\sum_{i=1}^nY_i exp[-\frac{(X-X_i)^T(X-X_i)}{2\sigma^2}]}{\sum_{i=1}^n exp[-\frac{(X-X_i)^T(X-X_i)}{2\sigma^2}]} \tag{8} Y(X)=∑i=1n​exp[−2σ2(X−Xi​)T(X−Xi​)​]∑i=1n​Yi​exp[−2σ2(X−Xi​)T(X−Xi​)​]​(8)
估计值 Y ( X ) Y(X) Y(X)为所有样本观测值 Y i Y_i Yi​的加权平均,每个观测值 Y i Y_i Yi​的权重因子为相应的样本 X i X_i Xi​与 X X X之间 Euclid 距离平方的指数 . 当光滑因子 σ 非常大的时候 , Y ( X ) Y(X) Y(X)近似于所有样本因变量的均值 。 相反,当光滑因子σ 。趋向于0 的时候, Y ( X ) Y(X) Y(X)和训练样本非常接近,当需预测的点被包含在训练样本集中时,公式求出的因变量的预测值会和样本中对应的因变量非常接近, 而一旦碰到样本中未能包含进去的点,有可能预测效果会非常差 , 这种现象说明网络的泛化能力差。当σ取值适中,求预测值 Y ( X ) Y(X) Y(X)时,所有训练样本的因变量都被考虑了进去,与预测点距离近的样本点对应的因变量被加了更大的权。

4.数据集

数据信息如下:

data.mat 的中包含input数据和output数据

其中input数据维度为:2000*2

其中output数据维度为2000*1

所以RF模型的数据输入维度为2;输出维度为1。

5.樽海鞘群算法优化GRNN

樽海鞘群算法原理请参考:https://blog.csdn.net/u011835903/article/details/107767869

优化参数主要是GRNN的光滑因子 σ \sigma σ参数。是适应度函数设计为:
f i n t e n e s s = M S E [ p r e d i c t ( t r a i n ) ] + M S E [ p r e d i c t ( t e s t ) ] finteness = MSE[predict(train)] + MSE[predict(test)] finteness=MSE[predict(train)]+MSE[predict(test)]
适应度函数选取训练后的MSE误差。MSE误差越小表明预测的数据与原始数据重合度越高。最终优化的输出为,最佳的光滑因子。

6.实验结果

樽海鞘群算法的参数设置如下:

%% 樽海鞘群算法
pop = 20;%种群数量
Max_iteration = 20;%最大迭代次数
lb = 0.01;%下边界
ub = 2;%上边界
dim = 1;%维度
fobj = @(spread) fun(spread,Pn_train,Tn_train,Pn_test,Tn_test);
[Best_pos,Best_score,SSA_curve]=SSA(pop,Max_iteration,lb,ub,dim,fobj); %开始优化

经过樽海鞘群算法优化的结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从MSE 误差曲线可以看出,樽海鞘群优化的GRNN结果更好

7.Matlab代码

标签:Xi,frac,神经元,神经网络,exp,GRNN,sigma,海鞘
From: https://blog.csdn.net/u011835903/article/details/137525682

相关文章

  • 毕业设计:基于卷积神经网络的条形码识别系统 深度学习 人工智能 计算机视觉
    目录 前言设计思路一、课题背景与意义二、算法理论原理2.1卷积神经网络2.2目标检测三、检测的实现3.1数据集3.2实验环境3.3模型训练最后 前言    ......
  • 卷积神经网络python实现的三种方法
    1、介绍TensorFlow、PyTorch和Keras都是流行的深度学习框架,它们都具有成熟的卷积神经网络(CNN)实现。选择哪种框架取决于您的偏好、项目需求以及团队的技术栈。2、特点TensorFlow:TensorFlow是由Google开发的开源深度学习框架,广泛用于生产环境和研究领域。TensorFlow具有丰富的......
  • 深度学习-卷积神经网络--facenet人脸识别--67
    目录1.概述参考链接:人脸识别网络FaceNetfacenet详解1.概述FaceNet是谷歌于[CVPR2015.02](FaceNet:AUnifiedEmbeddingforFaceRecognitionandClustering)发表,提出了一个对识别(这是谁?)、验证(这是用一个人吗?)、聚类(在这些面孔中找到同一个人)等问题的统一解决框架,即它们......
  • 深度学习-卷积神经网络--什么是manifold embedding--66
    目录参考:流形假设(ManifoldHypothesis)在介绍流形学习(Manifoldlearning)之前,首先需要理解一个假设,就是流形假设(ManifoldHypothesis)。这个假设认为,高维数据很多都是低维流形嵌入(embedding)于高维空间当中,比如说三维空间里的各种平面或者曲面,虽然这些平面或者曲面处于三......
  • 【MATLAB源码-第172期】基于matlab的小波变换能量率BP神经网络的机械轴承故障分析以及
    操作环境:MATLAB2022a1、算法描述在现代工业生产中,轴承是最为常见和关键的机械基础部件之一,其性能状态直接影响着整个机械系统的稳定性和可靠性。由于轴承在运行过程中不断承受高负荷和摩擦,故障发生的概率相对较高。轴承故障的早期诊断对于预防严重机械事故、提高生产效率、......
  • 基于BP神经网络的城市空气质量数据预测matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022A 3.算法理论概述3.1BP神经网络结构       一个典型的BP(Backpropagation)神经网络包含输入层、隐藏层和输出层。假设我们有一个三层的BP神经网络,其结构如下: 输入层:有n个节点,代表n种影响空气质量......
  • 神经网络中的超参数调整
    背景        在深度神经网络学习和优化中,超参数调整一项必备技能,通过观察在训练过程中的监测指标如损失loss和准确率来判断当前模型处于什么样的训练状态,及时调整超参数以更科学地训练模型能够提高资源利用率。在本研究中使用了以下超参数,下面将分别介绍并总结了不同......
  • 从零开始的自定义神经网络设计
    目录第一部分:深度学习基础——深度学习简介前言一、深度学习的历史和重要性二、什么是神经网络?三、神经网络的基本组成部分四、基本术语和概念五、深入理解总结第一部分:深度学习基础——深度学习简介前言欢迎来到我们的从零开始的自定义神经网络设计系列!在这......
  • 【MATLAB源码-第170期】基于matlab的BP神经网络股票价格预测GUI界面附带详细文档说明
    操作环境:MATLAB2022a1、算法描述基于BP神经网络的股票价格预测是一种利用人工神经网络中的反向传播(Backpropagation,简称BP)算法来预测股票市场价格变化的技术。这种方法通过模拟人脑的处理方式,尝试捕捉股票市场中的复杂非线性关系,以实现对未来股价的预测。本文将详细介绍BP......
  • 卷积神经网络基础
    卷积神经网络基础卷积神经网络(CNN)应用领域:图像识别、自然语言处理、语音识别等。多用与图像识别和计算机视觉领域与全连接神经网络相比,卷积神经网络进步的地方在于引入了卷积层结构和池化层结构这两层是CNN卷积网络中重要的部分,具有局部连接、权值共享等特点的深层前......