Publicado el 6 de Mayo del 2018
690 visualizaciones desde el 6 de Mayo del 2018
2,7 MB
45 paginas
Creado hace 18a (19/01/2006)
Aprendizaje Automático y Data Mining
Bloque III
MÉTODOS DE APRENDIZAJE
INDUCTIVO (continuación)
1
REDES NEURONALES
2
Redes neuronales (I)
n Red neuronal: método de aprendizaje inductivo
inspirado en la estructura del cerebro humano.
n Cerebro humano:
n Millones de neuronas (1011 neuronas) altamente
n
interconectadas.
3 elementos fundamentales en una neurona (simplificada):
• Cuerpo
• Axon
• Dendritas
Cuerpo
Axon
Dendritas
n Cada neurona se conecta a muchas otras (103, 104).
n
Las conexiones se llaman sinapsis.
3
Redes neuronales (II)
n
¿Cómo funcionan las conexiones entre neuronas?
n Cada célula recibe señales (pulsos eléctricos) de las
neuronas cercanas a través de sus dendritas.
n Si el total de las señales recibidas supera un cierto umbral,
la neurona se activa y envía a su vez pulsos eléctricos a
través de su axon hacia otras células.
entradas
salida
4
Redes neuronales (III)
n
La velocidad con la que conmutan las neuronas es
muy lenta (106 veces más lenta que una puerta
lógica).
n Sin embargo, el cerebro es capaz de realizar
operaciones complejas más rápidamente y más
eficientemente que un ordenador (ej. Visión
artificial frente a visión humana). ¿Cuál es la razón?
n
LA razón se encuentra en el alto grado de paralelismo del
cerebro humano (hay millones de neuronas y conexiones).
Las redes neuronales artificiales (ANN o NN) están
inspiradas en el cerebro humano, y en las múltiples
interconexiones entre neuronas.
n
5
Redes neuronales (IV)
n Modelo de una neurona artificial:
Entrada 1
(x1)
Entrada 2
(x2)
Entrada N
(xN)
w1
w2
wN
=
y
=
a
=
a
Umbral (t)
-
+
+
+
Actividad (a)
Salida (y)
f
af
)(
N
=
i
1
N
=
oi
twx
i
i
rr
=
xwxwx
i
0
;
i
-=
;1
=
t
w
0
6
-
Redes neuronales (V)
n
Función de activación f:
n
Función más sencilla posible: signo.
f(a)
+1
-1
)(
af
=
a
1
1
+
aif
aif
<
0
0
n Otra función utilizada: sigmoidea (derivable).
f(a)
+1
af
)(
=
1
-+
ake
1
a
• similar: comportamiento todo/nada para valores elevados de k.
7
‡
-
Redes neuronales (VI)
n Posibles estructuras para la red:
n Unidireccional (feedforward networks)
• La información fluye en una única dirección.
• Muy utilizadas, en general como clasificadores.
n Recurrentes (feedback networks)
• La información se realimenta mediante bucles.
• No muy utilizadas.
n Mapas autoorganizados (self organizing maps)
• La estructura de la red se deforma durante el
entrenamiento, intentando adaptarse a los valores de los
ejemplos de entrenamiento.
• Muy utilizadas para ‘clustering’ (detección de grupos de
instancias similares).
8
Redes neuronales (VII)
n Redes unidireccionales
n Cada círculo representa una neurona.
n Cada neurona recive señales desde las neuronas
situadas a su izquierda y envía señales a las
neuronas situadas a su derecha.
9
Redes neuronales (VIII)
n Redes recurrentes (red de Hopfield)
z-1
z-1
z-1
n Circulos: neuronas; bloques z-1: retrasos.
n
Las entradas de una neurona están conectadas con las
salidas (retrasadas) de otras neuronas situadas al mismo
nivel.
10
Redes neuronales (IX)
n Mapas autoorganizados (SOMs)
Temp.
Temp.
Vibraciones
ANTES DEL
ENTRENAMIENTO
Vibraciones
DESPUÉS DEL
ENTRENAMIENTO
Ejemplo 2D: las neuronas se adaptan a los ejemplos.
n
n Muy útil para representar información de múltiples
dimensiones en una red 2D y visualizar clusters (grupos).
11
Redes neuronales (X)
n
Ejemplo de red unidireccional
Temperatura
Vibraciones
Horas funcion.
Meses revisión
wij
wij
fallará / no fallará
CAPA DE SALIDA
CAPA(S) OCULTAS
CAPA DE
ENTRADA
n
Estructura en capas.
Los pesos wij representan la influencia mutua entre neuronas.
n
n Durante el entrenamiento se ajustan los pesos a los ejemplos;
pero la estructura permanece fija.
12
Redes neuronales (XI)
n Entrenamiento de redes unidireccionales
n Los pesos se ajustan utilizando las instancias de
entrenamiento.
n Objetivo: predecir la clase correcta para cada
instancia de entrenamiento.
n Solución óptima: imposible de encontrar.
n Se utiliza un proceso iterativo (backpropagation):
1. Se eligen pesos aleatoriamente.
2. Se modifican los pesos de acuerdo con los errores de
clasificación obtenidos con las instancias de
entrenamiento.
3. Se repite el paso 2 mientras:
• El error supere un cierto nivel.
• No se sobrepase un número de iteraciones o epochs.
13
Redes neuronales (XII)
n Posibles problemas en el entrenamiento:
n Sobreajuste cuando el número de iteraciones es demasiado
elevado.
n Mínimos locales para el error, dependiendo de los valores
iniciales de los pesos.
n Parámetros a ajustar:
Tasa de aprendizaje
(velocidad de convergencia).
h
n Número y tamaño de las capas ocultas.
n Criterio de parada (normalmente 500 epochs).
n
n Momento
Demasiados parámetros: no es fácil conseguir resultados
(inercia para evitar mínimos locales).
a
óptimos.
14
Redes neuronales (XIII)
n El perceptrón simple
n Red neuronal unidireccional más sencilla posible.
n Una sóla neurona.
Entrada 1
(x1)
Entrada 2
(x2)
Entrada N
(xN)
w1
w2
wN
Umbral (x0,w0)
-
+
+
+
Actividad (a)
Salida (y)
f
)a(f
N
=
=
y
a
rr
wxwx
i
=
=
oi
i
15
Redes neuronales (XIV)
n Entrenamiento del perceptrón simple
n Se define el error para un ejemplo a partir de la
diferencia entre la actividad (a) y la clase real del
ejemplo
)w(E
=
(
at
)2
1
2
n El error se define como una función de los pesos
(vector w).
16
-
Redes neuronales (XV)
n Entrenamiento del perceptrón simple
n Se parte de unos pesos wi aleatorios y se
modifican en la dirección que más rápidamente
hace disminuir el error -> dirección del gradiente
del error.
¶=
)w(E
E
w
0
,
E
w
1
,
E
w
2
,...,
E
nw
17
œ
ß
ø
Œ
º
Ø
¶
¶
¶
¶
¶
¶
¶
Redes neuronales (XVI)
Ejemplo con dos pesos a ajustar
)
w
E
(
r
o
r
r
e
20
18
16
14
12
10
8
6
4
2
0
3
2
1
E
0
-1
peso entrada 2 (w2)
-2
-3
-3
-2
1
0
-1
peso entrada 1 (w1)
3
2
18
Redes neuronales (XVII)
n
Actualización de pesos en cada iteración:
w
w
i
w
h
w
i
h
n
Tasa de aprendizaje
h
:
)
(
wE
E
w
i
n
Pequeña: convergencia lenta.
n Grande: puede no alcanzarse solución con precisión.
n
Regla general: la tasa se reduce a medida que se
realizan iteraciones.
19
¶
¶
-
‹
-
‹
Redes neuronales (XVIII)
n
Cálculo del gradiente
(
at
)
2
=œ
1
2
w
i
(
-=
at
)
(
-=
at
(
-=
at
)
) (
(
at
)
=
)
=
(
xwt
)
w
i
w
i
x
i
20
-
-
¶
¶
-
¶
¶
ß
ø
Œ
º
Ø
-
¶
¶
Redes neuronales (XIX)
(
xat
i
)
h
w
i
w
i
Peso i
(nuevo)
Peso i
(iteración
anterior)
Salida real
(etiqueta)
Entrada i
Actividad
21
-
-
‹
Redes neuronales (XX)
problema: mínimos locales
)
w
E
(
r
o
r
r
e
20
18
16
14
12
10
8
6
4
2
0
3
2
1
0
-1
peso entrada 2 (w2)
3
2
1
-2
-3
-3
-2
0
-1
peso entrada 1 (w1)
22
Redes neuronales (XXI)
n Dos posibilidades para el entrenamiento:
n
Incremental (la vista anteriormente):
• Cada nuevo ejemplo de entrenamiento sirve para calcular el
•
error y actualizar los pesos.
Los ejemplos se pueden utilizar varias veces para hacer
tantas iteraciones como se desee.
n No incremental:
•
En cada iteración se utilizan todos los ejemplos, y el error
se define como la suma de los errores individuales:
1
2
=
)w(E
=
=
...
E
w
i
d
ejemplos
d
ejemplos
(
t
(
t
d
d
)
2
) (
)
x
id
a
d
a
d
23
-
-
¶
¶
-
˛
˛
Redes neuronales (XXII)
n El perceptrón multicapa
n Red neuronal unidireccional más común.
n Muy utilizado como clasificador.
Entrada 1 (x1)
Entrada 2 (x2)
Entrada 3 (x3)
Entrada N (xN)
wij
wij
Salida (z)
CAPA DE SALIDA
CAPA(S) OCULTAS
CAPA DE
ENTRADA
24
Redes neuronales (XXIII)
n Normalmente sólo hay una capa oculta.
n Pero pueden existir varias neuronas de salida.
n Si el número de clases es superior a 2, hacen falta más
neuronas para codificarlo.
Entrada 1 (x1)
Entrada 2 (x2)
Entrada 3 (x3)
Entrada N (xN)
CAPA DE
ENTRADA
wij
wij
CAPA DE SALIDA
CAPA(S) OCULTAS
Salida1 (z1)
Salida2 (z2)
25
Redes neuronales (XXIV)
n El error se define de forma distinta.
n Debe considerar todas las salidas.
n Aprendizaje incremental (error medido para
un ejemplo):
1
=
2
E
(
t
k
)
2
z
k
˛ salidas
k
n Aprendizaje no incremental (error medido
para todos los ejemplos):
=
E
1
2
d
ejemplos
k
salidas
(
t
kd
)
2
z
kd
26
-
-
˛
˛
Redes neuronales (XXV)
n Muchos pesos a ajustar: capa oculta y capa salida
x0
x1
x2
xN
y1
y2
yN
a1
a2
aN
b1
b2
z1
z2
bM
zM
27
Redes neuronales (XXVI)
n
Entrenamiento para los pesos de la capa de salida.
n wji = peso de la entrada i de la neurona j.
w
ji
h
E
w
ji
w
ji
=
E
k
salidas
E
w
ji
¶=
E
b
j
(
t
k
1
2
b
w
j
ji
z
¶=
)
2
k
E
b
j
y
i
28
¶
¶
¶
¶
¶
¶
-
¶
¶
-
‹
˛
Redes neuronales (XXVII)
E
b
j
E
z
z
b
j
j
j
¶=
¶=
¶=
E
z
j
z
j
b
j
(
t
j
z
b
j
1
2
1
e
+
k
1
)
2
=
z
k
(
t
j
)
z
j
k
(
t
j
)
-=
z
j
z
j
=
b
j
1
e
+
1
b
j
1
1
e
+
1
=
z
j
b
j
j
(
t
(
1
)
z
j
)
z
j
(
t
j
=
)
z
j
z
j
(
1
)
z
j
y
i
E
w
ji
29
-
-
¶
¶
-
ł
Ł
-
ł
Ł
ł
Ł
¶
¶
¶
-
-
¶
¶
-
-
¶
¶
¶
¶
¶
¶
¶
¶
-
-
-
Redes neuronales (XXVIII)
+
h
w
ji
(
t
j
)
z
j
z
j
(
1
)
z
j
y
i
w
ji
Peso ji
(nuevo)
Peso ji
(iteración
anterior)
Salida j en
iteración
anterior
Salida real j
(etiqueta)
Salida
intermedia i
en iteración
anterior
30
Comentarios de: Método de aprendizaje inductivo (continuación) - Aprendizaje Automático y Data Mining (0)
No hay comentarios