utp ia_2014-2_s10_redes de funciones de base radial

45
Inteligencia Artificial (W0I9) Sesión: 10 MSc. Ing. José C. Benítez P. Redes de Funciones de Base Radial

Upload: jcbpperu

Post on 15-Jul-2015

3.751 views

Category:

Documents


8 download

TRANSCRIPT

Inteligencia Artificial

(W0I9)

Sesión: 10

MSc. Ing. José C. Benítez P.

Redes de Funciones de Base Radial

2

Sesión 10. Redes de Funciones de Base Radial

� Introducción a las RFBR

� Modelo de neurona.

� Fundamentos de las RFBR.

� Arquitectura de las RFBR.

� Funciones de activación de la RFBR.

� Entrenamiento de las RFBR.

� Diseño de una RFBR.

� Aplicaciones de las RFBR.

� RFBR vs MLP

� RFBR en MatLab

3

Introducción a las RFBR

• Desarrolladas por Broomhead y Lowe (1988) y J. Moody y

C. Darken (1989)

• Las redes de función de base radial (RBFN) han sido

tradicionalmente asociados con funciones radiales en una

red de capa simple.

• Para este tipo de redes se crearon procedimientos para

entrenamiento de redes de función de base radial, los

cuales son mucho más rápidos que los métodos usados

para entrenar un perceptron multicapa.

• Emplea más neuronas que la Backpropagation.

• Trabajan mejor con un número mayor de vectores de

entrenamiento.

4

Introducción a las RFBR

• Rápido entrenamiento.

• Aprendizaje híbrido:

• No supervisado (capa de entrada).

• Supervisado (capa de salida)

5

Introducción a las RFBR

• Para la estructura de una red de base radial se requiere de

un procedimiento de entrenamiento de dos etapas:

En la primera etapa:

� Los parámetros dominantes de las funciones base son

determinados de una manera rápida por métodos no

supervisados, es decir, métodos que únicamente usan

datos de entrada y no datos objetivos.

En la segunda etapa:

� Se encuentra implicada la determinación de los pesos de la

capa de salida, con la solución de un problema lineal, la

cual también es de rápido cálculo.

6

Introducción a las RFBR

• Cada nodo de la capa de salida calcula una suma de pesos

de las salidas de los nodos de la capa oculta.

• En este tipo de redes es muy probable que se requiera una

estructura con un mayor número de neuronas, que por

ejemplo, la de backpropagation, pero tendremos una

mayor velocidad en el entrenamiento.

• Se utiliza para resolver problemas de Interpolación: Unir

puntos para lograr una función continua; y para problemas

de aproximación.

• El numero de nodos en la capa de entrada es igual al

numero de variables independientes, y el número de

nodos en la capa de salida es igual al número de variables

dependientes.

7

Introducción a las RFBR

• Tienden a tener buenas propiedades de interpolación.

• Pero no buenas propiedades de extrapolación.

• Para extrapolación un perceptrón multicapas resulta mejor.

8

Modelo de neurona

• Los modelos de redes tratados anteriormente están

basados en unidades (neuronas) que producen a la salida

una función lineal del producto escalar del vector de

entrada y el vector de pesos.

a = F( WP +b)

• Ahora consideraremos una clase dentro de los modelos

de las redes neuronales, en el cual la activación de las

unidades ocultas, esta determinada por la distancia entre

el vector de entrada y el vector de pesos

A = f(dist(W,P)*b)

9

Modelo de neurona

• Una neurona de base radial

recibe como entrada neta el

vector de distancia entre su

vector de pesos w y el vector

de entradas p multiplicado

por el bias b.

• La siguiente figura muestra

gráficamente una función de

base radial.

10

Modelo de neurona

11

Modelo de neurona

Dentro de la arquitectura de la neurona se puede

notar que difiere con las estructuras anteriores

(antes era la suma de las entradas ponderadas).

12

Fundamentos de las RFBR

• En el sistema nervioso de los organismos biológicos se

encuentra la evidencia de neuronas cuyas características de

respuesta son locales o enfocadas para alguna región en el

espacio de entrada.

• Un ejemplo es la sensibilidad de orientación de las células

de la corteza visual, cuya respuesta es sensible a regiones

locales en la retina.

• Esto quiere decir que la activación de las unidades (la

respuesta de las células como son las neuronas o las

terminaciones nerviosas), o grupos de neuronas están

específicamente en una región y cumplen una función

especifica para una región.

13

Arquitectura de las RFBR

14

Arquitectura de las RFBR

• Las RFBR, tiene una estructura feedforward de 3 capas, la

capa de entrada, la oculta y la capa de salida.

• Los nodos de la capa de entrada simplemente propagan

los valores a los nodos de la capa oculta.

• La salida de los nodos de la capa de entrada están

completamente conectados (fully conect) con los nodos

de la capa oculta.

• Una capa oculta de S1 neuronas, con funciones de

transferencia de campana de Gauss.

• La función de activación es una función de base radial.

• Una capa de salida de S2 neuronas, con funciones de

transferencia lineales.

15

Arquitectura de las RFBR

16

Funciones de activación de la RFBR

17

Arquitectura de las RFBR

• Las conexiones entre la capa de entrada y la capa oculta

especifican el conjunto de funciones centro, los cuales son

denotados por Cij.

• Las funciones centro Cij pueden ser fijas antes del

entrenamiento de la red neuronal o leídos durante el

entrenamiento de la red.

• Cada nodo de la capa oculta calcula una distancia medida

entre el vector de entrada X y el vector centro C.

• Esta distancia es denotada por: || X – Cj || ( la distancia

medida normalmente se toma como la norma

Euclideana).

18

Arquitectura de las RFBR

• La Norma Euclideana

• Y luego se ejecuta una función no lineal:

φj = φ ( || X – Cj || )

donde φ es la función de base radial y φj denota la salida

del j-ésimo nodo de la capa oculta.

21

)( xxxT=

22

2

2

1 nxxxx +++= K

19

Arquitectura de las RFBR

Función de base radial

� La función toma un valor de 1 cuando la

entrada es cero.

� Así una neurona de base radial actúa

como un detector el cual tiene una salida

igual a 1 siempre que la entrada p es

idéntica al vector de pesos w (la entrada

es cero por que w=p => 1-1 = 0 ).

� La función de transferencia puede ser

utilizada cuando una neurona cuenta con

pesos y un bías.

20

Arquitectura de las RFBR

Función de base radial

La función de base radial comúnmente utilizada en las

RFBR es la función Gausiana:

Donde:

• xi y ci son los componentes de n dimensión del vector

de entrada x y el vector centro c, respectivamente.

• σ es el factor suavizante o el ancho del campo

receptivo (spread).

21

Arquitectura de las RFBR

Función de base radial

22

Entrenamiento de las RFBR

23

Diseño de una RFBR

Se eligen los centros de la funciones de base radial:

Ci donde i= 1, 2, ...,m1. m1 es el número de RBFs

Calcular de la salida de la función de base radial.

Donde:

Ci son los centros de las RBFs

σ es el ancho de campo receptivo

2

2

21)( σ

ij CP

i enf

−−

=

24

Diseño de una RFBR

Los parámetros de la segunda capa (lineal) se obtienen

mediante:

Donde:

G es la Matriz de Green dada por:

TGW =

[ ]TNtttT ,,,21K=

[ ]TNwwwW ,,,21K=

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

=

121

122212

112111

,,,

,,,

,,,

mNNN

m

m

CpGCpGCpG

CpGCpGCpG

CpGCpGCpG

G

L

L

L

MMM

25

Diseño de una RFBR

Los pesos en la segunda capa serán:

Donde: es la matriz pseudo inversa dada por:

La solución para W es:

TGW+=

+G

( ) TTGGGG

1−+ =

( ) TGGGWTT 1−

=

26

Diseño de una RFBR

Los parámetros de la segunda capa serán:

Donde:

[ ]TNwwwW ,,,21K=

bwN =

27

Diseño de una RFBR

28

Diseño de una RFBR

29

Diseño de una RFBR

Ejemplo:

Usando una red de base radial RBFN resuelva el problema de

la XOR. Los parámetros de la red son:

10

10

0

0

11

00

1

1

4433

2211

=

==

=

=

==

=

tPtP

tPtP

=

=

0

0

1

121 CC

122 =σ

30

Aplicaciones de las RFBR

• Las redes RBF son frecuentemente utilizadas para

resolver problemas de clasificación, aunque

generalmente son para problemas de Mapeo y

poseen capacidades de “aproximación universal”.

• También se utiliza en:

� Reconocimiento de rostro

� Sensores de olor

� Clasificación de imágenes en color

� Predicción

� Aplicación en series de tiempo

31

RFBR vs MLP

• Las RBFN y Perceptron multicapa (MLP) son ejemplos de

redes multicapa no lineales Feedforward.

• Ambas son aproximadores universales.

• Una red RBFN es capaz de resolver un mismo problema que

un MLP y viceversa.

• Una RBFN en su forma básica tiene una sola capa oculta

mientras que un MLP puede tener una o mas capas ocultas.

• La capa oculta de una RBFN es no lineal , mientras que la

capa de salida es lineal. Sin embargo la capa oculta y la capa

de salida de un MLP son usualmente no lineales cuando se

usa como clasificador de patrones. Cuando MLP se usa para

regresión lineal la capa de salida es preferida lineal.

32

RFBR vs MLP

• Los argumentos de la función de activación en cada

unidad oculta de una RBFN calcula la Norma Euclidiana

(distancia) entre el vector de entrada y el centro de esa

unidad. Mientras que para el MLP calcula el producto

punto del vector y el vector de pesos de cada unidad.

• El MLP construye aproximaciones globales a un mapeo

no lineal de entrada salida. Mientras que las RBFN usan

funciones Gaussianas las cuales constituyen

aproximaciones locales a un mapeo no lineal entrada

salida.

33

RFBR en MatLab

34

RFBR en MatLab

35

RFBR en MatLab

Función de Base Radial:

A= RADBAS(n) = exp(-n)2

SOLVERBE crea una red de base radial la cual realiza un

exacto mapeo de la entrada a la salidas con tantas

neuronas en la capa oculta como vectores de entrada P.

[W1,B1,W2,B2] = SOLVERBE(P,T,Z)

P - matriz RxQ de Q vectores de entrada.

T - matriz SxQ de Q vectores objetivo.

Z - ancho del campo receptivo (Spread) de las funciones

de base radial (default = 1).

36

RFBR en MatLab

[W1,B1,W2,B2] = SOLVERBE(P,T,Z)

Devuelve:

W1 - matriz de pesos S1xR para la capa de base radial.

B1 - vector de umbral S1x1 para la capa de base radial.

W2 - matriz de pesos S2xS1 para la capa linear.

B2 - vector de umbral S2x1 para la capa linear.

37

RFBR en MatLab

SOLVERBcrea una red de base radial de una neurona a la vez; las

neuronas son adicionadas a la red hasta que encuentra

el error mínimo cuadrático o caen en nuestro margen

de error o cuando se ha creado un numero máximo de

neuronas.

[W1,B1,W2,B2,TE,TR] = SOLVERB(P,T,DP)

P - matriz RxQ de Q vectores de entrada.

T - matriz SxQ de Q vectores objetivo.

DP - Parámetros de diseño (opcional).

38

RFBR en MatLab

[W1,B1,W2,B2,TE,TR] = SOLVERB(P,T,DP)

Devuelve:

W1 - matriz de pesos S1xR para la capa de base radial.

B1 - vector de umbral S1x1 para la capa de base radial.

W2 - matriz de pesos S2xS1 para la capa linear.

B2 - S2x1 vector de umbral para la capa lineal.

NR - El numero de neuronas de base radial usadas.

TR - récord de entrenamiento : [fila de errores]

39

RFBR en MatLab

%EJEMPLO: Aproximación de Funcionesclear;

echo on;

clc;

NNTWARN OFF;

% Diseña una RBFN para aproximar una función coseno

t=0:0.3:6;

y= cos(t);

%conjunto de puntos de una funcion coseno

[w1,b1,w2,b2]=solverb(t,y)

echo off

40

RFBR en MatLab

%EJEMPLO: Solución de la OR-EXCLUSIVA

clear;

echo on;

clc;

NNTWARN OFF;

% RBFN soluciona OR-Exclusiva

P = [0 0 1 1 ;

0 1 0 1];

T = [0 1 1 0 ];

disp_freq= 1;

max_neuron= 1000;

err_goal= 0.02;

spread= 1.0;

41

RFBR en MatLab

dp=[ disp_freq max_neuron err_goal spread ]

[W1,b1,W2,b2,nr,dr]=solverb(P,T,dp)

[a1,a2]=simurb(P,W1,b1,W2,b2)

pause % pulse una tecla para graficar.

plotpv(P,T);

plotpc(W2,b2);

echo off

Preguntas

El resumen con mapas conceptuales solicitado de la Sesión al

menos debe responder las siguientes preguntas:

1. ¿Qué es una RFBR?.

2. ¿Cuáles son las características de las RFBR?.

3. ¿Cuál es la arquitectura de las RFBR?.

4. ¿Cuáles son las funciones de activación de las RFBR?.

5. Explicar el funcionamiento de las RFBR.

6. Describir el algoritmo de entrenamiento de las RFBR.

7. Describir las limitaciones de las RFBR.

8. Comparar las RFBR y MLP.

9. Listar ocho aplicaciones de las RFBR.

42

Resumen

Las Tareas que no cumplan las

indicaciones no serán considerados

por el profesor.43

� Realizar un resumen mediante mapas conceptuales (CMapTools)

de esta diapositiva.

� Serán mejor consideradas los resúmenes que tengan información

extra a esta diapositiva.

� Las fuentes adicionales utilizadas en el resumen se presentarán

en su carpeta personal del Dropbox y deben conservar el nombre

original y agregar al final _S10.

� Las fuentes y los archivos *.cmap deben colocarse dentro de su

carpeta personal del Dropbox, dentro de una carpeta de nombre:

IA_PaternoM_S10

Preguntas

44

El resumen con mapas conceptuales solicitado de la Sesión al

menos debe responder las siguientes preguntas:

1. ¿Qué es un SOFM?.

2. ¿Cuáles son las características de un SOFM?.

3. ¿Cuál es el objetivo de un SOFM?.

4. Describir las fases de operación de un SOFM.

5. Explicar el funcionamiento de los SOFM.

6. Describir el algoritmo de entrenamiento de un SOFM.

7. Describir las limitaciones de los SOFM.

8. Listar cinco aplicaciones de las SOFM.

45

Sesión 10. Redes FBR

Inteligencia Artificial

http://utpiayse.blogspot.com