Está en la página 1de 73

Tipos de red neuronal y sus aplicaciones

sesion3
Esquema del tema :
1. Conceptos de redes neuronales
a)Introducción
b) Modelo de neurona simple
c) Representación MATLAB de la red neuronal
2. Tipos de red neuronal
a) Perceptrones
b) redes lineales
c) Redes de retropropagación
d) Mapas autoorganizados
3. Estudio de caso: predicción de series temporales
Esquema de la sección:
1. Introducción
 Definición de red neuronal
 Perspectiva biológica de la red neuronal.
 Aplicaciones de red neuronal
2. Modelo de neurona simple
 Componentes de la neurona simple
3. Representación MATLAB de la red neuronal
 Modelo de neurona única
 Red neuronal con una sola capa de neuronas.
 Red neuronal con múltiples capas de neuronas.
Definición de red neuronal

Una red neuronal es un conjunto interconectado de simples


Procesar elementos, unidades o nodos, cuya funcionalidad es
basado libremente en la neurona animal.
La capacidad de procesamiento de la red se almacena en las
fuerzas de conexión entre unidades, o pesos, obtenidos por un
proceso de adaptación o aprendizaje de un conjunto de patrones de
entrenamiento ".
La perspectiva biológica de las redes neuronales
Aplicaciones de red neuronal:

 seguro
 Aeroespacial
 Fabricación
 Automotor
 Médico
 Bancarioctividad de tarjeta de crédito
 Gas de petróleo
Comprobación
 Robótica
 Defensa
 Habla
 Electrónica
 Valores
 Entretenimiento
 Telecomunicacione
 Financiero
 Transporte
 Industria
Componentes de la neurona simple

Cuerpo de la
célula
Componentes de la neurona simple
Example:

Si p1= 2.5; p2= 3; w1= 0.5; w2= -0.7; b = 0.3 Asumamos la transferencia la función de la
neurona es rígida, donde
MATLAB ® Representación de el modelo de neurona simple

R = número de elementos de entrada


Capa única de neuronas

Numero de neuronas en la
capa 1

Peso de entrada matriz


para conexión de entrada a
la capa 1
Múltiples capas de neuronas
Capas ocultas
Example:
Red neuronal con 2 capas.

1 capa (capa oculta) consta de 2 neuronas con funciones de transferencia tangente-sigmoidea


(tansig)

2da capa (capa de salida) consiste en 1 neurona con función de transferencia lineal (purelin).
En MATLAB ® notación abreviada, la red neuronal está
representada por el diagrama a continuación.
Esquema de la sección:

1. Perceptrones
 Introducción 4. Mapas autoorganizados
 La arquitectura perceptron  Introducción
 Entrenamiento de perceptrones  Aprendizaje competitivo
 Ejemplos de aplicación  Mapas autoorganizados
 Ejemplos de aplicación
2. Redes lineales
 Introducción
 Arquitectura de redes lineales.
 El algoritmo de aprendizaje de Widrow-Hoff
 Ejemplos de aplicación
3. Redes de backprogation
 Introducción
 Arquitectura de la red de backprogation
 El algoritmo de backprogation
 Algoritmos de entrenamiento
 Pre y postprocesamiento
 Ejemplos de aplicación
Perceptrons
 inventado en 1957 por Frank Rosenblatt en Cornell Aeronautical Laboratorio.

 El perceptrón consiste en una sola capa de neuronas cuya pesos y sesgos


podrían ser entrenados para producir un correcto vector de destino cuando se
presenta con el vector de entrada correspondiente.

 La salida de una sola neurona perceptrónica solo puede estar en una de los
dos estados. Si la suma ponderada de sus entradas excede un cierto umbral,
la neurona se disparará produciendo 1; de lo contrario, la neurona generará 0
o -1, dependiendo de La función de transferencia utilizada.

 El perceptrón solo puede resolver problemas linealmente separables.


Problemas linealmente separables

Si se puede dibujar una línea recta para separar los vectores de entrada en dos
categorías, los vectores de entrada son linealmente separables, como ilustrado en el
diagrama a continuación.

Si es necesario identificar cuatro categorías, necesitamos usar dos neuronas


perceptrónicas.

a) Dos categorías de b) Cuatro categorías de


vectores de entrada vectores de entrada
La neurona perceptrónica
MATLAB ® Representacion de la neurona perceptrón
La arquitectura de Perceptron
Crear un perceptrón: Enfoque de línea de comando

El siguiente ejemplo ilustra cómo crear una entrada única de dos entradas.
perceptrón Los valores de entrada varían de -2 a 2.
% Crear un perceptrón
>> net = newp([-2 2; -2 2], 1);
% Verificación de propiedades y valores de pesos de entrada
>> net.inputWeights{1,1} % properties
>> net.IW{1,1} % values
%Comprobación de propiedades y valores de sesgo

>> net.biases{1} % properties


>> net.b{1} % values

% Tenga en cuenta que los pesos y sesgos iniciales se inicializan a ceros usando "initzero"

>> net.inputWeights{1,1}.initFcn
>> net.biases{1}.initFcn

% Para calcular la salida de perceptrón de los vectores de entrada [p1, P2] use %el
Comando "sim"

>> p = [ [2; 2] [1; -2] [-2; 2] [-1; 1] ]


>> a = sim(net, p)
>> a =
11 1 1
La regla de aprendizaje de Perceptron

Los perceptrones están entrenados en ejemplos de comportamiento deseado, que se


puede resumir en un conjunto de pares de entrada-salida

El objetivo del entrenamiento es reducir el error e, que es el diferencia t - a entre la


salida de perceptrón a y el objetivo vector t.

Esto se hace ajustando los pesos (W) y los sesgos (b) de la red perceptrón según las
siguientes ecuaciones

Donde e=t–a
Entrenamiento de Perceptron

Si la regla de aprendizaje de Perceptron se usa repetidamente para ajustar pesos y


sesgos de acuerdo con el error e, el perceptrón wil eventualmente encuentre valores de
peso y sesgo que resuelvan el problema, dado que el perceptrón puede resolverlo.

Cada recorrido a través de todos los vectores de entrenamiento se llama época.

El proceso que lleva a cabo dicho ciclo de cálculo se llama formación.


Ejemplo:

Podemos entrenar una red Perceptron para clasificar dos grupos de datos, como ilustrado
abajo
Tipos de red neuronal
Procedimientos:
% Cargar los puntos de datos en el espacio de trabajo
>> load data

% Asignar insumos y objetivos de entrenamiento


>> p = points; % inputs
>> t = group; % targets

% Construir un perceptrón de dos entradas y una salida


>> net = newp(minmax(p), 1);

% Entrenar la red perceptrón con entradas de entrenamiento (p) y objetivos (t)


>> net = train(net, p, t)
% Simule la red perceptrón con las mismas entradas nuevamente

>> a = sim(net, p)
>> a =
0 0 1 1 0 1 0 1% correct classification
>> t =
0 0 1 1 0 1 0 1
% Seamos más rapidos al consultar el perceptrón con entradas nunca antes visto

  ∴ El perceptrón clasifica y correctamente


Usando la GUI "nntool"
La GUI "nntool" se puede utilizar para crear y entrenar diferentes tipos de
neuronas red disponible bajo MATLAB ® Caja de herramientas de red neuronal
La GUI se puede invocar escribiendo en la ventana de comandos,

>> nntool
Primero, defina las entradas de entrenamiento haciendo clic en "Importar ...",
seleccione el grupo de La lista de variables.
Asigne un nombre a las entradas e indique que esto La variable debe importarse como entradas.
Defina los objetivos de manera similar.

Cree una nueva red perceptrón haciendo clic en "Nueva red ...", una nueva Aparece la ventana donde
se puede definir la arquitectura de red. Haga clic en "Crear" para crear la red
A continuación, seleccione la pestaña
"Entrenar ..." y configure las Entradas en p y
los Objetivos en t. Haga clic en "Red de
trenes" para comenzar el entrenamiento.
La red completó el entrenamiento en 4 épocas, que son 4 pases completos a través de todas las
entradas de capacitación.

Ahora, podemos probar el rendimiento de la red capacitada haciendo clic en "Simular...".


Establezca las entradas en p.
Ejercicio 1: modelado lógico de la función AND

La función booleana AND tiene la siguiente tabla de verdad:

El problema es linealmente separable, intenta construir una neurona perceptrón


red con siguientes entradas y salida:
Solución: El enfoque de línea de comandos se demuestra aquí.
La GUI "nntool" se puede utilizar alternativamente.

% Definir en MATLAB ® ventana de comando, las entradas de entrenamiento y objetivos


>> p = [0 0 1 1; 0 1 0 1]; % training inputs, p = [p1; p2]
>> t = [0 0 0 1]; % targets

% Crear el perceptrón
>> net = newp([0 1; 0 1], 1);
% Entrenar al perceptrón con p y t
>> net = train(net, p, t);
% Para probar el rendimiento, simule el perceptrón con p
>> a = sim(net, p)
>> a =
0 0 0 1
>> t =
0 0 0 1
Ejercicio 2: clasificación de patrones
Cree un perceptrón que pueda diferenciar entre dos grupos de imágenes:

Insinuación:
Utilice los valores booleanos 1 y 0 para Representa la
imagen. Se muestra el ejemplo para image_1

image_1 = [ 0 1 0
101
101
0 1 0]’;

Cargue los vectores de


entrenamiento en espacio de
trabajo:

>> load train_images


Intente probar el perceptrón entrenado en las siguientes imágenes:

>> cargar test_images

Solución: El enfoque de línea de comandos se demuestra aquí. La


GUI "nntool" se puede utilizar alternativamente.
Solución: El enfoque de línea de comandos se demuestra aquí. La GUI "nntool" se puede
utilizar alternativamente.

% Define at the MATLAB ventana de comando, las entradas de entrenamiento y objetivos


>> cargar train_images
>> p = [img1 img2 img3 img4];
>> t = targets;
% Create the perceptron
>> net = newp(minmax(p), 1);
% Training the perceptron
>> net = train(net, p, t);
% Testing the performance of the trained perceptron
>> a = sim(net, p)
Redes lineales

 las redes lineales son similares al perceptrón, pero su funcion de


transferencia es lineal más que limitante.

 Por lo tanto, la salida de una neurona lineal no está limitada a 0 o 1.

 Similar al perceptrón, la red lineal solo puede resolver linealmente


Problemas separables.

 Las aplicaciones comunes de las redes lineales son lineales. clasificación


y filtrado adaptativo.
La neurona lineal
MATLAB ® Representacion de la neurona lineal
Arquitectura de redes lineales
Crear una red lineal: Enfoque de línea de comando

El siguiente ejemplo ilustra cómo crear un lineal de dos entradas y una salida red a través del enfoque
de línea de comandos. Los valores de entrada varían de -2 a 2.

% Crear una red lineal

>> net = newlin([-2 2; -2 2], 1);

% Verificación de propiedades y valores de pesos de entrada

>> net.inputWeights{1,1} % properties


>> net.IW{1,1} % values
%Comprobación de propiedades y valores de sesgo
>> net.biases{1} % properties
>> net.b{1} % values

% Tenga en cuenta que los pesos y sesgos iniciales se inicializan a ceros usando "initzero"

>> net.inputWeights{1,1}.initFcn
>> net.biases{1}.initFcn

% Para calcular la salida de la red lineal a partir de vectores de entrada [P1, P2] utilizar el comando SIM

>> p = [ [2; 2] [1; -2] [-2; 2] [-1; 1] ]


>> a = sim(net, p)
>> a =
0 0 0 0
El algoritmo de aprendizaje de Widrow-Hoff
 Similar al perceptrón, el algoritmo de Mínimo Cuadrado Medio (LMS), alternativamente
conocido como el algoritmo Widrow-Hoff, es un ejemplo de capacitación supervisada basada en
un conjunto de ejemplos de capacitación.

 El algoritmo LMS ajusta los pesos y sesgos de la lineal. redes para


minimizar el error cuadrático medio (MSE)

 El algoritmo LMS ajusta los pesos y sesgos de acuerdo con ecuaciones


siguientes
Clasificación lineal (tren)

Las redes lineales se pueden entrenar para realizar una clasificación lineal con
el tren de funciones.

La función de tren aplica cada vector de un conjunto de vectores de entrada.


y calcula el peso de la red y los incrementos de sesgo debido a cada una de
las entradas de acuerdo con el LMS (Widrow-Hoff) algoritmo.

La red se ajusta con la suma de todos estos correcciones

Un paso a través de todos los vectores de entrada se llama una época.


Ejemplo: Volvamos a visitar el Ejercicio 2:

Clasificación de patrones de los perceptrones.

Podemos construir una red lineal para realizar no solo la clasificación de patrones sino
también También tareas de asociación.
Solución: El enfoque de línea de comandos se demuestra aquí. La GUI "nntool" se
puede utilizar alternativamente.

% Definir en MATLAB ® ventana de comando, las entradas de entrenamiento y objetivos


>> load train_images
>> p = [img1 img2 img3 img4];
>> t = targets;
% Create the linear network
>> net = newlin(minmax(p), 1);
% Train the linear network
>> net.trainParam.goal = 10e-5; % el entrenamiento se detiene si se logra el objetivo
>> net.trainParam.epochs = 500; % el entrenamiento se detiene si las épocas llegaron
>> net = train(net, p, t);

% Prueba del rendimiento de la red lineal entrenada


>> a = sim(net, p)
>> a =
-0.0136 0.9959 0.0137 1.0030
% Comparación de la salida real de la red, a, con objetivos de entrenamiento, t:

>> a =
-0.0136 0.9959 0.0137 1.0030

>> t =
0 1 0 1

∴ La salida de red real, a, se parece mucho a la del objetivo, t. Es porque la salida de la red lineal no es
directamente 0 o 1, el La salida puede ser un rango de valores.
% Ahora, pruebe la red lineal con 3 imágenes que no se vieron anteriormente
>> load test_images
>> test1 = sim(net, timg1)
>> test1 =
0.2271
>> test2 = sim(net, timg2)
>> test2 =
0.9686
>> test3 = sim(net, timg3)
test3 =
0.8331
¿Cómo debemos interpretar las salidas de red test1, test2 y test3? Para eso
nosotros necesita definir una Medida de similitud, S

Donde t es el grupo objetivo (es decir, 0 o 1) y test es la salida de la red cuando presentado
con imágenes de prueba.

Cuanto más pequeña es la S, más similar es una imagen de prueba a un grupo en particular.

timg1 pertenece al grupo 0 mientras timg2 y


timg3 pertenecen al Grupo 1.

Estos resultados son similares a lo que nosotros


obtenido previamente usando Perceptrón
Mediante el uso de lineal Red tenemos el
agregado ventaja de saber cuán similar es una
imagen de prueba para el objetivo Grupo
pertenecía.
Ejercicio 1: reconocimiento simple de caracteres
Cree una red lineal que diferencie entre una letra "U" y una letra ‘T’.
La letra "U" y "T" están representadas por una matriz de 3 × 3:

>> cargar train_letters

Pruebe la red lineal entrenada con las siguientes imágenes de prueba:

>> cargar test_letters


Solution:

El enfoque de línea de comando se demuestra aquí. La GUI "nntool" se puede utilizar alternativamente.
% Definir en MATLAB ® ventana de comando, las entradas de entrenamiento y objetivos

>> load train_letters


>> p = [T U];
>> t = targets;
% Create the linear network
>> net = newlin(minmax(p), 1);
% Train the linear network
>> net.trainParam.goal = 10e-5; % el entrenamiento se detiene si se logra el objetivo
>> net.trainParam.epochs = 500; %el entrenamiento se detiene si las épocas llegaron
>> net = train(net, p, t);
% Prueba del rendimiento de la red lineal entrenada
>> a = sim(net, p)
>> a =
0.0262 0.9796
% Comparación de la salida real de la red, a, con objetivos de entrenamiento, t:

>> a =
0.0262 0.9796
>> t =
0 1

% Ahora, pruebe la red lineal con formas extrañas de T y U

>> load test_letters


>> test1 = sim(net, T_odd)
>> test1 =
0.2066 % más similar a T
>> test2 = sim(net, U_odd)
>> test2 =
0.8637 % mas similar to U
Redes de retropropagación (BP) (Backpropagation)

 La red de retropropagación se creó generalizando el Regla de aprendizaje de


Widrow-Hoff para redes de múltiples capas y no lineal diferenciable funciones
de transferencia (TF).

 Red de retropropagación con sesgos, una capa TF sigmoidea y un La capa de


salida TF lineal es capaz de aproximar cualquier función.

• Los pesos y sesgos se actualizan usando una variedad de gradientes


algoritmos de descenso. El gradiente se determina propagando el cálculo
hacia atrás desde la capa de salida hasta la primera oculta capa.

 Si se capacita adecuadamente, la red de retropropagación puede generalizar


para producir salidas razonables en entradas que nunca "Visto", siempre y
cuando las nuevas entradas sean similares a la capacitación entradas
Arquitectura de la red BP de Feedforward
MATLAB ® Representacion de la red BP de Feedforward
Funciones de transferencia para redes BP
El algoritmo de retropropagación (Backpropagation)
El algoritmo de retropropagación se utiliza para actualizar los pesos. y sesgos de las redes
neuronales.

Los pesos se actualizan de acuerdo con las siguientes fórmulas:

Para la neurona de salida k,

Para la neurona oculta h,


Entrenamiento de Redes de Backpropagación

Generalmente hay cuatro pasos en el proceso de capacitación:


1. Reúna los datos de entrenamiento;
2. Crear el objeto de red;
3. Entrenar a la red;
4. Simule la respuesta de la red a nuevas entradas.
 El MATLAB ® Neural Network Toolbox implementa algunos de Los
algoritmos de entrenamiento más populares, que abarcan tanto
Descenso en pendiente original y métodos de entrenamiento más
rápidos.
Entrenamiento de descenso de gradiente por lotes

Entrenamiento por lotes: los pesos y sesgos de la red son actualizado solo
después de que se hayan aplicado todos los datos de entrenamiento a la red
 Descenso de gradiente de lote (traingd):
• Original pero el más lento;
• Pesos y sesgos actualizados en la dirección del gradiente negativo (nota:
backprop. algoritmo);
• Seleccionado configurando trainFcn en traingd:
Descenso de gradiente por lotes con impulso

 Descenso de degradado por lotes con impulso (traingdm):

•Convergencia más rápida que traingd;


•Momentum permite que la red responda no solo gradiente local, pero
también a las tendencias recientes en el error superficie;
•Momentum permite que la red ignore las funciones pequeñas en la
superficie de error; sin impulso una red puede obtener atrapado en un
mínimo local poco profundo.
•Seleccionado configurando trainFcn en traingdm:
Entrenamiento más rápido

 Neural Network Toolbox también implementa algunos de los métodos de


entrenamiento más rápidos, en los cuales el entrenamiento puede convergen de
diez a cien veces más rápido que traingd y traingdm.

 Estos algoritmos más rápidos se dividen en dos categorías:

1. Técnicas heurísticas: desarrolladas a partir del análisis de rendimiento del


algoritmo de descenso de gradiente estándar, p.ej. traingda, traingdx y
trainrp.

2. Técnicas de optimización numérica: hacer uso de técnicas de optimización


estándar, p. conjugado gradiente (traincgf, traincgb, traincgp, trainscg),
cuasiNewton (trainbfg, trainoss), y Levenberg-Marquardt (trainlm)
Comparación de algoritmos de entrenamiento
Ejemplo: Modelado de la función lógica XOR

El problema XOR es altamente no lineal, por lo tanto no se puede


resolver usando Perceptrones o Redes Lineales.

En este ejemplo, construiremos un simple red de retropropagación


para resolver este problema.
Solution:

El enfoque de línea de comandos se demuestra aquí. La


GUI "nntool" se puede usar alternativamente

% Definir en MATLAB ® ventana de comando, las entradas de entrenamiento y objetivos


>> p = [0 0 1 1; 0 1 0 1];
>> t = [0 0 0 1];

% Crear la red de retropropagación


>> net = newff(minmax(p), [4 1], {‘logsig’, ‘logsig’}, ‘traingdx’);

% Capacitar a la red de retropropagación


>> net.trainParam.epochs = 500; % el entrenamiento se detiene si las épocas llegaron
>> net.trainParam.show = 1; % trazar la función de rendimiento en cada época
>> net = train(net, p, t);
% Prueba del rendimiento de la red capacitada de retropropagación
>> a = sim(net, p)
>> a =
0.0002 0.0011 0.0001 0.9985
>> t =
0 0 0 1
Mejora de la generalización con parada temprana

La capacidad de generalización se puede mejorar a principios de función de


detención disponible con la caja de herramientas Red neuronal.
En esta técnica, los datos disponibles se dividen en tres subconjuntos:
1. Conjunto de entrenamiento
2. Conjunto de validación
3. Conjunto de prueba
La función de detención temprana se puede invocar cuando se utiliza el comando
de tren:
[net, tr] = train (net, p, t, [ ], [ ], VV, TV)
VV: Estructura del conjunto de validación;
TV: Estructura del set de prueba.
Ejemplo: aproximación de funciones con parada temprana

% Define at the MATLAB command window, the training inputs and targets
>> p = [-1: 0.05: 1];
>> t = sin(2*pi*p) + 0.1*randn(size(p));
% Construct Validation set
>> val.P = [-0.975: 0.05: 0.975]; El conjunto de validación debe estar en forma de estructura
>> val.T = sin(2*pi*val.P) + 0.1*randn(size(val.P));
% Construct Test set (optional)
>> test.P = [-1.025: 0.05: 1.025]; % el conjunto de validación debe estar en forma de estructura
>> test.T = sin(2*pi*test.P) + 0.1*randn(size(test.P));
% Trazar y comparar tres conjuntos de datos
>> plot(p, t), hold on, plot(val.P, val.T,‘r:*’), hold on, plot(test.P, test.T, ‘k:^’);
>> legend(‘train’, ‘validate’, ‘test’);
% Cree una red de retropropagación 1-20-1 con el algoritmo "trainlm"
>> net = newff(minmax(p), [20 1], {‘tansig’, ‘purelin’}, ‘trainlm’);
>> net.trainParam.show = 1;
>> net.trainParam.epochs = 300;
% Primero, entrene la red sin detenerse temprano
>> net = init(net); % initialize the network
>> [net, tr] = train(net, p, t);
>> net1 = net; % red sin parada temprana
%Luego, entrene la red con paradas tempranas con conjuntos de validación y prueba
>> net = init(net);
>> [net, tr] = train(net, p, t, [ ], [ ], val, test);
>> net2 = net; %red con parada temprana
% Pruebe el rendimiento de modelado de net1 y net2 en conjuntos de prueba
>> a1 = sim(net1, test.P); % simulate the response of net1
>> a2 = sim(net2, test.P); % simulate the response of net2
>> figure, plot(test.P, test.T), xlim([-1.03 1.03]), hold on
>> plot(test.P, a1, ‘r’), hold on, plot(test.P, a2, ‘k’);
>> legend(‘Target’, ‘Without Early Stopping’, ‘With Early Stopping’);
∴La red con parada temprana puede adaptarse mejor al conjunto de datos
de prueba con menos discrepancias, por lo tanto, la función de detención
temprana puede ser . Se utiliza para evitar el sobreajuste de la red hacia
los datos de entrenamiento.
Ejercicio 1: predicción de series temporales
Cree una red neuronal que pueda predecir la serie temporal de 24 horas del
día siguiente basado en la serie de tiempo actual de 24 horas.

día actual Día siguiente


La estructura de la red neuronal es la siguiente:
Detalles de la red: Arquitectura:
 red 24-48-24, con tansig TF y purelin TF en oculto y capa de salida respectivamente.
 Entrenamiento: algoritmo trainlm con 7 épocas y trazar la función de rendimiento cada 1 época
Detalles de datos:
 Cargue timeseries.mat en. Sistemas espacio de trabajo
 Datos de entrenamiento (1 S t a 37 días): TrainIp (entradas), TrainTgt (objetivos)
 Datos de prueba (38 th a 40 th días): TestIp (entradas de consulta), TestTgt (valores reales)
Sugerencia: utilice las funciones de procesamiento previo y posterior premnmx, tramnmx, postmnmx
para Tener una formación más eficiente.
Solution:

% Cargar los datos de la serie temporal en MATLAB Workspace


>> load timeseries
% Prepare the data for the network training
>> [PN, minp, maxp, TN, mint, maxt] = premnmx(TrainIp, TrainTgt);
% Create the backpropagation network
>> net = newff(minmax(PN), [48 24], {‘tansig’, ‘purelin’}, ‘trainlm’);
>> net.trainParam.epochs = 7;
>> net.trainParam.show = 1;
% Training the neural network
>> [net, tr] = train(net, PN, TN);
days)
>> PN_Test = tramnmx(TestIp,minp,maxp);
% Prepare the data for testing the network (predicting 38
% Testing the neural network
>> TN_Test = sim(net, PN_Test);
%Convierta el resultado de la prueba en valores de predicción para fines de
%comparación
>> [queryInputs predictOutputs] = postmnmx(PN_Test, minp, maxp, …
TN_Test, mint, maxt);

% Grafica y compara las series de tiempo predichas y reales


>> predictedData = reshape(predictOutputs, 1, 72);
>> actualData = reshape(TestTgt, 1, 72);
>> plot(actualData, ‘-*’), hold on
>> plot(predictOutputs, ‘r:’);

También podría gustarte