análisis de datos - cinvestavwgomez/diapositivas/rp/clase15.pdfintroducción red neuronal de...
TRANSCRIPT
Análisis de Datos
Redes neuronales arti�ciales
Red de función de base radial
Dr. Wilfrido Gómez Flores
Introducción
• Red de función de base radial (RBFN) � método alternativo al
perceptrón multicapa (MLP) para clasi�cación de patrones.
• Topología invariante de tres capas:
• Entrada � Recibe y distribuye las variables desde el exterior.
• Oculta � Activada por funciones radiales no lineales.
• Salida � Combinación lineal de las respuestas de las RBFs.
• MLP es un aproximador global y RBFN es un aproximador local;
ambos son aproximadores universales.
1/17 Red de función de base radial AD-15
Introducción
Red neuronal de función de base radial de tres capas totalmente conectada:d nodos de entrada, una capa oculta con h nodos, y c nodos de salida.
2/17 Red de función de base radial AD-15
Funciones radiales
• Función de base radial (RBF) � respuesta monotónamente de-
creciente (o creciente) en relación a un centroide.
• RBFs comunes para la activación de nodos ocultos:
• Gaussiana: ϕ(r) = exp(−γr2)
• Multicuadrática: ϕ(r) =√
1 + (γr)2
• Inversa cuadrática: ϕ(r) = 11+(γr)2
• Inversa multicuadrática: ϕ(r) = 1√1+(γr)2
donde r = ‖x− c‖ y γ > 0 es un parámetro de escala.
• El centroide c = [c1, . . . , cd]T de�ne la localización de la RBF en
el espacio de características.
3/17 Red de función de base radial AD-15
Funciones radiales
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
0
0.2
0.4
0.6
0.8
1
0
1
2
3
4
5
Gaussiana
Funciones radiales típicas en R con γ = 2 y centradas sobre el origen.
4/17 Red de función de base radial AD-15
Funciones radiales
1
0
0.2
0.4
0.6
0.5
0.8
1
10 0.5
0-0.5-0.5
-1 -1
1
0
0.2
0.4
0.6
0.5
0.8
1
10 0.5
0-0.5-0.5
-1 -1
Las RBFs exhiben un comportamiento local (izquierda), ya que un nodo se activacuando el patrón x está dentro de su localidad en el espacio de características(derecha), de modo que ϕ(x)→ 1 cuando ‖x− c‖ → 0.
5/17 Red de función de base radial AD-15
Aprendizaje híbrido
Aprendizaje híbrido: aprendizaje no supervisado, determinar los centroides delas RBFs en los nodos ocultos con un algoritmo de agrupamiento, y aprendi-zaje supervisado, calcular los pesos sinápticos de la capa oculta→salida con unalgoritmo supervisado.
6/17 Red de función de base radial AD-15
Aprendizaje no supervisado
• Distribuir las RBFs sobre el espacio de características de tal manera
que tengan poco traslape.
• Algoritmo k-means para determinar h centroides a partir del con-
junto de entrenamiento:
1. De�nir el número h de nodos ocultos.
2. Inicializar h centroides {c1, . . . , ch} de manera aleatoria.
3. Asignar el patrón xi, i = 1, . . . , n, al centroide más cercano.
4. Actualizar el valor de los h centroides a partir del agrupa-
miento actual.
5. Repetir los Pasos 3 y 4 hasta que no cambien las posiciones
de los centroides.
7/17 Red de función de base radial AD-15
Aprendizaje no supervisado
• Función radial Gaussiana:
ϕj(x) = exp
(−‖x− cj‖2
2s2j
), (1)
donde el valor de dispersión
sj =1
q
q∑k=1
‖cj − ck‖, j 6= k. (2)
• Salida RBF normalizada:
φj(x) =ϕj(x)∑hl=1 ϕl(x)
. (3)
-1 -0.5 0 0.5 1
-1
-0.5
0
0.5
1
La dispersión sj calcula la distancia me-dia a los q centroides más cercanos. Co-múnmente, q = 2.
8/17 Red de función de base radial AD-15
Aprendizaje no supervisado
1
0
0.2
0.4
0.5
0.6
0.8
1
0
1-0.5
0.5
0
-0.5-1-1
(a)
0.6
1
0
0.2
0.4
0.5
0.8
1
0
1-0.5
0.5
0
-0.5-1-1
(b)
Regiones de activación en función de siete centroides: (a) funciones sin normalizary (b) funciones normalizadas. La normalización es útil en las regiones del espaciode entrada donde todas las funciones RBF son pequeñas.
9/17 Red de función de base radial AD-15
Aprendizaje supervisado
Minimizar la función de costo de mínimos cuadrados:
J(W ) =1
2
∥∥∥y − W T φ∥∥∥2, (4)
donde W = [w1, . . . , wc] es la matriz de pesos sinápticos de tamaño
(h+1)× c, φ = [1, φ1(x), . . . , φh(x)]T es el vector de respuestas de
los nodos ocultos para la muestra de entrada x, e y = [y1, . . . , yc]T
es su respectivo vector de salidas deseadas donde
yk =
1 si x ∈ ωk,
0 otro caso.(5)
10/17 Red de función de base radial AD-15
Aprendizaje supervisado
Para minimizar J(W ) se puede utilizar descenso de gradiente:
W (1) arbitrario
W (k + 1) = W (k) + ηΦ(Y − WT (k)Φ)T + λW (k) k ≥ 1(6)
donde Y = [y1, . . . ,yn] es la matriz de respuestas deseadas de todos
los patrones de entrenamiento (tamaño c× n), Φ = [φ1, . . . , φn] es
la matriz de respuestas de la capa oculta para todos los patrones de
entrenamiento (tamaño (h+ 1)× n), y η y λ son las constantes de
tasa de aprendizaje y factor de regularización, respectivamente.
11/17 Red de función de base radial AD-15
Aprendizaje supervisado
Input: W , umbral θ, η, λ, kmax
Output: W
1 k ← 02 do
3 k ← k + 1
4 W ← W + ηΦ(Y − W T Φ)T + λW
5 until ||∇J(W )|| < θ ∧ (k < kmax)
0 100 200 300 400 500 600
Iteraciones
0
0.2
0.4
0.6
0.8
1
12/17 Red de función de base radial AD-15
Aprendizaje supervisado
• Una forma directa para obtener la matriz de pesos W es me-
diante el método de la pseudoinversa:
W =(
ΦΦT + λI)−1
ΦY T (7)
donde I es una matriz identidad de tamaño (h+ 1)× (h+ 1).
• Es útil si el número de muestras de entrenamiento no es exce-
sivamente grande, ya que se requiere calcular la inversa de la
matriz ΦΦT de tamaño n× n.
13/17 Red de función de base radial AD-15
Entrenamiento y clasi�cación
El entrenamiento de una RBFN consiste de los siguientes pasos:
1. De�nir el número de nodos ocultos h.
2. Encontrar los h centroides {c1, . . . , ch} de las RBFs usando el
algoritmo k-means usando el conjunto de entrenamiento X.
3. Calcular los valores de dispersión {s1, . . . , sh} de las h RBFs.
4. Obtener las respuestas de la capa oculta Φ = [φ1, . . . , φn] para
todos los patrones en X. El primer elemento de cada vector de
respuestas es 1 para el cálculo del bias.
5. A partir de Φ y las salidas deseadas, calcular la matriz de pesos
sinápticos W usando descenso de gradiente o método de la
pseudoinversa.
14/17 Red de función de base radial AD-15
Entrenamiento y clasi�cación
• Para clasi�car un patrón de prueba xt:
1. Evaluar xt en las h RBFs para obtener el vector de respuestas
de la capa oculta φt = [1, φ1(xt), . . . , φh(xt)]T .
2. Obtener las c salidas de la red:
z = W T φt (8)
donde z = [z1, . . . , zc]T .
3. Clasi�car xt en ωi si zi > zj , ∀i 6= j.
• El número óptimo de nodos ocultos se puede encontrar con un
procedimiento de búsqueda malla y validación cruzada.
15/17 Red de función de base radial AD-15
Entrenamiento y clasi�cación
Input: Particiones: D1, . . . ,Dk; hmın; hmax
Output: h∗
1 for (h = hmın;h ≤ hmax;h + +) do
2 for (i = 1; i ≤ k; i + +) do
3 Entrenar una RBFN con h nodos usando D{1,...,k}\i4 Obtener la salida de la RBFN usando Di5 Calcular el error de validación Ei generado por Di6 end
7 Promediar los k errores de validación Eh = 1k
∑ki=1Ei
8 end
9 return h∗ ← arg mınh=hmın,...,hmax
Eh
16/17 Red de función de base radial AD-15
Entrenamiento y clasi�cación
-0.5 0 0.5
-0.5
0
0.5
(a)
-1 -0.5 0 0.5 1
-1
-0.5
0
0.5
1
(b)
Fronteras de decisión generadas por una RBFN con 10 nodos ocultos para (a) dosclases no linealmente separables y (b) cinco clases.
17/17 Red de función de base radial AD-15