Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aprendizaje Automatico
Septiembre, 2016
Index
Modelo conexionista
Nombres alternativos:
Modelo conexionista
Red neuronal artificial
Procesado distribuido y paralelo
1949: Hebb propone una regla que modela el aprendizaje en las neuronas. En
1950 Rochester realiza una simulacion en un computador IBM.
1996: Bishop, Rippley, Ney, entre otros, dan una interpretacion probabilstica
a las redes neuronales y al algoritmo de retropropagacion del error.
2006: Hinton publica en Science un artculo que inagura una nueva tendencia
denominada redes profundas. Posteriormente, en 2015 LeCun, Bengio y
Hinton publican un artculo sobre estas tecnicas en Nature. Se desarrollan
diversas tecnicas que mejoran el uso del algoritmo de retropropagacion en
redes profundas y en redes recurrentes.
tambien denominada funcion logstica
Funciones de activacion
Sea g : R R y z R:
1. L INEAL: gL(z) = z.
+1 si z > 0
2. S ALTO O ESCAL ON: gE (z) = sgn(z) =
1 si z < 0
z si 1 < z < +1
3. R AMPA: gR(z) =
sgn(z) si |z| 1
4. R E LU (rectified linear unit): gR(z) = max(0, z)
1
5. S IGMOID: gS (z) =
1 + exp(z)
exp(z) exp(z)
6. TANGENTE HYPERB OLICA: gT (z) = tanh(z) =
exp(z) + exp(z)
z
7. R APIDA : gF (z) =
1+ | z |
exp(zi)
8. S OFTMAX : Dados z1, . . . , zM R, gM (zi) = PM para 1 i M
j=1 exp(z j )
Funciones de activacion
1 z
sgn(z)
1/(1+exp(-z))
tanh(z)
z/(1+abs(z))
0.5
-0.5
-1
-4 -2 0 2 4
1 d gS
S IGMOID: gS (z) = gS0 (z) = = gS (z) (1 gS (z))
1 + exp(z) dz
exp(z) exp(z) d gT
TANGENTE HIPERB OLICA: gT (z) = gT0 (z) = = 1 (gT (z))2
exp(z) + exp(z) dz
z d gF 1
R APIDA : gF (z) = gF0 (z) = =
1+ | z | dz (1+ | z |)2
exp(zi) 0
S OFTMAX : Para z1, . . . , zn R, gM (zi) = P gM (zi) = gM (zi) (1gM (zi))
j exp(zj )
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.10
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-10 -5 0 5 10
z
x
1 1 2
1
0,1 10 s 10
1 2 2
1 s
1,1 11 1
x 21 2,1
2 2
Topologa
0,2
21
1
x s
2 2
3 s
0,3 1,2 2
2,2
2
x
4 13
1
0,4 s 2
3 s
1 3
1,3 2,3
x 25 2
5
1 33
0,5
35
Capa de entrada Capa oculta Capa de salida
Dinamica
1 i M0 d = 5 1 i M1 = 3 1 i M2 = 3
M0
X XM1
xi R s1i (x; ) = g( 1
ij xj ) s2i (x; ) = g( 2 1
ij sj (x))
j=0 j=0
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.12
1 2
x s s
3 2 2
0,3 1,2 2,2 3
s
3
2 3 3,3
x
13
4 13
0,4 1 2
s s
3 3 3
1
1,3 2,3 33
x 25 2 3
5 s
1 33 3 4
0,5 3,4
35 43
PM0 1
Primera capa oculta: s1i = g( j=0 ij xj ) para 1 i M1
PM1 2 1
Segunda capa oculta: s2i = g( j=0 ij sj ) para 1 i M2
PM2 3 2
Capa de salida: s3i = g( j=0 ij sj ) para 1 i M3
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
10 21
x 20
1 10 10
21
0,1
10 1 2
s
21 1 21 s
1
1,1 11
x 2,1
2
0,2
x 1 2
3 s s
2 2
0,3 1,2 2,2
x
4
0,4
1 2
s 21 s
10 3 3
1,3 33
25 2,3
x
5 10
20
0,5 35
35
PM0 1,0
Primera capa oculta: s1i = g( j=0 ij xj ) para 1 i M1
PM1 2,1 1 PM0 2,0
Capa de salida: s2i = g( j=0 ij sj + j=0 ij xj ) para 1 i M2
El perceptron multicapa es un caso particular
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.16
M1
X M0
X
M0 M2
f :R R : fi(x) s2i (x) = 2
kj g( 1
jj 0 xj 0 ) 1 i M2
j=0 j 0 =0
Index
XN
2 qS ()
ij = 2 = i2(xn) s1j (xn)
ij n=1
M1
X
0
i2(xn) = tni s2i (xn) g (2i (xn)) con 2i (xn) = 2 1
ij sj (xn)
j=0
XN
1 qS ()
ij = 1 = i1(xn) xnj
ij n=1
M2
X M0
X
i1(xn) = r2(xn) 2
ri g 0
(1i (xn)) con 1i (xn) = 1
ij xnj
r=1 j=0
+1 +1
x
1 1 2
1
0,1 10 s 10
1 2 2
1 s
1,1 11 1
x 21 2,1
2 2
0,2
21
1
x s
2 2
3 s
0,3 1,2 2
2,2
2
x
4 13
1
0,4 s 2
3 s
1 3
1,3 2,3
x 25 2
5
1 33
0,5
35
XM0 M1
X
s1i (x) = g(1i ) = g( 1
ij xj ) 1 i M 1 ; s2j = g(2j ) = g( 2
jk s1k (x)), 1 j M2
j=0 k=0
(para solo una muestra de entrenamiento, x, y M0 = 5, M1 = 3, M2 = 3)
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.22
+1 +1
x
1 1 2
0,1 10 1 10
s 2 2
1 1 s t
11 1 1
21 1,1 2,1
x 2
2 2
0,2 21
1
1
x s 2
3 2 s t
2 2
0,3 1,2 2,2
2
x 13
4
0,4 1
s 2
3 s t
1 3 3
1,3 2,3
x 25 2
5
1 33
0,5
35
+1 +1
x
1 1 2
0,1 10 1 10
s 2 2
1 s t
1 11 1
1,1 2,1 1
x 21 2 2
2
0,2 21 1
1
x s 2
3 2 s t
2
0,3 1,2 2,2 2
2
133
2
x 2
4
13
0,4 1 2
s 2
3 23 s
1 3 t
1,3 2,3 3
x 25 2 2
5 1
1 3
0,5 3 33
35
PM2
31 3 = 31 x3 = ( 2 2 0 1
r=1 r r3 )g (3 ) x3
(para solo una muestra de entrenamiento)
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Aprendizaje Automatico. 2016-2017 Redes Neuronales Multicapa: 6.24
d f (g(x)) df dg
=
dx dg dx
f (g1(x, . . . ), g2(x, . . . )) f g1 f g2
= +
x g1 x g2 x
XN
f (g1(x, . . . ), . . . , gN (x, . . . )) f gi
=
x i=1
gi x
qS () qS () 2i qS () s2i 2i
2 = 2 2 = 2 2 2 = (1) (ti s2i ) g 0(2i ) s1j
ij i ij si i ij
def 0 qS () qS ()
i2 = (ti s2i ) g (2i ) = = = i2 s1j
2i ij2
2 qS ()
ij = 2 = i2 s1j 1 i M 2 , 0 j M1
ij
M2
X 2 XM2
qS () l 0 1
= g (i ) xj = 2 0 1
l2 li g (i ) xj
2l s1i
l=0 l=0
M2
X
def
2 0 1 qS ()
i1 = l2 li g (i ) = 1 = i1 xj
ij
l=1
1 qS ()
ij = 1 = i1 xj 1 i M1 , 0 j M0
ij
XN
qS ()
3
ij = 3 = i3(xn) s2j (xn) i3(xn) = tni s3i (xn) g 0(3i (xn))
ij n=1
1.0
0.9
0.8
Error cuadrtico medio
=9.0
0.7
0.6
0.5
0.4
=0.09
0.3
0.2
=0.9
0.1
0.0
0 1000 2000 3000 4000 5000 6000 7000 8000
Ciclos de entrenamiento
DEMO
Septiembre, 2016 Departament de Sistemes Informatics i Computacio
Condiciones de convergencia
100
Error cuadrtico en entrenamiento
Error cuadrtico en validacin
Error de clasificacin en validacin
80
Error de clasificacin (%)
Error cuadrtico
60
40
20
Ciclos de entrenamiento
Generalizacin Sobre-entrenamiento
Codificacion
Los valores 1 (o 0, 1) solo se alcanzan asintoticamente cuando se utilizan la mayora
de las funciones de activacion como la sigmoid:
0.9
Valores deseados de salida: ti =
+0.9
Paralisis de la red: para valores grandes de z la derivada g 0(z) es muy pequena y por
tanto, los incrementos de los pesos son muy pequenos. Una forma de disminuir este
efecto es normalizar el rango de entrada.
N
1 X
j = N
xij 1 j d
d
S = {x1, . . . , xN } R i=1
N
2 1 X
j = N 1 (xij j )2 1 j d
i=1
x j j j = 0
x Rd, x : xj = for 1 j d
j
j = 1
Estimacion de la topologa
M ETODOS DE PODA :
Poda de pesos basadas en:
RELEVANCIA
CASTIGO
Poda de FDLA.
M ETODOS INCREMENTALES :
Busqueda incremental (Moddy & Utans, 1995)
Cascade-correlation (Fahlman & Lebiers, 1990)
Adaptacion estructural (Lee et al. 1990)
P OR TRANSFORMACI ON
Arboles de decision
Index
BackProp on-line (en la iteracion k-esima se procesa solo xk0 , k0 = 1+k mod N ):
l
ij (k) = k il(xk0 ) sl1
j (xk0 ) 1 l L, 1 i Ml, 1 j Ml1
1.0
0.9 =0.5
Error cuadrtico medio
0.8
0.7
0.6
0.5
0.4
0.3 BATCH
0.2
0.1 ON-LINE
0.0
0 250 500 750 1000 1250 1500 1750 2000
0.9 =0.5
=0.5
Error cuadrtico medio
0.8
0.7
0.6
0.5
=0.9 =0.9
0.4
0.3 BATCH
0.2 =0.0
=0.0
0.1 =0.5
=0.5
0.0
0 250 500 750 1000 1250 1500 1750 2000
Presentaciones de las muestras de entrenamiento
Problema: evitar que los pesos sean muy grandes y provoquen una
paralisis de la red.
X
l 2
qS () + (ij )
l,i,j
N
X
l
ij (k) = k il(xn) sjl1(xn) + 2 k ij
l
(k)
n=1
2.5
1.5
1
1 2 3
0.5
0
-20 -15 -10 -5 0 5 10 15 20 25
1 2 3
1
5 0.5
x 0
1.0
2
10
2.0
x 10
1
0,1
11
1
1 11
12 1
x
2
12
0,2 13
15
14
x
3 2
0,3 2
21
x
22
4 12
0,4
23
3
2 3
x
24
5
32
0,5
1id=5 1 i d0 = 2 1iM =3
Pd 2
! d0
j=1 (ij xj )
X
xi R (x; i, ) = exp i(x; ) = ij (x; j , ) + i0
2 2 j=1
Index
Ejemplos
Clasificacion de dgitos I
Clasificacion de dgitos II
Prediccion
Algunas demos
Aplicaciones varias
http://www.calsci.com/Applications.html
Demos en java
http://lcn.epfl.ch/tutorial/english/index.html
http://www.aispace.org/downloads.shtml
Algunas aplicaciones
C LASIFICACI ON
Reconocimiento de caracteres impresos y manuscritos
Exploracion petrolfera.
Aplicaciones medicas: deteccion de ataques de epilesia, ayuda al diagnostico de
la esclerosis multiple, etc.
Minera de datos
P REDICCI ON
Prevision de ocupacion en los vuelos (Inc. BehavHeuristics.)
Evolucion de los precios de solares (Ayuntamiento de Boston)
Prediccion de consumo de bebidas refrescantes (Britvic)
Prediccion metereologica (National Weather Service)
Prediccion de stocks (Carl & Associates, Neural Applications Corporation, etc.)
Prediccion de demanda electrica (Bayernwerk AG, Britvic, etc.)
Prediccion de fallos en motores electricos (Siemens)
C ONTROL AND AUTOMATIZATION
Refinado del petroleo (Texaco).
Produccion de acero (Fujitsu, Neural Applications Corporation, Nippon Steel)
Notacion
Funciones discriminantes lineales: (x; ) = tx para una entrada x y parametros
compuestos por vector de pesos y umbral (, 0)
Funciones discriminantes lineales con activacion: g (x; ) para una entrada x, parametros
(, 0) y g una funcion de activacion. g 0 es la derivada de la funcion de activacion g
Funcion de activacion sigmoid: gS (z)
Salida del nodo i en la capa k: ski en perceptrones multicapa y redes hacia adelante
Pesos de la conexion que va del nodo j de la capa k 1 al nodo i de la capa k en un perceptron
k k
multicapa: ij . es un vector de talla D formado por todos los pesos ij . Pesos de la conexion
k ,k 0
que va del nodo j de la capa k0 al nodo i de la capa k en una red hacia adelante: ij
Conjunto de N muestras de entrenamiento: S = {(x1, t1), . . . , (xN , tN )} con xn RM0 y
tn RMK , siendo K el numero de capas y Mk el numero de nodos de la capa k
Funcion a minimizar en el entrenamiento de un perceptron multicapa: qS () R
Clasificador en C MK clases de puntos de Rd RM0 : f : RM0 {1, . . . , MK }
Error en el nodo i de la capa k para la muestra xn: ik (xn)
k
Incremento del peso que va del nodo j en la capa k 1 al nodo i en la capa k: ij
Factor de aprendizaje, momentum y factor de regularizacion: , y
Media y desviacion tpica: y
Septiembre, 2016 Departament de Sistemes Informatics i Computacio