Capítulo 2

Redes Neuronales Multicapa Con Aprendizaje Supervisado


2.1.5 Simulaciones en Matlab.

1. Resuelva el siguiente problema de clasificación del perceptrón y su regla de aprendizaje.

Los pares de entrada/salida son:

imagen

En el editor de Matlab teclee el siguiente código que resuelve el problema anterior:

clear;echo on;clc;
%Se definen los vectores de entrada
P = [1 -1 0;
2 2 -1];
%Se define el vector de salida
T = [1 0 0]
% Se inicializa la red con los valores anteriores
[w,b]=initp(P,T);
%Se entrena la red usando la regla de aprendizaje
[w,b,epoch,errors]=trainp(w,b,P,T,-1);
%Evalúa un par de entrada para clasificarlo
a=simup([-1;0],w,b)
echo off

En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa, como sigue:

imagen

La salida del programa (Además del Proceso Descrito en la Ventana de Comandos de Matlab) es una gráfica donde aparecen los patrones de entrada en un plano de dos dimensiones, con la clasificación correspondiente (Frontera de Decisión). Esto se muestra en la Fig. 2.9.

imagen

La frontera de decisión y el vector de pesos y umbral que dan solución al problema dependerá de los valores iniciales que Matlab asigna a y .

2. Perceptrón de cuatro clases

Clasifique el siguiente grupo de vectores de entrada en cuatro clases.

imagen

Para solucionar un problema de 4 clases de entrada, se necesita un perceptrón con al menos dos neuronas, lo que traerá como consecuencia dos vectores de pesos y, por lo tanto, dos fronteras de decisión.

En el editor de Matlab teclee el siguiente código que resuelve el problema anterior:

clear;echo on;clc;

%Se definen los vectores de entrada

P=[1 1 2 2 -1 -2 -1 -2;

   1 2 -1 0 2 1 -1 -2];

 

%Se define los vectores de salida

T = [0 0 0 0 1 1 1 1;

     0 0 1 1 0 0 1 1];

 

% Se inicializa la red con los valores anteriores

[w,b]=initp(P,T)

 

%Se entrena la red usando la regla de aprendizaje

[w,b,epoch,errors]=trainp(w,b,P,T,-1);

 

%Evalúa un par de entrada para clasificarlo

a=simup([1;1],w,b)

 

echo off

En la ventana de comandos de Matlab aparece paso a paso la ejecución del programa, como sigue:

imagen

La salida del programa (además del proceso descrito en la ventana de comandos de Matlab) es una gráfica donde aparecen los patrones de entrada de las cuatro clases, con una marca especial para diferenciar cada una de ellas en un plano de dos dimensiones, con la clasificación correspondiente. Ahora se ve una frontera de decisión en rojo, mientras que la otra es de color azul. Esto se muestra en la Fig. 2.10.

imagen

Las fronteras de decisión al que dan solución al problema dependerá de los valores iniciales que Matlab asigna a W y b.

atras indice adelante