Red neuronal BP optimizada según el algoritmo del grupo salp (aplicación de predicción) - con código

Red neuronal BP optimizada según el algoritmo del grupo salp (aplicación de predicción) - con código


Resumen: Este artículo presenta principalmente cómo utilizar el algoritmo del grupo salp para optimizar la red neuronal BP 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 del grupo Salp

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 de enjambre de salpas

Consulte el principio del algoritmo del grupo salp: https://blog.csdn.net/u011835903/article/details/107767869

Los parámetros del algoritmo del enjambre de salpas 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:

Se puede ver en la curva de convergencia del algoritmo del enjambre de salpas que el error general disminuye continuamente, lo que indica que el algoritmo del enjambre de salpas 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í
inserte la descripción de la imagen aquí

5. Código Matlab

Supongo que te gusta

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