PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes...

14
PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas 25-03-08 ________________________________________________________________________ PRÁCTICA 1 Analiza la evolución de la red recurrente binaria cuya matriz de pesos sinápticos viene dada en la figura 1(a) y sus valores umbrales son todos iguales a uno. 0 0.0582 -0.4839 0.1267 -0.5362 0.0582 0 -0.9408 0.2464 -1.0426 -0.4839 -0.9408 0 -2.0496 8.6721 0.1267 0.2464 -2.0496 0 -2.2713 -0.5362 -1.0426 8.6721 -2.2713 0 (a) (b) Figura 1. a) Matriz de pesos sinápticos. b) Imagen de la matriz. Explica por qué una solución óptima debe ser la representada en la figura 2 en términos del consenso de los estados de las neuronas según los valores de los pesos sinápticos de las conexiones. Figura 2. Solución óptima. PRÁCTICA 2 Construye una red recurrente y binaria de 100 unidades de proceso (neuronas), cuyos pesos sinápticos y umbrales sean números aleatorios del intervalo [-1,1], siguiendo una dinámica de computación secuencial (asíncrona) con elección aleatoria de las neuronas (figura 3). Analiza el comportamiento de la función de energía conforme aumenta el número de actualizaciones (figura 4). ¿Cuántos ciclos (épocas) de actualizaciones neuronales han sido necesarios para la estabilización de la red? Interpreta la configuración final de la red según los valores de los pesos sinápticos (figura 5). Figura 3. Mapa de los pesos sinápticos. Figura 4. Evolución de la energía computacional. Figura 5. Una configuración final para 100 neuronas. PRÁCTICA 3 Construye una red recurrente y binaria de 100 unidades de proceso (neuronas), cuyos pesos sinápticos y umbrales sean números aleatorios del intervalo [-1,1], siguiendo una dinámica de computación paralela (sincronizada). Analiza el comportamiento de la función de energía conforme aumenta el número de actualizaciones (figura 6). ¿Se estabiliza la red? Figura 6. Evolución de la energía computacional.

Transcript of PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes...

Page 1: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas 25-03-08

________________________________________________________________________ PRÁCTICA 1 Analiza la evolución de la red recurrente binaria cuya matriz de pesos sinápticos viene dada en la figura 1(a) y sus valores umbrales son todos iguales a uno.

0 0.0582 -0.4839 0.1267 -0.5362 0.0582 0 -0.9408 0.2464 -1.0426 -0.4839 -0.9408 0 -2.0496 8.6721 0.1267 0.2464 -2.0496 0 -2.2713 -0.5362 -1.0426 8.6721 -2.2713 0

(a) (b) Figura 1. a) Matriz de pesos sinápticos. b) Imagen de la matriz. Explica por qué una solución óptima debe ser la representada en la figura 2 en términos del consenso de los estados de las neuronas según los valores de los pesos sinápticos de las conexiones.

Figura 2. Solución óptima. PRÁCTICA 2 Construye una red recurrente y binaria de 100 unidades de proceso (neuronas), cuyos pesos sinápticos y umbrales sean números aleatorios del intervalo [-1,1], siguiendo una dinámica de computación secuencial (asíncrona) con elección aleatoria de las neuronas (figura 3). Analiza el comportamiento de la función de energía conforme aumenta el número de actualizaciones (figura 4). ¿Cuántos ciclos (épocas) de actualizaciones neuronales han sido necesarios para la estabilización de la red? Interpreta la configuración final de la red según los valores de los pesos sinápticos (figura 5).

Figura 3. Mapa de los pesos sinápticos. Figura 4. Evolución de la energía computacional.

Figura 5. Una configuración final para 100 neuronas.

PRÁCTICA 3 Construye una red recurrente y binaria de 100 unidades de proceso (neuronas), cuyos pesos sinápticos y umbrales sean números aleatorios del intervalo [-1,1], siguiendo una dinámica de computación paralela (sincronizada). Analiza el comportamiento de la función de energía conforme aumenta el número de actualizaciones (figura 6). ¿Se estabiliza la red?

Figura 6. Evolución de la energía computacional.

Page 2: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

Redes Recurrentes y Autónomas 25-03-08 ________________________________________________________________________ PRÁCTICA 4 Diseña una red de Hopfield que determine el menor de 100 números, 1 2 100, ,...,x x x , generados aleatoriamente en el intervalo [0, 1]. Comprueba que los parámetros de la red pueden son: 2 , ijw i jλ= − ≠ ,

siendo λ el parámetro de penalización, w 0,ii = i ixθ λ= − , i, j=1,2,…,100. ¿Determina siempre la red el valor menor (mínimo global)? ¿Por qué? ¿Cómo actualizarías las unidades de proceso para conseguir que la red siempre alcance el valor mínimo? PRÁCTICA 5 Se considera el siguiente Problema de localización: Dado un grafo con N vértices (puntos de demanda), se trata de determinar el vértice (centro de servicio) que minimiza la suma total de las distancias a cada uno de los vértices del grafo. Diseña una red de Hopfield para encontrar dicho vértice (llamado mediana del grafo). ¿Se puede utilizar la red anterior? PRÁCTICA 6 Problema de video-vigilancia (cobertura): Una zona céntrica de una ciudad se representa por un grafo en el que los cruces de calles constituyen sus vértices y las aristas son los tramos de calle entre dos cruces. Se desea seleccionar el conjunto de vértices de menor tamaño que garantice que cualquier arista del grafo incide sobre algún vértice de dicho conjunto. Diseña una red de Hopfield binaria para el grafo que viene en la figura 7 junto a su matriz de adyacencia.

0 1 0 1 0 0 0 0 0 0 0 0 01 0 1 0 0 1 0 0 0 0 0 0 00 1 0 0 0 0 1 0 0 0 0 0 01 0 0 0 1 0 0 1 0 0 0 0 00 0 0 1 0 1 0 0 1 0 0 0 00 1 0 0 1 0 1 0 0 1 0 0 00 0 1 0 0 1 0 0 0 0 1 0 00 0 0 1 0 0 0 0 1 0 0 1 00 0 0 0 1 0 0 1 0 1 0 1 00 0 0 0 0 1 0 0 1 0 1 0 10 0 0 0 0 0 1 0 0 1 0 0 10 0 0 0 0 0 0 1 1 0 0 0 10 0 0 0 0 0 0 0 0 1 1 1 0

⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝ ⎠

⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟

13 11 12 10 7 9 6 3 8 5 4 2 1

Figura 7. Grafo y su matriz de adyacencia.

Comprueba que los parámetros de la red pueden son: 2 , ij ijw a i jλ= − ∀ ≠ , siendo λ el parámetro de penalización y aij el elemento (i,j) de la matriz de adyacencia del grafo, 0,iiw =

1 2 , , 1,2,...,i in i j Nθ λ= − = . PRÁCTICA 7 Diseño de un convertidor analógico-digital: Se trata de convertir (aproximar) cualquier valor de una señal

analógica (continua) z(t)∈ [0, 255] en la representación binaria de 8 bits, , con x7

0

ˆ( ) 2ii

i

z t x=

= ∑ i ∈ {0,1},

i=0,1,2,…,7, que mejor aproxima a z(t). Por lo tanto, el objetivo es minimizar el error de representación que viene dado por la expresión:

27

0( ) 2i

ii

E t z x=

⎛ ⎞= −⎜ ⎟⎝ ⎠

Diseña una red de Hopfield para encontrar los valores 0 1 7, ,...,x x x que conduce a la mejor aproximación de z(t).

Page 3: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente
Page 4: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

Modelos Computacionales -- Ejercicio 1: Modelo discreto de Hopfield

1) Usar un modelo de Hopfield discreto, neuronas bipolares [+1,-1] con umbrales iguales a cero, para almacenar los dos patrones siguientes: P1= [+1, +1, -1] P2= [+1, -1, -1]

2) Para cada uno de los 8 posibles patrones del sistema, abajo indicados, calcular el estado siguiente al actualizar el sistema utilizando una dinámica sincrónica (todas las neuronas son actualizadas simultáneamente). T1: [-1, -1, -1] T5: [+1, -1, -1] T2: [-1, -1, +1] T6: [+1, -1, +1] T3: [-1, +1, -1] T7: [+1, +1, -1] T4: [-1, +1, +1] T8: [+1, +1, +1] 3) En función de lo obtenido en el punto anterior clasificar los estados en una de las siguientes categorías: a) estables. b) perteneciente a la cuenca de atracción de un patrón almacenado. c) estado espurio. d) oscilatorio. 4) ¿Es la red capaz de almacenar correctamente los patrones P1 y P2 ? 5) Usando una dinámica de actualización secuencial, con orden de actualización de neuronas A B C, recalcular los puntos 2, 3 y 4. 6) Hacer un diagrama de energía de los patrones e indicar las transiciones posibles entre estados para el caso de la dinámica secuencial.

Wac wab

wbc

Usar la regla de Hebb para calcular la matriz de pesos sinápticos, Wij. (usar autoconexiones iguales a 0)

Page 5: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIOEl Perceptrón simple: neuronas binarias 22-04-2008

________________________________________________________________________

PRÁCTICA 1 Construcción de una neurona binaria

Se va a construir una red neuronal con una única neurona que tiene una función paso (escalón), comofunción de transferencia, y dos sensores de entrada. Sus entradas van a ser números reales del intervalo [ 5,5]:

net=newp([-5 5;-5 5],1,’hardlim’) % ([Matriz de valores mínimos y máximos de las entradas], Número de neuronas, Función de transferencia)

Su matriz de pesos sinápticos va ser W=[2 -1] y el umbral b=1.5:

net.IW{1,1}=[2 -1]; net.b{1}=1.5;

Valores de salida de la neurona lineal para cada una de las entradas del conjunto1 2 3 1

,3 2 4 3

C :

P=[1 -2 3 -1; 3 2 -4 -3]; S=sim(net,P);SOLUCIÓN:________________________________________________________________________________

Función que define la neurona binaria: 1 2

1 2

1 si 2 1.50 si 2 1.5

x xy

x xSalidas de la red para cada uno de las entradas del conjunto C:

1 2 3 11; 0; 1 1

3 2 4 3________________________________________________________________________________

Page 6: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

PRÁCTICA 2 Construcción de una neurona bipolar

Se va a construir una red neuronal con una única neurona que tiene la función signo, como función detransferencia, y dos sensores de entrada. Sus entradas van a ser números reales del intervalo [ 5,5]:

net=newp([-5 5;-5 5],1,’hardlims’) % ([Matriz de valores mínimos y máximos de las entradas], Número de neuronas, Función de transferencia)

Su matriz de pesos sinápticos va ser W=[2 -1] y el umbral b=1.5:

net.IW{1,1}=[2 -1]; net.b{1}=1.5;

Valores de salida de la neurona lineal para cada una de las entradas del conjunto1 2 3 1

,3 2 4 3

C :

P=[1 -2 3 -1; 3 2 -4 -3]; S=sim(net,P)

SOLUCIÓN:________________________________________________________________________________

Función que define la neurona bipolar: 1 2

1 2

1 si 2 1.51 si 2 1.5

x xy

x xSalidas de la red para cada uno de las entradas del conjunto C:

1 2 3 11; 1; 1 1

3 2 4 3________________________________________________________________________________

Page 7: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

PRÁCTICA 3 Aprendizaje con el Perceptrón: Implementación de la Función lógica ORSe va diseña un perceptrón simple que implemente la función lógica “OR” con dos entradas y una única neurona de salida.

El conjunto de los 4 patrones de entrada (bidimensionales) viene dado la matriz1 1 0 01 0 1 0

P y sus correspondientes salidas deseadas vienen dadas por el vector

1 1 1 0 T .

Construcción de la red inicial como un objeto estructurado:

net = newp([0,1;0 1], 1,’hardlim’,’learnp’); % No es necesario especificar %'hardlim','learnp', las toma por defecto % newp([matriz de valores mínimos y máximos de las entradas], Número de neuronas, ‘Función %de Transferencia’, ‘Regla de Aprendizaje)

Valores iniciales aleatorios de los pesos y del umbral de la red

net.IW{1,1}=[rands(1) rands(1)]; % También puede ser net=init(net);net.b{1}=rands(1);

Entrenamiento de la red:

net.trainParam.epochs = 20; % Número máximo de épocasnet.trainParam.goal = 0; % Error admisible

[net, tr, Y, E]= train(net, P, T)

Salidas Y de la red para las entradas P y el error E cometido :

S= sim(net, P)

Presentación de los parámetros de la red

net.IW{1} % se presentan los pesos sinápticos de la rednet.b{1} % se presenta el sesgo de la redmae(S-T) % se presenta el error absoluto medio. ‘mse’ nos da el error cuadrático medio

SOLUCIÓN:________________________________________________________________________________

0.81x2

x1

y

1.35

- 0.52

1 2

1 2

1 si 1.35 0.81 0.520 si 1.35 0.81 0.52

x xy

x x

Figura 8. Patrones y recta de separación Figura 9. Función implementada (OR)________________________________________________________________________________

Page 8: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

PRÁCTICA 4 Aprendizaje con el Perceptrón: Clasificación con datos de huracanesSe dispone de un conjunto de datos correspondientes a la longitud y latitud de 37 puntos geográficos, juntocon el tipo de huracán que han padecido (baroclínico o tropical del Atlántico Norte). Se va a diseñar unperceptrón con dos entradas y una neurona de salida para predecir el tipo de huracán según la longitud y latitud de un punto geográfico.

Conjunto de patrones de entrenamientoload huracanes

Creación del Perceptrón de dos sensores de entrada y una neurona de salida.

net = newp(minmax(P),1,'hardlim','learnp'); %minmax(P) nos da el valor mínimo y el valor máximo de cada fila de P

net = init(net); % Valores aleatorios iniciales de los parámetros

Entrenamiento de la red

net.trainParam.epochs = 20; % Número máximo de épocas de entrenamientonet.trainParam.show = 5; % Se muestra resultado cada 5 épocasnet.trainParam.goal = 0.1; % Error admisiblenet.trainFcn='trainc'; % Entrenamiento on line. También puede ser en lotes: 'trainb'

net = train(net,P,T);

Salidas de la red cuando las entradas corresponde al conjunto deentrenamiento

S= sim(net,P)

Valores después del entrenamiento de los pesos sinápticos, del umbral y del error absoluto medio por neurona

net.IW{1} % se presentan los pesos sinápticos de la rednet.b{1} % se presenta el sesgo de la redmae(S-T) % se presenta el error absoluto medio. ‘mse’ nos da el error cuadrático medio

SOLUCIÓN:________________________________________________________________________________

1 2

1 2

1 si 36 32 10 si 36 32 1

x xx x

y

-32x2

x1

y36

- Fig. 10 Evolución del error (mse) Fig. 11. Recta de separación

Figura 12. Clasificador neuronal

Error absoluto medio = 0.4865 (inaceptable). Los datos no son linealmente separables.________________________________________________________________________________

Page 9: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

PRÁCTICA 5 Aprendizaje con el Perceptrón: Predicción de la diabetes (datos Pima)Se trata de decidir si una persona tiene diabetes a partir de 7 datos personales. Para ello se dispone de lassiguientes características de 200 mujeres indias mayores de 21 años que vivían cerca de Phoenix (Arizona)con el fin de estudiar la diabetes de acuerdo a los criterios de la Organización Mundial de la Salud: Nº deembarazos, concentración de glucosa en plasma, presión sanguínea diastólica, insulina, índice de masacorporal, función de antecedentes familiares diabéticos, edad y tipo (diabética o no). Se va a diseñar unPerceptrón simple con el fin de diagnosticar, según estas características, si una mujer es, o no, diabética.

Cargas los datosload pima

Creación del perceptrón con siete sensores de entrada y una salida:net = newp([minmax(P)], 1,'hardlim','learnp')

Inicializar la red:net=init(net);

Especificación de parámetros de entrenamiento:net.trainFcn='trainc'; % Entrenamiento en línea. También puede poner

% por lotes: 'trainb’net.trainParam.epochs=50; % Número total de épocas de entrenamientonet.trainParam.goal=0.10; % Error máximo que se pretende alcanzarnet.trainParam.show=10; % Frecuencia de presentación de los gráficos

Entrenamiento de la red: [net, tr,Y,E]= train(net, P, T);

Salidas Y de la red para las entradas P y error E cometido:Y= sim(net, P);train_error=mae(Y-T);

El mejor tiempo para parar de entrenar:[mim_perf,min_epoch]=min(tr.perf)

Presentación de los parámetros de la rednet.IW{1}net.b{1}mae(Y-T)

SOLUCIÓN:________________________________________________________________________________

1 2 3 4 5 6 7

1 2 3 4 5 6 7

1 si 842 78 467 434 201.4 187 211 1820 si 842 78 467 434 201.4 187 211 182

x x x x x x xx x x x x x x

y

Clasificador Neuronal

Fig. 13. Evolución del error (eam) Fig. 14. Datos Proyectados

Error absoluto medio = 0.30 (inaceptable). Lo datos no son separables linealmente.________________________________________________________________________________

Page 10: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

Modelos Computacionales -- Gestión B - Ejercicio de Laboratorio P4 -- 13/05/08

Utilizando los datos del problema de predicción de diabetes (datos Pima, usados en el ejercicio 3 ) analizar la capacidad de generalización de redes neuronales multicapa utilizando un número variable de neuronas en la capa oculta (por ejemplo, 5, 10,15 y 20 neuronas).

Utilice un 60% de los datos como datos de entrenamiento, 20% como conjunto de validación para ajustar los parámetros (tasa de aprendizaje, número de iteraciones, algoritmo de aprendizaje, diferente normalización inicial de los datos, etc.) y el 20% restante para medir la capacidad de generalización.

Describa el procedimiento utilizado en detalle y comente los comportamientos obtenidos con los diferentes parámetros.

Page 11: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

Redes Neuronales Autoorganizadas 27-05-2008________________________________________________________________________

PRÁCTICA 1 Redes neuronales competitivas no supervisadas: Formación de gruposSe va a diseñar una red neuronal competitiva para agrupar 38 virus en 4 clases de acuerdo al parecido quesegún 18 características de los mismos, de manera que los patrones dentro de cada clase sean lo mássimilares posible entre sí y se va a determinar el patrón prototipo de cada clase.

Carga de datosload virus

Creación de una red neuronal competitiva

net=newc([minmax(p)],4);

Entrenamiento de la red net.trainParam.epochs = 500 ; net = train(net,p);

Simulación de las salidas de las redS=sim(net,p); % asigna cada patrón de entrada a su grupoc=vec2ind(S); % vector de las neuronas activadas para cada patrón

Pesos sinápticos de la red:w=net.IW{1}b=net.b{1}

SOLUCIÓN:______________________________________________________________________________________

La red está constituida por 18 sensores de entrada y 4 neuronas de salida. Después del proceso deentrenamiento no supervisado, basado en las 18 características de los 38 virus utilizados, se obtiene comosalida de la red para cada virus el grupo al que este pertenece, que viene especificado por la neurona desalida que se ha activado. Las neuronas de salida activadas para cada uno de los 38 virus ha sido,respectivamente,

4 2 3 3 1 1 2 4 2 2 4 4 2 3 3 3 3 3 3 2 2 3 2 2 4 4 4 3 3 3 3 1 1 1 1 1 1 1

Fig. 35. Representación de los datos de virus en sus dos primeras componentes principales______________________________________________________________________________________ver democ1

Page 12: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

PRÁCTICA 2 Redes neuronales Autoorganizadas: Representación espacial de datosLos datos IRIS constan de 4 características de hojas de lirios (ancho y largo de sus pétalos y sépalos)correspondientes a tres variedades de lirios: virginia, setosa y versicolor. Corresponden a 50 hojas de cadavariedad. Se va a diseñar una red autoorganizada que permita asociar cada hoja a una neurona (punto)colocada sobre una cuadrícula de manera que las hojas más parecidas estén representadas por neuronaspróximas en la rejilla.

Carga de datosload iris

Creación de una red autoorganizadanet = newsom([minmax(p)],[4 4],'gridtop','dist',0.9,200,0.1,1);

% crea una SOM sobre una cuadrícula [4 4] con forma 'griptop', ‘hextop’ o %‘randtop’; distancia ('dist', 'linkdist','mandist'); tasa de aprendizaje % en la fase de ordenación; Nº de épocas fase de ordenación; tasa de % aprendizaje fase de ajuste; distancia de vecindad fase de ajuste

Entrenamiento de la red % net.trainParam.epochs = 400 ; % net.trainParam.order_steps = 200 ;% net.trainParam.show = 50 ;% net.trainParam.tune_nd=1; % Distancia de vecindad en la fase de ajuste% net.trainParam.order_lr=0.9; % Tasa de aprendizaje en la fase de ordenación % net.trainParam.tune_lr=0.1; % Tasa de aprendizaje en la fase de ajustenet = train(net,p);

Pesos y Gráfico de la red entrenadaw = net.iw{1,1}; d = net.layers{1}.distances; % w= pesos y d = distancias entre neuronasplotsom(w,d)

Simulación de las salidas de las redS=sim(net,p); % asigna cada patrón de entrada a una neuronac=vec2ind(S); % vector de las neuronas activadas para cada patrón

SOLUCIÓN:______________________________________________________________________________________

Se utiliza una cuadrícula 3 2 como espacio neuronal. Así, la red autoorganizada está constituida por 6neuronas de salida y 4 sensores de entrada. Después del proceso de entrenamiento no supervisado seobtienen los pesos sinápticos de la red. Las 50 primeras hojas (virginia) las asigna a la neurona 5; las 50siguientes (setosa) las asigna mayoritariamente (26) a la neurona 4 (13 a la 2 y 11 a la 3). Las 50 últimashojas (versicolor) las asigna mayoritariamente (35) a la neurona 1 (14 a la 2 y sólo 1 a la 4). Así, lasneuronas 3 y 4 recogen 37 hojas de de la variedad setosa. La neurona 2 recoge 13 hojas de la variedadsetosa y 14 de la variedad versicolor (zona de solapamiento). A continuación se muestran los resultadosgráficos para una cuadrícula 3 2 y 4 4:

5 6

3 4

1 2

A

B B

C BC

13 14 15 15

9 10 11 12

5 6 7 8

1 2 3 4

C B A

C C

C BC B

C B B

A

A

B

Fig. 36. Topología del espacio neuronal y representación gráfica de las neuronas según sus pesos______________________________________________________________________________________

Page 13: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

PRÁCTICA 3 Redes neuronales Autoorganizadas: Representación de datos sobre curvasSe van a proyectar puntos aleatorios del plano sobre una curva de manera que se conserve, dentro de lo posible, la topología espacial. Es decir, que puntos próximos en el espacio tengan también próximas susproyecciones.

Carga de datosx=rand(1,20);y=rand(1,20);plot(x,y,'ok')

Creación de una red autoorganizadanet = newsom([minmax(p)],[4 4],'hextop','dist',0.9,200,0.1,1);

% crea una SOM sobre una cuadrícula [4 4] con forma 'griptop', ‘hextop’ o %‘randtop’; distancia ('dist', 'linkdist','mandist'); tasa de aprendizaje % en la fase de ordenación; Nº de épocas fase de ordenación; tasa de % aprendizaje fase de ajuste; distancia de vecindad fase de ajuste

Entrenamiento de la red % net.trainParam.epochs = 400 ; % net.trainParam.order_steps = 200 ;% net.trainParam.show = 50 ;% net.trainParam.tune_nd=1; % Distancia de vecindad en la fase de ajuste% net.trainParam.order_lr=0.9; % Tasa de aprendizaje en la fase de ordenación % net.trainParam.tune_lr=0.1; % Tasa de aprendizaje en la fase de ajustenet = train(net,p);

Pesos y Gráfico de la red entrenadaw = net.iw{1,1}; d = net.layers{1}.distances; % w= pesos y d = distancias entre neuronasplotsom(w,d)

Simulación de las salidas de las redS=sim(net,p); % asigna cada patrón de entrada a una neuronac=vec2ind(S); % vector de las neuronas activadas para cada patrón

SOLUCIÓN:______________________________________________________________________________________

Se ha utilizado una rejilla lineal 1 20 como espacio neuronal. Así, la red autoorganizada está constituida por20 neuronas de salida y 2 sensores de entrada. Después del proceso de entrenamiento no supervisado se obtienen los pesos sinápticos de la red que se representan por puntos rojos en la gráfica siguiente. Los puntos aleatorios (patrones) se representan por el símbolo ‘ ’. La forma que adopta la curva generada por las neuronas nos da idea de cómo ha quedadon colocados los puntos aleatorios sobre el cuadrado unidad.Cada punto generado (patrón) es asignado (proyectado) por la red a la neurona más próxima. Con la curvagenerada se intenta conservar la topología de los puntos en R2.

Fig. 37. Representación gráfica de las neuronas según sus pesos sinápticos ______________________________________________________________________________________

Page 14: PRÁCTICAS DE LABORATORIO Redes Recurrentes y Autónomas ...lfranco/pdf1-modelos.pdf · Redes Recurrentes y Autónomas 25-03-08 _____ PRÁCTICA 1 Analiza la evolución de la red recurrente

PRÁCTICAS DE LABORATORIO

PRÁCTICA 4 Redes neuronales competitivas no supervisadas: ClasificaciónSe va construir una red neuronal competitiva con aprendizaje supervisado para predecir si una persona esdiabética a partir de 7 características personales (datos Pima).

Carga de datosload pima % Pasamos las salidas deseadas de 1 y 0 a 1 y 2;for i=1:200if T(i)==0,

T(i)=2;end

end

T=ind2vec(T); % Transformamos los índices en vecotres% salidas = full(T); %para ver los vectores en forma normal

Creación de una red red competitiva con aprendizaje supervisado (LVQ)net=newlvq([minmax(P)],60,[.34 .66],0.1,'learnlv1'); %Neuronas ocultas, % poercentaje de neuronas ocultas asignadas 1ª clase;net.IW{1,1}

Entrenamiento de la red net.trainParam.epochs = 300net = train(net,P,T);

Simulación de las salidas de las red y evaluación del errorS=sim(net,P);Sc=vec2ind(S); %Transforma los vectores en índicesTc=vec2ind(T);error=sum(abs(Tc-Sc)) % Nº de clasificaciones incorrectas

SOLUCIÓN:______________________________________________________________________________________

La red está constituida por 7 sensores de entrada, una capa oculta con 60 neuronas y dos neuronas de salida.Después del proceso de entrenamiento de la red con 200 patrones (68 con diabetes y 132 sin diabetes), la redclasifica incorrectamente a 15 de las no diabéticas y a 16 de las diabéticas.

Fig. 38. Representación gráfica de la evolución del error______________________________________________________________________________________