Paso 1: Ordenar la matriz de entrada-salida %Se cargan los datos al espacio de trabajo: >> load -ascii no2.txt %No se utilizan los primeros 10 datos >> no2=no2(11:500,:); %Se definen los datos de entrada: >> x=no2(:,2:8)'; % Las variables de entrada se dividen en 1/2 para entrenar, 1/4 para validar y 1/4 para comprobar >> x_entrenar=x(:,1:245); >> x_validar=x(:,246:369); >> x_prueba=x(:,370:490); %Se define la matriz de salida: >> y=no2(:,1)'; %La cual se normaliza >>[y_norm,parm_norm] = mapminmax(y); % La variable de salida se divide en 1/2 para entrenar, 1/4 para validar y 1/4 para comprobar >> y_norm_ent=y_norm(:,1:245); >> y_norm_val=y_norm(:,246:369); >> y_norm_pru=y_norm(:,370:490); Paso 2: Importar los datos de entrada-salida al nntool % Se ejecuta la GUI nntool >> nntool % Se definen las variables de entrada y salida en la ventana que se presenta después de presionar % Import. Nótese que los datos de salida (target) deben ser normalizados. Ventana principal de nntool | Ventana para leer datos del espacio de trabajo |
Paso 3: Definir la red % En la ventana principal de nntool se presiona el botón New... , donde se definen los parámetros de la % red: Capa 1: 25 neuronas, Capa 2: 17 neuronas, Capa 3: 8 neuronas y Capa 4: 1 neurona (definido % por el % sistema) Se definen las funciones de activación que se utilizarán en cada capa: tansig% Se aplicará el entrenamiento basado en Levenberg-Marquard , con factor de aprendizaje variable % Después de definir los parámetros de la red, se presiona Create | | | | |
Paso 4: Comprobar que los datos se presentarán de forma adecuada a la red % Para comprobar la red se presiona Open... después de seleccionar la red creada en la ventana % principal de nntool. Aparece una nueva ventana donde se presenta un diagrama que describe la % red. En la nueva ventana se oprime el botón Reinitialize Weights, en la que se presenta una matriz % donde las filas son equivalentes al número de variables de entrada y sus dos columnas representan % los intervalos de cada variable. Si se oprime el botón View/Edit Weights, se muestran las condiciones % iniciales de los parámetros que serán adaptados. | | | |
Paso 5: Entrenar la red % Para entrenar la red se selecciona Open... y después Train, definiendo los parámetros de % entrenamiento. Posteriormente se oprime el botón Train Network, tal y como muestran las siguientes % figuras | | | | | |
Paso 6: Simular la red % En la ventana de entrenamiento de la red se presiona Simulate, definiendo las variables de entrada % que se deseen aplicar a la entrada de la red que se ha entrenado previamente. Posteriormente se % exporta la salida de la simulación al espacio de trabajo y se compara con la salida real del sistema >> plot(simula_net) >> hold on >> plot(y_norm_ent,'g') | | | |
Paso 7: Exportar la red al espacio de trabajo % Se exporta la red (net) al espacio de trabajo, conteniendo la información del valor de los pesos Paso 8: Generar un bloque de simulink con la red neuronal multicapas (opcional) % Se puede crear un bloque de simulink con la red, utilizando la función: gensim Referencia: Mathworks: Neural Networks Toolbox GUI. 2007. |