Download Funciones de base radial - bienvenidos a comunidad itam

Document related concepts

RNA de base radial wikipedia , lookup

Perceptrón multicapa wikipedia , lookup

Propagación hacia atrás wikipedia , lookup

Redes neuronales probabilísticas wikipedia , lookup

Perceptrón wikipedia , lookup

Transcript
Redes de Funciones de Base Radial
Redes Neuronales
Instituto Tecnológico Autónomo de México
Otoño 2002
Osvaldo Comelli
Arturo Garmendia
Rafael Peñaloza
Isis Pulido
Aram Zamora
Daniela Zenteno
0
Funciones de base radial
Una función de base radial es una función cuya
característica principal es que su respuesta disminuye
(o aumenta) monótonamente con la distancia a un
punto fijo llamado centro (o centroide). Éste centro, la
métrica utilizada y la forma precisa de la función son
parámetros de ésta.
Una función de base radial típica es la Gausiana, que
en su forma generalizada es:
 1

h( x)  exp  ( x  c) T · 1 ·(x  c) donde  1 es la
 2

matriz de “radios” de la función, ésta es la matriz de varianzas y covarianzas relacionada a
la función Normal multivariada que se utiliza en estadística.
Una propiedad de estas funciones es que forman una base para el espacio de funciones, es
decir, cualquier función puede ser aproximada por medio de una combinación lineal de
funciones de base radial (i.e. f ( x)   wi ·hi ( x) ). Entonces, para un grupo de datos dado,
podemos intentar construir una combinación lineal de este tipo que aproxime la función que
generó estos datos.
Para lograr esta aproximación, realizaremos una regresión, con la peculiaridad de que en
lugar de usar como base a los monomios de distintos grados, utilizaremos funciones de base
radial.
Redes de Funciones de Base Radial
Redes de Funciones de Base Radial Simples:
Las redes de funciones de base radial simples tienen la arquitectura de un perceptrón de
tres capas donde la capa oculta tiene tantas neuronas como datos hay en nuestra muestra
(conjunto de entrenamiento). Las funciones de base radial corresponderán a cad una de las
neuronas de la capa escondida.
Si los datos de la muestra son de la forma (xi,di) i=1,...,n , generamos n funciones de base
radial (hi(x) centradas en xi) y la matriz H como sigue:
 h1 ( x1 ) h2 ( x1 )  hn ( x1 ) 
h ( x ) h ( x )  h ( x )
2
2
n
2 
H  1 2
 


 


h1 ( x n ) h2 ( x n )  hn ( x n )
1
Los pesos de la capa de entrada a la capa oculta están determinados por los patrones de
entrada por la fórmula wk , j  x k ,( j ) (es decir, la j-ésima entrada del k-ésimo vector).
Suponemos que la función que generó los datos es de la forma f ( x)   wi ·hi ( x) así, se
puede ver que los pesos (wi) que aproximan la muestra minimizando el error cuadrático
medio con respecto a los datos se obtienen resolviendo el sistema de ecuaciones:
H ·w  d
así, si podemos garantizar que H es invertible, obtendremos w  H 1 ·d . Ésta w será el
vector de pesos de la capa oculta a la capa de salida.
Para garantizar la invertibilidad de H, utilizamos el Teorema de Micchelli que dice que si
los datos de entrada en la muestra son todos distintos, entonces H será de rango completo.
Así, como podemos asegurar que los datos de entrada son todos distintos (ya que si no lo
fueran, eliminamos las repeticiones), H es invertible y por lo tanto ya calculamos w. Así, la
red ya ha sido entrenada.
Redes de Funciones de Base Radial Generalizadas:
Las redes generalizadas son prácticamente idénticas a las simples, con la diferencia de
que se utilizan menos neuronas en la capa oculta, así, tenemos menos funciones de base
radial y menos pesos, provocando con esto un aumento en la eficiencia de la red, pero
disminuyendo su precisión. El número de neuronas en la capa oculta dependerá del
problema, y se irá calculando intentando minimizar el error, así, existen distintos métodos
para encontrar cuántas y cuáles funciones de base radial serán suficientes para tener un
error razonablemente pequeño. En este caso nos topamos con la dificultad de que la matriz
H no es cuadrada, y por lo tanto tampoco invertible, sin embargo, el teorema de Micchelli
sigue siendo válido en este caso, por lo tanto, podemos asegurar que la matriz AT·A es
invertible (ya que el rango de AT·A es igual al rango de A y A es de rango completo) y
entonces calculamos la pseudoinversa, así,


1
w  H T H ·H T ·d
Aprendizaje de las Redes de Funciones de Base Radial
En el aprendizaje se deben determinar:
 los centros (diferente para cada gaussiana)
 la varianza (común entre las gaussianas)
 los pesos que van de la capa escondida a la capa de salida
Existen tres enfoques para el aprendizaje de las redes:
1)Selección Fija de Centros, Pesos y Varianzas.
2)Aprendizaje Auto-organizado de los Centros
3)Aprendizaje Supervisado
Los dos primeros suponen funciones gaussianas normalizadas:
2
 1
hc ( x)  exp   2 x  c 
 

donde c es el centro,  es la varianza (lo que regula la anchura).
El tercer caso, para más versatilidad considera el caso general de las gaussianas (ver página
1).
2
Selección Fija de Centros, Pesos y Varianzas
CENTROS
Debemos considerar dos casos:
1) Si se trata de una red simple FBR:
 El número de neuronas escondidas es el mismo que el número de muestras
que tenemos en el conjunto de entrenamiento.
 Los Centros se fijan en los puntos de las muestra.
2) Si se trata de una red generalizada FBR:
 El número de neuronas escondidas m, se escoge tal que sea menor que el
número de muestras del conjunto de entrenamiento. (Mientras más pequeña
sea la m menor será la calidad de la aproximación).
 Se toman, aleatoriamente, m puntos del conjunto de entrenamiento que
corresponderán a los centros. (Esto considerando que los datos del conjunto
de entrenamiento están distribuidos en una forma representativa del
problema).
VARIANZAS
La varianza de todas las funciones de base radial se fija en:
2m
  max
d
Esto garantiza que las funciones no sean demasiado chatas ni demasiados “picudas”.
Como una alternativa, se pueden utilizar varianzas específicas para cada una de las
gaussianas, con  mayor (una mayor anchura) en regiones hay menor densidad de datos.
PESOS
Se calculan por la regla ya mencionada:
w = ( HT H )-1 HT d
Aprendizaje Auto-organizado de los Centros
La varianza y los pesos se calculan de la misma forma que en la selección fija.
Se escoge un valor m para el número de neuronas escondidas. Los m centros se determinan
por un algoritmo de “clusters”. Lo que hace este algoritmo es colocar los centros en donde
se encuentran los datos significantes del conjunto de entrenamiento.
A grandes rasgos:
1.- Se inicializan los m centros al azar.
2.- Se elige un punto del conjunto de entrenamiento con cierta probabilidad.
3.- Se determina qué centro es el que se encuentra más cercano a este punto.
4.- El ganador se acercará al punto en cuestión en una proporción (tasa de aprendizaje) a
la distancia que hay entre ellos.
El resto de los centros permanecen igual.
5.- Se sigue este proceso hasta que no haya cambios relevantes en los centros.
Aprendizaje Supervisado
El primer paso es definir la función de error:
3
Pesos
1 N 2
e
 j
E (n)
2 j 1
wi (n  1)  wi (n)  1
donde N es el tamaño del conjunto de entrenamiento, y ej es la diferencia entre lo que wi (n)
produce la red con la j-esima muestra
Pesos y el valor deseado.
Centros
El resto del aprendizaje es tratar de minimizar esta función usando el máximo descenso
resumen
E ( n)
E (n)
dado por el gradiente. A continuación
de los
hay que
wi (n  1)se muestra
wi (n)  un
ci (cambios
n  1)  cque
1
i ( n)   2
wi (de
n) cierta tolerancia.
ci (n)
hacer en cada iteración, hasta que el error caiga debajo
Centros
Varianza
Pesos
E (n)
E (n)
E (n)
ci (n  1)  ci (n)   2
 i1 (n  1)   i1 (n)  3 1
wi (n  1)  wi (n)  1
ci (n)
 i (n)
wi (n)
Varianza
Centros
Un punto importante a considerar
es la elección del valor de m. Se puede empezar con un
número bajo de neuronas
escondidas
e ir aumentando
una
E (na) una hasta llegar al nivel de
E (n)
 i1técnicas
(n  1) estadísticas
 i1 (n)  3 para
ci (nprecisión
 1)  ci (ndeseado.
)   2 Existen otras
m en base al conjunto de
 i1 (estimar
n)
ci (n)
entrenamiento del que se dispone, y al problema particular. En general el tamaño de m
Varianza
óptimo para un tamaño N dado de conjunto de entrenamiento es proporcional a N 1/3.
E (n)
 i1 (n  1)   i1 (n)  3 1
Comparación entreRedes
FBR y el Perceptrón Multicapa
i ( n)
1. Una RBF tien sólo una capa escondida mientras que MLP puede tener varias.
2. La capa escondida de una RBF es no lineal mientras que las capa de salida es lineal.
Mientras que en un MLP como clasificador las capas escondida y de salida
usualmente son no lineales; y cuando MLP se usa para síntesis funcional la capa de
de salida se elige como lineal.
3. El argumento de activación de la función de activación de uan neurona escondida de
una RBF es una distancia euclidiana entre el vector entrante y el centro de esa
unidad. En MLP el argumento de la función de activación de cada neurona
escondida es un producto interno del vector de entrada con el de pesos.
4. MLPs construyen aproximaciones globales, pero las RBF construyen
aproximaciones locales.
E
Bibliografía:
http://www.dsp.pub.ro/articles.html
http://neuralnetworks.ai-depot.com
"Neural Networks. A Comprehensive Foundation”. Simon Haykin. Prentice-Hall, 1999"
“Introduction to Radial Basis Function Networks”. Mark J. L. Orr, 1996
4