Introduccion a las redes neuronales artificiales y sus ...prof.usb.ve/mvillasa/redes/RBF-vl.pdf ·...

37
Introducción a las Redes Neuronales Artificiales RBF Redes Neuronales con Base Radial (Poggio y Girosi,1990)

Transcript of Introduccion a las redes neuronales artificiales y sus ...prof.usb.ve/mvillasa/redes/RBF-vl.pdf ·...

Introducción a las Redes Neuronales Artificiales

RBF

Redes Neuronales con Base Radial

(Poggio y Girosi,1990)

Introducción a las Redes Neuronales Artificiales

RBF

Esquema de trabajo:

•Estructura de una RBF

•Problema de clasificación (otra vez)•Ejemplo XOR•Teorema de Cover (número de neuronas)

•Problema de Interpolación (aproximación) de funciones•Aproximadores universales•RBF•RRBF•GRBF•Entrenamiento

•Comparación MLP vs RBF

•Resumen

•Practica

Introducción a las Redes Neuronales Artificiales

RBF

Estructura de la red:

Capa de entrada

Capa oculta

Capa de salida

Capa de entrada: tiene tantos dispositivoscomo dimensionalidad de la data.

Capa oculta: Hay una sola, neuronas no-lineales usualmente con funciones de activación radial. El número de neuronas depende de la aplicación. Todas las neuronas son distintas.

Capa salida: neurona lineal. Los pesos entre la capa oculta y esta deben ser determinados

Estos pesos tienen la particularidad que no se calculan, ellos están determinados por la función distancia

Introducción a las Redes Neuronales Artificiales

RBF

Funciones de Activacion capa oculta:

( ) ℜ∈>=−

rerr

con 0 22

2

σφ σ

(σ=0.5,1.0,1.5)

Introducción a las Redes Neuronales Artificiales

RBF

Problema de clasificación

Sea H el conjunto de patrones de entrada que pertenecen a una clase. H=H1 U H2. ={x1,x2, ...,xN}

Se dice que el conjunto es ϕ-separable si para un conjunto de

funciones {ϕ1ϕ2,.....,ϕm1}, existe un vector W en Rm1 tal que

Wtϕ(x) > 0, x pertenece a H1

Wtϕ(x) < 0, x pertenece a H2

Wtϕ(x)=0 es la superficie de separación.

ϕ(x) = [ϕ1 (x) ϕ2 (x) ,.....,ϕm1(x) ]t

Las funciones ϕi serán en un futuro las funciones de capa oculta

Introducción a las Redes Neuronales Artificiales

RBF

Ejemplo:XOR

(1,1)

(0,0)

(0,1)

(1,0)

0

1

Sean ϕ1(x)= exp(-||x-x1||)ϕ2(x)= exp(-||x-x2||)

X

ϕ1

ϕ2

Σ

b=0.9-1

-1

ϕ1 ϕ2

(1,1) 1 0.1353(0,1) 0.3678 0.3678

(0,0) 0.1353 1(1,0) 0.3678 0.3678

ϕ1

ϕ2

(0,1)(1,0)

(1,1)

(0,0)

Introducción a las Redes Neuronales Artificiales

RBF

Cuantas Neuronas hacen falta en la capa oculta?

El teorema de Cover nos dice que mientras mas neuronas coloquemos en la capa oculta la probabilidad de que una dicotomía (particion binaria) sea ϕ –separable aumenta.

ϕ(x)= xi1xi2.....xir son funciones no lineales (variedad racional de orden r)

r=1 hiperplanos; r=2 hiperparabolasr=2 + cond. En coeficientes hiperesferas

02

021

1210

=∑≤≤≤≤≤

ri

r

r imiii

iiii xxxa ΛΛ

Λ

Introducción a las Redes Neuronales Artificiales

RBF

Con el problema del O exclusivo bastó con dos neuronas.

OJO:

Aunque las formas de la dem. No son iguales al de las funciones

radiales, el argumento puede

mantenerse.

OJO:

Aunque las formas de la dem. No son iguales al de las funciones

radiales, el argumento puede

mantenerse.

Cuantas Neuronas hacen falta en la capa oculta?

Muchas!

Si X1,X2,.....,XN es una secuencia de patrones. Sea N el mayor entero tal que la secuencia es ϕ - separable

⎟⎟⎠

⎞⎜⎜⎝

⎛−

−⎟⎠⎞

⎜⎝⎛==

11

21)(

1mn

nNPn

E(N)=2m1

Asintóticamente N=2m1(si tengo m1 neuronas puedo esperar separar hasta 2m1 patrones)

Cuantos patrones son separables con m1 neuronas?

Introducción a las Redes Neuronales Artificiales

RBF

Problema de Interpolación

Es una técnica para hacer ajustes de funciones o superficies

Utiliza la data para hacer tal aproximación

Interpola la data restante (nueva)

Queremos encontrar para N puntos

distintos con salida deseada

Una función tal que

{ }0miX ℜ∈

{ }ℜ∈id

NidXF ii ,....,2,1 )( ==

1: ℜ→ℜNF

Introducción a las Redes Neuronales Artificiales

RBF

x

y Funcion desconocida

Data deEntrenamiento

Nuevo dato

( ){ } ...,3,2,1 NiXX i =−φ

Un aproximador universal es buscar F de la forma

( ) NiXXwXFN

iii ...,3,2,1 )(

1=−= ∑

=

φ

Funciones no-lineales arbitrarias

Introducción a las Redes Neuronales Artificiales

RBF

Los Xi son los centros, por esto decimos que todas las neuronas son distintas, que es una diferencia importante de los perceptrones multicapas visto anteriormente.

( )ijji xx −= φφ

NNNNNN

NN

NN

dwww

dwwwdwww

=+++

=+++=+++

φφφ

φφφφφφ

ΛΜΛΜΜ

ΛΛ

2211

22222211

11122111

NidXF ii ,....,2,1 )( == ( ) )(1

∑=

−=N

iii XXwXF φ

Con

Introducción a las Redes Neuronales Artificiales

RBF

⎥⎥⎥⎥

⎢⎢⎢⎢

NNNN

N

N

φφφ

φφφφφ

ΛΜΜ

Λ

21

221

11211

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

NNNNNN

N

N

d

dd

w

ww

ΜΜΛ

ΜΜΜΜΛΛ

2

1

2

1

21

22221

11211

φφφ

φφφφφφ

Matriz de interpolación

Introducción a las Redes Neuronales Artificiales

RBF

Realmente puedo hacer esto?

Es invertible la matriz?

Teorema (Micchelli, 1986): La matriz Φ es nosingular si todos los valores de la data son distintos y las funciones ϕ son de un cierta clase amplia (que incluyen las multicuadráticas, multicuádraticas

inversas y las gausianas)

Introducción a las Redes Neuronales Artificiales

RBF

• Multicuadrática

• Multicuadrática Inversa

• Gausiana

( ) ( ) ℜ∈>+= rccrr con 0 2122φ

( )( )

ℜ∈>+

= rccr

r con 0 12

122φ

( ) ℜ∈>=−

rerr

con 0 22

2

σφ σ

Introducción a las Redes Neuronales Artificiales

RBF

Resumen

• Ajusta el 100% de la data de entrenamiento (error=0)

• Entrenamiento (en dos etapas) no iterativo.

• Primera etapa: determinar las neuronas (usando unicamente los datos).• Segunda etapa:Determinar los pesos resolviendo el sistemade ecuaciones.

• Qué ocurre con la generalización?

En la práctica podemos tener sistemas sobre

determinados. El sistema podría ajustar data con

ruido (agrega incertidumbre).

En la práctica podemos tener sistemas sobre

determinados. El sistema podría ajustar data con

ruido (agrega incertidumbre).

Introducción a las Redes Neuronales Artificiales

RBF

Si entrenamos con una data que contiene ruido, la función que interpolaexactamente es altamente oscilatoria (poco deseable). Queremos unafunción mas suave.

Modificaciones:

1. El número de funciones no es exactamente el número de datos.2. Los centros no necesariamente son los mismos datos.3. Los parametros de las neuronas ( σ ) no tienen que ser los mismos para

cada neurona.4. Incluimos el sesgo (compensa con el valor promedio de las funciones de

activación y los correspondientes valores deseados).

Ahora tenemos una RBF (Radial Basis Function) o Red de Base Radial

Introducción a las Redes Neuronales Artificiales

RBF

Capa de entrada

Funciones de base radial

Salida lineal

1

y (X)=Σ wjϕj(x) + w0 = Σ wjϕj(x) con j=0..M < N

ϕj(x)= exp( - ||x-tj||2 / 2σj2 )

Introducción a las Redes Neuronales Artificiales

RBF

Y=WΦTenemos un sistema de la forma

La solución involucra la pseudoinversa de Φ = [ ( ΦΤΦ )−1 ΦΤ ].

Podemos encontrar los pesos, mediante la minimización de la función de error cuadrático. Con las neuronas fijas (los centros y el parámetro de dispersión), podemos buscar minimizar la función de error con respecto a los pesos. Esto resulta en resolver la ecuación: (ver tarea)

ΦTΦwT= ΦTD (1)

En la práctica el sistema (1) se resuleve usando descomposición en valores singulares.

Introducción a las Redes Neuronales Artificiales

RBF

Otra forma de garantizar regularización (usando todos los datos) es...

[ ] 22

1 21)(

21)(min DFxFdFE

N

iii λ+−= ∑

=

Error de aproximación Penalización

D es un operador lineal diferencial, λ es un parámetro de regularización

La solución es de la forma:

( )[ ] ),()(1

1i

N

iii xxGxFdxF ∗−= ∑

=λλ

Introducción a las Redes Neuronales Artificiales

RBF

( )[ ] ),()(1

1i

N

iii xxGxFdxF ∗−= ∑

=λλ

En esta ecuación las G(x,xi) son las funciones de Green asociadas con el operador diferencial L, definido como

DDL ~=

Las funciones de Green forman una base N-dimensional para la clase de funciones suaves. Si el operador diferencial D tiene las propiedad de ser translacionalmente invariante (depende solo de la distancia entre los argumentos) y rotacionalmente invariante (igual para cualquier radio o distancia), entonces

( )ii xxGxxG −=),(

Introducción a las Redes Neuronales Artificiales

RBF

Redes Regularizadas

Capa de entrada

Funciones de Green

Salida lineal

1

Introducción a las Redes Neuronales Artificiales

RBF

Si

Entonces,

n

mnn

ni

xxxnD ⎟

⎟⎠

⎞⎜⎜⎝

∂∂

++∂∂

+∂∂

= ∑ 2

2

22

2

21

22

02!

Λσ

⎟⎟⎠

⎞⎜⎜⎝

⎛−−= i

ii xxxxG 22

1exp),(σ

Introducción a las Redes Neuronales Artificiales

RBF

( ) dIGWwi

ρ1 de elemento esimo-i el es −+= λ

con

⎥⎥⎥⎥

⎢⎢⎢⎢

=

NNNN

N

N

GGG

GGGGG

G

ΛΜΜ

Λ

21

221

11211

y ),(),( ijjiij xxGxxGG ==Además es positiva definida para ciertas clases de funciones (D), luego esinvertible. Si λ =0, entonces G= Φ para el caso de funciones de green radiales.

Introducción a las Redes Neuronales Artificiales

RBF

GRBF

(Redes de base radial generalizadas)

Al igual que antes, una de las dificultades es el gran número de neuronas en la capa oculta, lo cual requiere de un gran número de operaciones para hacer la inversión de la matriz. (Dato: número de op. para invertir una matriz NxN es O(N3)!!!!)

La idea es hacer una aproximación con una red sub-óptima, en el sentido de que el error cometido es distinto de cero.

Esto se logra reduciendo la complejidad de la red, haciendo la expansiónsobre una familia de funciones (reducidas) linealmente independientes (como hicimos antes).

∑=

<=1

1con )()(*

m

iiii NmxwxF ϕ

Introducción a las Redes Neuronales Artificiales

RBF

∑=

<=1

1

con )()(*m

iiii NmxwxF ϕ

Una escogencia natural son la funciones de base radial

( )ii txGx −=)(ϕ

Con los centros ti a ser determinados. (Si N=m1 y ti=xi, tenemos la soluciónanterior).

Queremos minimizar; [ ]

( ) 22

1 1

22

1

1

)(**)(

DFtxGwd

DFxFdFE

N

i

m

jjiji

N

iii

λ

λ

+⎥⎦

⎤⎢⎣

⎡−−=

+−=

∑ ∑

= =

=

Introducción a las Redes Neuronales Artificiales

RBF

Esto se logra con la resolución del siguiente sistema de ecuaciones: ( ) dGwGGG TT =+ 0λCon:

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

),(),(),(

),(),(),(),(),(

1

1

1

21

212

12111

mNNN

m

m

txGtxGtxG

txGtxGtxGtxGtxG

G

ΛΜΜ

Λ

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

),(),(),(

),(),(),(),(),(

1111

1

1

21

212

12111

0

mmmm

m

m

ttGttGttG

ttGttGttGttGttG

G

ΛΜΜ

Λ

Introducción a las Redes Neuronales Artificiales

RBF

Ejemplo:XOR

(1,1)

(0,0)

(0,1)

(1,0)

0

1

Sean ϕ1(x)= exp(-||x-x1||)ϕ2(x)= exp(-||x-x2||)

X

ϕ1

ϕ2

Σ

b=0.9-1

-1

ϕ1 ϕ2

(1,1) 1 0.1353(0,1) 0.3678 0.3678

(0,0) 0.1353 1(1,0) 0.3678 0.3678

ϕ1

ϕ2

(0,1)(1,0)

(1,1)

(0,0)

Introducción a las Redes Neuronales Artificiales

RBF

Planteamos el sistema de ecuaciones….

( ) ( )( ) ( )( ) ( )( ) ( ) 4224114

3223113

2222112

1221111

dbwtxGwtxGdbwtxGwtxGdbwtxGwtxGdbwtxGwtxG

=+−+−=+−+−=+−+−=+−+−

RBF-OExcl.m

Introducción a las Redes Neuronales Artificiales

RBF

Estrategias para la escogencia de los centros

1. Centros fijos seleccionados al azar.

•Mas sencillo de todos los métodos•Tips:

•Escoger

Con m1 =número de centros,dmax=distancia máxima entre los centros

•Usar centros con gausianas mas anchas donde hay poca data (requiere hacer experimentación con la data)

•Experimentar con distintos números de neuronas.

( ) ⎟⎟⎠

⎞⎜⎜⎝

⎛−−=− 2

max

12 exp ii txdmtxG

Introducción a las Redes Neuronales Artificiales

RBF

2. Selección de centros por clusters

• Busca centros apropiados donde existe similaridad en data y agruparlos. Se quiere lograr que los centros sean aproximadamente la media del “cluster” . Hacerla actualización de los pesos.

• Algortimo

1. Escoger m1 centros aleatoriamente, {tk(0)}, k=1,…,m1

2. Mientras ||tk(n+1)-tk(n)|| < tolerancia

1. Escoger patron x al azar

2. K(x)=argmin{||x - tk(n)||}, k=1,…,m1

tk(n) + α [ x - tk(n) ], k=k(x)3. tk(n+1)=

tk(n) caso contrario

Luego puedo usar la pseudoinversa para calcular los pesos o usar LMS pensando enestas como entradas a un ADALINE.

Introducción a las Redes Neuronales Artificiales

RBF

3. Selección supervisada de centros.

Idea: Adaptar los parametros libres (pesos,centros, y parametrosde dispersion) usando LMS (descenso de gradiente) para minimizar

Cada actualización requiere del gradiente de la función con respecto al parámetro en cuestión.

( )∑ ∑∑= ==

⎟⎠

⎞⎜⎝

⎛−−==

N

j

M

iiji

N

jj txGwde

1

2

11

2

21

21E

Introducción a las Redes Neuronales Artificiales

RBF

Actualización de los pesos

Actualización de los centros

( )∑=

−=∂∂ N

jijj

i

ntxGnenwnE

1)()(

)()(

)()()()1( 1 nw

nEnwnwi

ii ∂∂

−=+ η

( )[ ]ij

ijN

jijji

i txntx

ntxGnenwntnE

−−′=

∂∂ ∑

= 2)(

)()()()()(

1

)()()()1( 2 nt

nEntnti

ii ∂∂

−=+ η

Introducción a las Redes Neuronales Artificiales

RBF

Para las dispersiones

( ) )()()()()()(

1

1 nntxGnenwnnE N

jiijji

i∑

=

−−′−=∂∂ σσ

)()()()1( 3 n

nEnni

ii σησσ

∂∂

−=+

Se hace tan computacionalmente intensivo como las MLP!!

Se puede usar un entrenamiento como los descrito anteriormenete y hacer la entonación de los parámetros con este proceso.

Introducción a las Redes Neuronales Artificiales

RBF

4. Selección no-supervisada de centros (redes Kohonen).

Se representan los datos en una malla y se ejecuta un algoritmo auto-organizativo para determinar los centros.

Introducción a las Redes Neuronales Artificiales

RBF

RBF MLPTiene una sola capa oculta Puede tener mas de una

capa oculta

La función de transferencia en la capa oculta es distinta (dependencia de centros)

Tipicamente las neuronas en las capas escondidas tienen la misma neurona

Capa oculta es no lineal mientras que la de salida es lineal

Las MLP todas las neuronas pueden ser nolineales (puede variar según aplicación)

El argumento de capa oculta calcula norma euclidea entre entrada y centro

La función de activaciónrecibe el producto interno entre los pesos y la entrada

Aproximador local Aproximador global

Introducción a las Redes Neuronales Artificiales

RBF

Introducción a las Redes Neuronales Artificiales

RBF

Como calcular λ

Sea con

El λ que minimiza V esta suficientemente cercano al λ que minimiza

cuando queremos aproximar

[ ]2

2

)(1

)(1

)(

⎥⎦⎤

⎢⎣⎡ −

−=

λ

λλ

AItrN

yAINV

[ ]∑=

−=N

iii xFxf

NR

1

2)()(1)( λλ

iii xfy ∈+= )(

⎟⎠

⎞⎜⎝

⎛=

=

∑=

i

N

ikik yaxF

yAF

1

)()(

)(

λ

λ

λ

λ