Red neuronal BP optimizada basada en un algoritmo híbrido de salto (aplicación de predicción) - con código

Red neuronal BP optimizada basada en un algoritmo híbrido de salto (aplicación de predicción) - con código


Resumen: Este artículo presenta principalmente cómo optimizar la red neuronal BP con el algoritmo de salto híbrido y aplicarlo a la predicción.

1. Introducción de datos

En este caso, hay 2000 conjuntos de datos, de los cuales 1900 conjuntos se utilizan para entrenamiento y 100 conjuntos para pruebas. La entrada de los datos son datos bidimensionales y la salida prevista son datos unidimensionales.

2. Red neuronal BP de optimización de salto híbrido

2.1 Configuración de parámetros de la red neuronal BP

Los parámetros de la red neuronal son los siguientes:

%% 构造网络结构
%创建神经网络
inputnum = 2;     %inputnum  输入层节点数 2维特征
hiddennum = 10;     %hiddennum  隐含层节点数
outputnum = 1;     %outputnum  隐含层节点数

2.2 Aplicación del algoritmo híbrido Leapfrog

Para conocer el principio del algoritmo de salto híbrido, consulte: https://blog.csdn.net/u011835903/article/details/108294230

Los parámetros del algoritmo de salto híbrido se establecen como:

popsize = 20;%种群数量
Max_iteration = 20;%最大迭代次数
lb = -5;%权值阈值下边界
ub = 5;%权值阈值上边界
%  inputnum * hiddennum + hiddennum*outputnum 为阈值的个数
%  hiddennum + outputnum 为权值的个数
dim =  inputnum * hiddennum + hiddennum*outputnum + hiddennum + outputnum ;%  inputnum * hiddennum + hiddennum*outputnum维度

Cabe señalar aquí que el número de umbral de la red neuronal se calcula de la siguiente manera:

Esta red tiene 2 capas:

El número de umbrales en la primera capa es: 2*10 = 20, es decir, inputnum * hidenum;

El número de pesos en la primera capa es: 10, es decir, hidenum;

El número de umbral de la segunda capa es: 10*1 = 10, es decir, num oculto * numsalida;

El número de pesos en la segunda capa es: 1, es decir, número de salida;

Entonces podemos ver que nuestra dimensión optimizada es: numentrada * numoculta + numoculta*numosalida + numoculta + numsalida = 41;

Configuración del valor de la función Fitness:

En este artículo, la función de aptitud se establece de la siguiente manera:
aptitud = argmin (mse (Error de datos de tren) + mes (Error de datos de prueba)) aptitud = argmin(mse(TrainDataError) + mes(TestDataError))aptitud _ _ _ _=arg min ( m se ( T r ain D a t a E rror ) _ _+m es ( T es t D a t a Error )) donde TrainDataError y TestDataError son
los errores de predicción del conjunto de entrenamiento y del conjunto de prueba respectivamente. mse es encontrar la función de error cuadrático medio, y la función de aptitud muestra que la red que finalmente queremos es una red que puede obtener mejores resultados tanto en el conjunto de prueba como en el conjunto de entrenamiento.

4. Resultados de la prueba:

A partir de la curva de convergencia del algoritmo de salto híbrido, se puede ver que el error general disminuye continuamente, lo que indica que el algoritmo de salto híbrido ha desempeñado un papel optimizado:

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

5. Código Matlab

Supongo que te gusta

Origin blog.csdn.net/u011835903/article/details/132436456
Recomendado
Clasificación