Professional Documents
Culture Documents
Los objetivos del curso son: dar un panoráma general de lo que es apren-
dizaje computacional y conocer a detalle las técnicas más importantes em-
pleadas.
Temario
2. Técnicas principales:
i
• Aprendizaje por refuerzo
4. Conclusiones
• Ensambles de clasificadores
• Selección de atributos
• Aprendizaje semi-supervisado
• Algoritmos genéticos
• Redes neuronales
• Procesos Gaussianos
ii
• Modelos para secuencias
Evaluación
• Aprendizaje en secuencias
iii
Referencias
iv
Capı́tulo 1
Aprendizaje
• adquisición de conocimiento
• desarrollo de habilidades a través de instrucción y práctica
• organización de conocimiento
• descubrimiento de hechos
• ...
1
En general, se busca contruir programas que mejoren automáticamente
con la experiencia.
Aunque no se tienen programas que aprenden tan bien como los humanos,
existen algoritmos que han probado ser muy efectivos para ciertas tareas.
2
elicited by dialogue. The findings of the past decade in brain sci-
ence, cognitive psychology and commercial software do not sup-
port this idea. Evidence is lacking that skills, having once reached
the “automization” stage, can be de-automized by dialogue so as
to make their inner workings accessible to introspective report.”
Donald Michie [Michie, pp. 1]
3
Se usan algoritmos de clustering, SOM (self-organization maps), EM
(expectation maximization), k-means, etc.
Normalmente el usuario tiene una buena capacidad de formar las clases
y se han desarrollado herramientas visuales interactivas para ayudar al
usuario.
• Análisis de dependencias: El valor de un elemento puede usarse para
predecir el valor de otro. La dependencia puede ser probabilı́stica,
puede definir una red de dependencias o puede ser funcional (leyes
fı́sicas).
También se ha enfocado a encontrar si existe una alta proporción de
valores de algunos atributos que ocurren con cierta medida de confianza
junto con valores de otros atributos.
Se pueden utilizar redes bayesianas, redes causales, y reglas de aso-
ciación.
• Detección de desviaciones, casos extremos o anomalias: Detectar los
cambios más significativos en los datos con respecto a valores pasados
o normales. Sirve para filtrar grandes volúmenes de datos que son
menos probables de ser interesantes. El problema está en determinar
cuándo una desviación es significativa para ser de interés.
• Aprendizaje de cuál es la mejor acción a tomar a partir de experien-
cia: Esto involucra búsqueda y exploración del ambiente. Esto está
relacionado principalmente con aprendizaje por refuerzo, pero también
con técnicas como aprendizaje de macro-operadores, chunking y EBL.
• Optimización y búsqueda: Existen una gran cantidad de algoritmos de
búsqueda tanto determinı́stica como aleatoria, individual como pobla-
cional, local como global, que se utilizan principalmente para resolver
algún problema de optimización. Aquı́ podemos incluir a los algo-
ritmos genéticos, recocido simulado, ant-colony, técnicas de búsqueda
local, etc.
4
Generalmente se usan técnicas heurı́sticas en su construcción (e.g., ID3,
C4.5, CN2). Ver figura 1.1.
5
DV_T
57
11
O3_Q
NO2_X C5 DV_X
49
46 32
SO2_F C4
O3_L
DV_F SO2_L C5
72
89 39
C7 39
C4
C1 RH_F
C7 C4 RH_Q DV_L
C10 C1
C5 NOX_X C10 NO2_T
87 45
RH_L DV_T
TMP_L
C2
291 168
219
C11 C3 TMP_F
C13
O3_X
C11
231
227 NO2_T
VV_Q C7 C3
43
HORA 23
10 NOX_X C3
RH_Q
C6
C7 346 77
VV_T C2
RH_L DV_X
43
C12 423 162
C6 C8 C6 C2 C3
6
Entradas Salidas
Figura 1.2: Red Neuronal prototı́pica.
7
nivel
socio- auto
edad econo. extra
buen
estudian.
ano
auto
marca
experien. seguri.
anti
robo
habilid. kilome.
manejo ABS lugar
bolsas hogar
aire
histor. valor
manejo comerc.
calidad
manejo accident
robo
condic.
camino danos
persona.
costo
costo coche
defensas otros propio
autos
costo costo
costo personal propied.
medico
8
ACTIVO
+ +
O=N CH = N - NH - C - NH N=O
- -
O O O
nitrofurazone 4-nitropenta[cd]pyrene
INACTIVO
-
O O
+
N
+
N
-
O NH
O
6-nitro-7,8,9,10-tetrahydrobenzo[a]pyrene 4-nitroindole
U
V
Y=Z
W X
9
x
x
x
x
x
10
Por otro, existe una gran cantidad de aplicaciones reales relacionadas con
descubrimiento de conocimiento en base de datos que utilizan algún algoritmo
de aprendizaje. Estas aplicaciones se encuentran en áreas tales como:
• ...
11
• Teorı́a de control: para optimizar objetivos y predecir el estado sigu-
iente de lo que se está controlando.
• Qué algoritmos existen para resolver cierta tarea? cuándo y cómo us-
arlos? qué propiedades tienen?
• ...
Se espera que algunas de estas preguntas se puedan resolver al final del curso.
• Alta dimensionalidad
12
• Ruido, incertidumbre (tanto en datos como en conocimiento del do-
minio y en patrones descubiertos) y datos incompletos y/o esparsos
13
de objetos, obtenidas a partir de un conjunto de ejemplos, pueden ser usadas
para clasificar o predecir.
1. La clase de reglas
2. El espacio de hipótesis
3. El conjunto de ejemplos y su presentación
4. La clase del método de inferencia
5. El criterio de éxito
La clase de reglas:
El espacio de hipótesis:
14
• Espacio de Hipótesis: el conjunto de todas las posibles hipótesis dentro
del lenguaje de hipótesis
15
X X Y Y
XY XY XY XY
f(X).
f(a). f(c).
f(X) :- g(Y). f(b). f(X) :- h(Y).
f(a) :- g(X). f(c) :- h(c).
f(a) :- g(b), h(c).
16
f(x)
f(x) = mx + b
f(x) = ax3+ bx2+ cx + d
f(x) = ax2+ bx + c
Figura 1.8: Qué tan bien se ajusta el modelo depende de la expresividad del
lenguaje.
17
Una presentación puede consistir en: (i) sólo ejemplos positivos y (ii)
positivos y negativos.
Es deseable que la distribución que sigan los ejemplos sea similar a la que
van a tener ejemplos futuros.
Métodos de inferencia:
18
(e.g., algoritmos genéticos).
Criterio de éxito:
Las más comunes son que sea completo y consistente (ver figura 1.9):
19
x x x x
x x
x x x x x x
H
H
x x x x
x x
x x x x x x
H H
20
1.2 Espacio de Versiones
Los ejemplos son objetos para los cuales el predicado meta puede o no
satisfacerse.
Las condiciones por las cuales una hipótesis puede ser inconsistente con
algún ejemplo son:
21
Desde un esquema de lógica, podemos caracterizar el aprendizaje induc-
tivo eliminando gradualmente hipótesis que sean inconsistentes con los ejem-
plos (ver figura 1.10).
22
??
Ejemplo: 4 Espadas (+)
Num ? ? Num
?? 4 Espadas
Num ? ? Num
Ejemplo: 5 Corazones (-)
Num Espadas
Ejemplo: 3 Treboles (+)
? Num
Ejemplo: Reina Treboles (-)
Num Negro
Num Negro
23
x x
x
x
x
x
x
Especializar Generalizar
x x x x
x x
x x
x x x
x x
x x
24
Tabla 1.1: Algoritmo de Mejor Hipótesis Actual.
función mejor-hipótesis-actual(ejemplos)
regresa una hipótesis
1. Verificar todas las instancias anteriores cada vez que se hace una mod-
ificación
25
Tabla 1.2: Algoritmo de Especı́fico a General a lo ancho.
función espec-a-general-breadth(ejemplos)
26
Sin embargo, cada vez que generalizamos, seguimos teniendo que verificar
consistencia con todos los ejemplos positivos.
Una alternativa es mantener todas y sólo aquellas hipótesis que son con-
sistentes con todos los datos.
Todo lo que está entre S y G está garantizado a ser consistente con los
ejemplos (el tamaño de S y G depende del lenguaje).
27
Muy general
mas
general
mas
especifico
Muy especifico
Resumiendo:
28
generalizar
+
H no cubre e
H cubre e
especializar
29
Tabla 1.3: Algoritmo de Espacio de Versiones.
Ventajas:
Problemas:
30
1. Asume que podemos calcular la relación más-general-que
Para el manejo de ruido no existe una solución general (pero vamos a ver
varias). Para el caso de disjunciones ilimitadas, podemos usar una jerarquı́a
de generalizaciones.
31
Capı́tulo 2
Aprendizaje Basado en
Similaridades (SBL)
Atributos Clase
Peludo? Edad? Tamaño?
si viejo grande león
no joven grande no león
si joven mediano león
si viejo pequeño no león
si joven pequeño no león
si joven grande león
no joven pequeño no león
no viejo grande no león
If Tamaño = mediano
Then león
If Tamaño = grande
and Peludo = si
Then león
If Tamaño = pequeño
Then no león
32
~
Tamano
~
pequeno mediano
grande
leon
no leon Peludo
si no
leon no leon
If Tamaño = grande
and Peludo = no
Then no león
Existe una serie de algoritmos desarrollados desde los principios de los 60’s
para la construcción de árboles de decisión. CLS (Hunt et al., 1966), ID3
(Quinlan, 1979), CART (Breiman et al., 1984), ACLS (Niblett et al., 1982),
ASSISTANT (Cestnik et al., 1987), C4.5 (Quinlan, 1993), etc.
33
Un árbol de decisión toma de entrada un objeto o situación descrita por
un conjunto de atributos y regresa una decisión “verdadero/falso”.
Expresividad
Por lo mismo no podemos usar los árboles de decisión para expresar prue-
bas sobre dos o más objetos diferentes, e.g. ∃r2 Cercano(r2 , r)∧P recio(r2, p2 )∧
P recio(r, p) ∧ MasBarato(p2 , p)
Por otro lado, los árboles de decisión son completamente expresivos dentro
de la clase de lenguajes proposicionales. Osea que cualquier función Booleana
puede ser descrita por un árbol de decisión.
34
Por lo mismo, tenemos que usar algún algoritmo ingenioso para encontrar
una hipótesis consistente en un espacio de búsqueda tan grande.
En caso de existir más clases, los ejemplos de una sola clase son positivos
y el resto de los ejemplos son considerados negativos.
Más formalmente:
Encontrar un árbol puede ser trivial (e.g., construir un camino por cada
ejemplo). Sin embargo, no es bueno para predecir casos no vistos. El prob-
lema es que sólo memoriza lo visto, por lo que no extrae ningún patrón de
los ejemplos (por lo que no podemos esperar que extrapole).
35
algoritmos de inducción llamada: Ockham’s razor (muchas veces escrito como
Occam): dar preferencia a hipótesis más simples que sean consistentes con
todas las observaciones.
Aplicaciones:
36
Tabla 2.1: Algoritmo de construcción de árboles de decisión.
función Arbol-decisión(ejemplos,atributos,default)
regresa un árbol de decisión
entradas:ejemplos: conjunto de ejemplos
atributos: conjunto de atributos
default: valor de default para el predicado meta
37
Tabla 2.2: Tabla de ejemplos para decidir si jugar o no golf.
Ambiente
soleado lluvioso
nublado
Humedad P Viento
alta normal si no
N P N P
38
de desarrollo, 0.1 de mantenimiento, mejor que expertos y ahorro de
millones de dolares.
39
E
1
1/2 1 P(x)
p n p p n n
I( , )=− log2 − log2
p+n p+n p+n p+n p+n p+n
40
Cada subconjutno Ei tiene pi ejemplos positivos y ni ejemplos negativos,
pi
por lo que para cada rama necesitamos: I( pi +n , ni ) cantidad de infor-
i pi +ni
mación para responder a una pregunta.
v
X pi + ni pi ni
E(A) = I( , )
i=1 p + n pi + ni pi + ni
p n
Ganancia(A) = I( , ) − E(A)
p+n p+n
Dicho de otra forma, mide que tan bien un atributo separa a los ejemplos
de entrenamiento de acuerdo a la clase meta.
Por ejemplo, si calculamos las ganancias para los atributos con los datos
de la tabla 2.2 (asumimos que 0 × log2 (0) = 0):
9 9 5 5
I(9, 5) = − 14 log2 ( 14 )− 14
log2 ( 14 ) = 0.941
Para Ambiente:
soleado: p1 = 2, n1 = 3, I(p1, n1 ) = 0.971
nublado: p2 = 4, n2 = 0, I(p2 , n2 ) = 0
lluvia: p3 = 3, n3 = 2, I(p3 , n2 ) = 0.971
5 4 5
Entropı́a(Ambiente) = 14 I(p1 , n1 ) + 14 I(p2 , n2 ) + 14
I(p3 , n3 ) = 0.694
Para Humedad :
alta: p1 = 3, n1 = 4, I(p1, n1 ) = 0.985
41
normal: p2 = 6, n2 = 1, I(p2 , n2 ) = 0.592
Entropı́a(Humedad) = 0.798
Para Viento:
no: p1 = 6, n1 = 2, I(p1 , n1 ) = 0.811
si: p2 = 3, n2 = 3, I(p2, n2 ) = 1.0
Entropı́a(Viento) = 0.892
Por lo que ID3 escoge el atributo Ambiente como nodo raı́z y procede a
realizar el mismo proceso con los ejemplos de cada rama.
42
Criterio de Selección:
Posible solución: árbol binario, dividiendo los posibles valores de los atributos
en dos. Desventaja: árboles difı́ciles de entender + computacionalmente caro
(2n subconjuntos para n valores).
Esto es, la entropı́a de los datos con respecto a los valores del atributo
(versus entropı́a con respecto a la clase).
43
el ı́ndice Gini del sistema CART:
m
X
Gini(t) = 1 − (p(j | t))2
j=1
Hasta ahora hemos visto como funciona el algoritmo con atributos con valores
discretos finitos y con datos sin ruido. Veremos ahora algunas extensiones
para estos casos.
Atributos numéricos:
44
punto medio. Por ejemplo, si se toma el punto 71.5, Temperatura < 71.5
tiene 4 P y 2 N, mientras que Temperatura > 71.5 tiene 5 P y 3 N.
Valores faltantes:
Una forma de tratar valores faltantes es como si fueran otro posible valor
del atributo. Esto solo funciona si el valor faltante tiene un significado espe-
cial en algun sentido.
Ignorar los datos es demasiado drástico ya que algunas veces el valor del
atributo puede no ser relevante para tomar una decisión.
Lo que hace C4.5 es distribuir los objetos con valores desconocidos entre
los demas. En donde se calcula la ganacia en información como si pi fuera:
pi + pd · razoni
pi + ni
razoni = P
i (pi + ni )
Idea: seguir todas las posibles ramas pero tomando en cuenta que algunas
45
son más probables que otras (tienen mas datos que la sorportan).
T · razoni
Si se sabe cierta información acerca del posible valor del atributo, se puede
usar algún método probabilı́stico.
Costo de clasificación:
Ruido y “Overfitting”
46
Algunas de las ventajas de ID3 es que es útil en dominios con un alto
grado de no homogeneidad (diferentes relaciones entre atributos en difer-
entes regiones del espacio de problemas) y alta dimensionalidad (muchos
atributos).
• valores desconocidos
Con ruido, se pueden tener dos ejemplos con los mismos valores de atrib-
utos, pero clase diferente. En presencia de ruı́do, el algoritmo básico (ID3)
tiende a construir árboles de decisión que son más grandes de lo necesario, y
no clasifican adecuadamente.
47
En general, podemos hablar de dos métodos utilizados para manejar ruido
(basados en la condición de terminación):
Pruning: En este caso, lo que se tiene que decidir es cuándo parar o dejar
de construir el árbol a pesar de no tener hojas con ejemplos de una sola clase.
Pasos:
2. “Poda” el árbol.
Los problemas que se enfrentan estas técnicas es cuál árbol podado consid-
erar (pueden existir muchas opciones) y cómo estimar el error de clasificación
de los árboles.
48
El estimado de re-substitución está dado por la proporción de ejemplos
en el nodo mal clasificados si se toma la clase mayoritaria en el nodo. El
problema es que el árbol más grande nos dá la mejor clasificación.
Una de las técnicas más populares es hacer una estimación directa del
error por re-substitución (poda). Como se hace con los mismos datos, se
asume que los datos siguen una distribución Bernoulli (por ser unos cuantos
(< 100), la cual se aproxima a una Normal con muchos datos), y considerando
una estimación pesimista dentro de un nivel de confianza.
2.1.3 Ejemplo
Si obtenemos eso con 100 datos o con 10,000 claramente le vamos a creer
más a la estimación con los 10,000 datos.
49
Tabla 2.3: Niveles de confianza de una distribución normal.
P r[X ≥ z] z
0.1% 3.09
0.5% 2.58
1% 2.33
5% 1.65
10% 1.28
20% 0.84
40% 0.25
Las tablas nos dan sólo una mitad, pero al ser simétrica la distribución
normal podemos considerar la mitad del intervalo que queremos y ese bus-
carlo en la tabla.
Las tablas asumen que se tiene una media 0 y varianza de 1 (z nos mide
las desviaciones estandar fuera de la media).
50
f −p
P r[−z ≤ q ≤ z] = c
p(1 − p)/N
51
Temp.
alta baja
media
2P 1P 2P
4N 1N 4N
Figura 2.4: Subarbol de decisión.
Ahora para la clase mayoritaria del nodo tenemos f = 5/14 lo cual nos
da p = 0.46, que como es menor, entonces podamos esa rama.
Análisis de Complejidad:
O(mnlogn) + O(n(logn)2)
52
Donde n es el número de datos y m el número de atributos.
• Model trees: utilizan una regresión lineal para predecir los valores de
las clases
53
dard deviation reduction) como resultado de probar cada atributo en ese
nodo.
X Ti
SDR = destd(T ) − × destd(Ti )
i T
• Se reemplaza el valor del atributo por el valor del atributo más fuerte-
mente correlacionado a él (surrogate splitting).
• Se utiliza el valor de la clase (para entrenamiento). Se cambia por el
valor promedio de los datos en ese nodo (para prueba).
54
Capı́tulo 3
Aprendizaje de Reglas
Las reglas pueden expresar disjunciones de manera más fácil que los
árboles. Por lo mismo, el extaer reglas directamente de árboles tiede a pro-
55
Tabla 3.1: Algoritmo de 1R
Las reglas tienden a preferirse con respecto a los árboles por tender a
representar “pedazos” de conocimiento relativamente independiente.
Listas de Decisión
3.1 1R
56
Covering vs. Splitting
+ +
+ -
+ -
+ + -
Splitting - -
-
(ID3,CART) - +
- +
+
+ +
+ -
+ -
+ + -
Covering
(AQ,CN2) - -
-
- +
- +
+
If Ambiente = soleado
Then Clase = N (cubre 5 y tiene 2 errores)
If Ambiente = nublado
Then Clase = P (cubre 4 y tiene 0 errores)
If Ambiente = lluvioso
Then Clase = P (cubre 5 y tiene 2 errores)
57
• Los valores faltantes en 1R se tratan como un nuevo valor y para los
atributos continuos se hace una división simple.
Ejemplo:
64 65 68 69 70 71 72 72 75 75 80 81 83 85
P N P P P N N P P P N P P N
• Tomando los puntos intermedios serı́a: 64.5, 66.5, 70.5, 72, 77.5, 80.5
y 84.
P N P P P N N P P P N P P N
58
P N P P P N N P P P N P P N
P N P P P N N P P P N P P N
If Temperatura ≤ 77.5
Then Clase = P (cubre 10 y tiene 3 errores)
3.2 PRISM
59
If true [9+,5- ]
Then Clase = P
...
[6+,2- ]
If Viento=n [3+,4- ]
Then Clase=P If Humedad=alta
Then Clase=P
If Viento=si [6+,1- ]
Then Clase=P If Hum.=normal
[3+,3- ] Then Clase=P
...
If Hum.=normal
and Viento=no If Hum.=normal
Then Clase=P and Ambiente=lluvia
Then Clase=P
If Hum.=normal
and Viento=si [2+,0- ]
Then Clase=P If Hum.=normal
and Ambiente=soleado
Then Clase=P
60
Tabla 3.3: Ejemplos para construir reglas.
A1 A2 A3 A4 Clase
1 x triang a P
0 x circ a N
1 y cuadr a P
1 y triang b P
1 x cuadr b N
0 y circ a P
0 x traing b N
1 y circ a P
• Reglas que no dependen del orden son más modulares, pero pueden
producir varias clasificaciones o no predecir nada.
3.2.1 Ejemplo
61
Tabla 3.4: Ejemplos que quedan después de eliminar los cubiertos por la
primera regla.
A1 A2 A3 A4 Clase
1 x triang a P
0 x circ a N
1 x cuadr b N
0 x traing b N
If A1 = 1 If A1 = 0 If A2 = x
Then Clase = P Then Clase = P Then Clase = P
4/5 1/3 1/4
If A2 = y If A3 = triang If A3 = circ
Then Clase = P Then Clase = P Then Clase = P
4/4 2/3 2/3
If A3 = cuadr If A4 = a If A4 = b
Then Clase = P Then Clase = P Then Clase = P
1/2 4/5 1/3
En este caso una regla es perfecta, (If A2 = y Then Clase = P) por lo que
esa seleccionamos y eliminamos todos los ejemplos que cubre (ver tabla 3.4).
If A4 = a If A4 = b
Then Clase = P Then Clase = P
1/2 0/2
En este caso, tenemos tres empates de 1/2 como valor máximo. Tomamos
62
uno al azar y construimos todas las posibles reglas añadiendole posibles pares
atributo-valor:
If A1 = 1 If A1 = 1 If A1 = 1
And A2 = x And A3 = triang And A3 = circ
Then Clase = P Then Clase = P Then Clase = P
1/2 1/1 0/0
If A1 = 1 If A1 = 1 If A1 = 1
And A3 = cuadr And A4 = a And A4 = b
Then Clase = P Then Clase = P Then Clase = P
0/1 1/1 0/1
AQ
63
ejemplo - semilla.
CN2
Un poco más adelante se propuso el sistema CN2 (Clark, Niblett, 88), con
la idea de atacar datos con ruido y evitar el sobreajuste que se encontraba
en sistemas como AQ.
64
Se selecciona la regla de menor entropı́a, osea la regla que cubre muchos
ejemplos de 1 clase y pocos de las demás.
65
Medidas Alternativas de Selección:
p p
m(R) = =
t p+n
p+1
m(R) =
p+n+k
p + m · Pa (C)
m(R) =
p+n+m
• Ganancia de información:
p P
log2 − log2
p+n P +N
66
Tabla 3.5: Algoritmo de podado de reglas.
En este sentido, los algoritmos que aprenden decision lists tienen cierta
ventaja, ya que ejemplos que parecen difı́ciles al principio, se van quedando
y al final se pueden resolver, en general, más fácilmente.
Los atributos numéricos se pueden tratar igual que con los árboles.
Pruning:
Idea: generar reglas que cubran puros ejemplos positivos. Esta regla
es probable que este sobre-especializada. Lo que se hace es que se elimina
el último término que se añadio y se verifica si esta regla es mejor a la
anterior (ver abajo). Este proceso se repite hasta que no existan mejoras
(ver tabla 3.5).
67
principales:
Esto es, una regla que cubra t casos, de los cuales i sean de la clase C
(sin reemplazo):
! !
P T −P
i t−i
P r(tC ) = !
T
t
min(t,P )
X
m(R) = P r(tC )
i=p
68
Como este es muy costoso de calcular, se pueden hacer aproximaciones.
Si el número de ejemplos es grande, la probabilidad de que exactamente i
ejemplos de los t sean de clase C (con reemplazo) es:
!
t P P
P r(tC ) = ( )i (1 − )t−i
i T T
t
!
X t P P
( )i (1 − )t−i = Iβ (p, t − p + 1)
i=p
i T T
RIPPER
69
Una variante que obtiene buenos resultados, es construir un conjunto
de reglas usando covering, reducirlas usando alguna heurı́stica como las de
arriba con un conjunto de entrenamiento separado, y luego “optimizar” al
mismo tiempo ese conjunto de reglas (RIPPER).
• utiliza una medida basada en MDL como criterio de paro para el con-
junto global de reglas.
Una vez que construye un conjunto inicial de reglas, toma una regla Ri
del conjunto total de reglas y la hace crecer (revision) y también hace crecer
una nueva regla desde el principio.
Al final se queda con la regla original o alguna de las otras dos (la que
hizo crecer o construyo desde cero) pero tomando en cuenta el error sobre el
conjunto total de las reglas.
70
En lugar de construir un árbol completo, se construyen árboles parciales,
expandiendo las hojas con mejores medidas de entropı́a.
Este esquema tiende a producir conjuntos de reglas simples con muy buen
desempeño.
Ripple-down rules
Se busca la mejor regla (la que cubra más casos) de otra clase y se añade
como una excepción.
Esto divide de nuevo los datos en los que cumplen con esa nueva condición
y los que no cumplen.
Algunas veces requerimos reglas más expresivas para poder expresar rela-
ciones entre los ejemplos.
71
Tabla 3.6: Ejemplo de Ripple down rules.
Default: reprueba
excepto
Si estudia=si AND memoriza=no
Entonces pasa
excepto
Si copia=si AND descubren=si
Entonces reprueba
Else
Si estudia=no AND copia=si AND descubren=no
Entonces pasa
excepto
Si vecino-sabe=no
Entonces reprueba
Sin embargo, si vemos varios ejemplos de este dominio, notamos que ”los
bloques con clase ”standing” (de pie) tienen más altura que anchura” y es
posible generar las reglas:
72
Figura 3.3: Ejemplo de Dominio Relacional.
73
Capı́tulo 4
Reglas de Asociación
Para encontrar ese tipo de reglas se debe de considerar cada posible com-
binación de pares atributo-valor del lado derecho.
74
Tabla 4.1: Transacciones
– A ⇒ C (50%, 66.6%)
– C ⇒ A (50%, 100%)
El significado intuitivo:
4.1 Definiciones
• I = {i1 , i2 , i3 , . . . , im } ⇒ un conjunto de literales, atributos
75
• D ⇒ un conjunto de transacciones T , T ⊆ I
• T ID ⇒ un identificador asociado a cada transacción
• X ⇒ un conjunto de elementos X ∈ I
• Una regla de asociación es una implicación:
– X ⇒ Z, X ∈ I, Z ∈ I y X ∩ Z = ∅
• Soporte (o cobertura), s, es la probabilidad de que una transacción
contenga {X, Z}
• Confianza (o eficiencia), c, es la probabilidad condicional de que una
transacción que contenga {X} también contenga {Z}.
soporte(X ⇒ Z) = P (X ∪ Z)
soporte(X ∪ Z)
confianza(X ⇒ Z) = P (Z|X) =
soporte(X)
76
Un ejemplo tı́pico de reglas de asociación es el análisis de la canasta de
mercado.
4.3 Algoritmo
77
Tabla 4.2: Algoritmo Apriori
Apriori()
L1 = find-frequent-1-itemsets(D)
for (k = 2; Lk−1 6= NULL; k++)
% generate-&-prune candidate k-itemsets
Ck = AprioriGen(Lk−1 )
forall transactions t ∈ D
Ct = subset(Ck , t)
forall candidates c ∈ Ct
c.count + +
Lk = {c ∈ Ck | c.count ≥ minsup}
Return ∪k Lk
1. Genera todos los items sets con un elemento. Usa estos para generar
los de dos elementos, y ası́ sucesivamente.
Se toman todos los posibles pares que cumplen con las medidas mı́nimas
de soporte. Esto permite ir eliminando posibles combinaciones ya que
no todas se tienen que considerar.
En las tablas 4.2, 4.3, 4.4 y 4.5 se muestra el pseudocódigo del algoritmo
apriori.
Por el contrario, si algún item no los cumple, no tiene caso considerar sus
superconjuntos.
78
Tabla 4.3: Función Apriori Genera
AssocRules()
forall large itemsets lk , k ≥ 2
GenRules(lk , lk )
79
Tabla 4.6: Datos de compras de productos.
id1 p1,p2,p5
id2 p2,p4
id3 p2,p3
id4 p1,p2,p4
id5 p1,p3
id6 p2,p3
id7 p1,p3
id8 p1,p2,p3,p5
id9 p1,p2,p3
Este método hace una pasada por la base de datos cada para cada con-
junto de items de diferente tamaño.
La figura 4.1 muestra este proceso con los datos de la tabla anterior.
Una vez que tenemos los conjuntos de items, generar las reglas es relati-
vamente sencillo.
80
1,2,3(2) 1,2,5(2)
soporte(l)
≥ nivel confianza
soporte(s)
• Usar tablas hash para reducir el tamaño de los candidatos de los item-
sets
81
• Hacer aproximaciones con muestreos en la lista de productos, para no
tener que leer todos los datos
82
2. Encontrar reglas de asociación combinando información de múltiples
tablas o reglas de asociación multidimensionales.
Los DataCubes pueden servir para encontrar reglas de asociación mul-
tidimensionales.
3. Las reglas de asociación, al igual que los árboles de decisión y las reglas
de clasificación que hemos visto, funcionan, en su forma original, con
atributos discretos.
Al igual que en las otras técnicas se han propuesto mecanismos para
manjejar atributos continuos.
Los enfoques más comunes son:
83
4.6 Asociación vs. Correlación
Sin embargo, el 75% de los clientes compran videos por lo que el comprar
videojuegos reduce las posibilidades de comprar videos.
Meta-Reglas
84
Tabla 4.7: Reglas de Asociación vs. Reglas de Clasificación
Exploración de dependencias vs. Predicción enfocada
Diferentes combinaciones de vs. Predice un atributo (clase)
atributos dependientes e a partir de otros
independientes
Búsqueda completa (todas las vs. búsqueda heurı́stica (se encuentra
reglas encontradas) un subconjunto de reglas)
Uso de restricciones
85
(par atributo-valor), estan basados en covering, y utilizan sobre todo criterios
de paro (y a veces sobreajuste y podado).
86
Capı́tulo 5
Evaluación
Lo anterior se refiere a:
87
Necesitamos saber si la diferencia en precisión de los algoritmos es signi-
ficativa o no lo es.
• Sesgo en la estimación.
– La precisión observada en la muestra no es un buen estimador de
la precisión sobre futuras instancias.
– El estimador será optimista, más aún cuando se tiene un espacio
de hipótesis grande y hay un sobreajuste de los datos.
– Es por esto que probamos con datos que no usamos para entrenar.
• Varianza en la estimación.
– Aún cuando la precisión de la hipótesis se mide con un conjunto de
prueba independiente del conjunto de entrenamiento, la precisión
medida puede variar de la precisión verdadera y esto depende de
los ejemplos de prueba utilizados.
– Mientras más pequeña es la muestra, más grande es la varianza
esperada.
88
precisión.
89
• Tasa de error de la hipótesis sobre toda la distribución desconocida D
de ejemplos, que es lo que quisiéramos calcular
1 P
• errorS (h) = n
δ(f (x), h(x))
x∈S
• n es el número de ejemplos en S
• δ(f (x), h(x)) es 1 si f (x) 6= h(x) y 0 de otro modo
90
• Queremos estimar el error verdadero para una hipótesis h basándonos
en el error sobre la muestra S
• n > 30
r
• h tiene r errores sobre los n ejemplos errorS (h) = n
Ejemplo
• n = 40 ejemplos
91
• Por eso se llama el intervalo estimado del 95% de confianza para errorD (h)
• El intervalo es 0.30 ±(1.96×0.07)=0.30 ± 0.14.
La
q fórmula general para calcular intervalos de confianza es: errorS (h) ±
errorS (h)(1−errorS (h))
ZN n
• Usamos esta fórmula para calcular los intervalos de confianza para es-
timados de errorS (h)
• Recordemos que se utiliza para hipótesis con valores discretos
• Asumimos que la muestra S se toma aleatoriamente utilizando la misma
distribución con que se tomarán futuros ejemplos
• Asumimos que los datos son independientes de la hipótesis que estamos
probando
• Proporciona sólo una aproximación buena para más de 30 ejemplos y
si errorS (h) no esta tan cerca de 0 o 1.
• Otra regla para saber si la aproximación sera buena es: n errorS (h)(1−
errorS (h)) ≥ 5
92
1. Identificar el parámetro de la población p a estimar, por ejemplo:
errorD (h)
• Y¯n ≡ ni=1 Yi .
P
93
– Si definimos un estimador que es la media de una muestra (como
errorS (h)), la distribución que gobierna este estimador se puede
aproximar con una distribución Normal para una n suficiente-
mente grande
– Si conocemos también la varianza, podemos usar la ecuación µ ±
zN σ para calcular el intervalo de confianza
– Comunmente utilizamos como regla que podemos utilizar una
aproximación Normal cuando n ≥ 30
94
• La varianza de la distribución es la suma de las varianzas de la dis-
tribuciones errorS1 (h1 ) y errorS2 (h2 )
errorS1 (h1 )(1−errorS1 (h1 ))
• La aproximación de la varianza de las distribuciones es: σd2ˆ ≈ n1
+
errorS2 (h2 )(1−errorS2 (h2 ))
n2
• Note que es posible que observemos esta diferencia aún cuando errorD (h1 ) ≤
errorD (h2 ) debido a la variación aleatoria en los datos de la muestra
95
• P r(d > 0) es la probabilidad de que dˆ no sobre-estime d en más de 0.1,
esto es lo mismo que la probabilidad de que dˆ caiga en el intervalo de
un solo lado dˆ < d + 0.1 y esto se puede expresar como dˆ < σdˆ + 0.1
96
• Queremos determinar cual de LA y LB es mejor método en promedio
para una función objetivo particular f
• Para definir en promedio consideramos la precisión relativa de los al-
goritmos promediada sobre todos los conjuntos de tamaño n que se
puedan tomar de la instancia de distribución D
• En otras palabras queremos determinar el valor esperado de la diferen-
cia de errores ES⊂D [errorD (LA (S)) − errorD (LB (S))]
• L(S) es la hipótesis de salida del algoritmo L dada la muestra S de
datos de entrenamiento y S ⊂ D significa que el valor esperado se
toma sobre las muestras S tomadas bajo la instancia de distribución D
• Pero en la práctica la muestra es de tamaño limitado D0
• En este caso dividimos los datos en conjuntos disjuntos de entrenamiento
S0 y prueba T0
• Usamos S0 para entrenar y T0 para comparar la precisión
• Medimos la cantidad errorT0 (LA (S0 )) − errorT0 (LB (S0 ))
• Para obtener una mejor medida, podemos particionar repetidamente
https://www.bancomer.com/acceso/perfila.asp el conjunto D0 en con-
juntos disjuntos de entrenamiento y prueba y calcular la media de los
errores del conjunto de prueba para todos los experimentos
• Esto es lo que conocemos como el k-fold cross validation que usamos
cuando tenemos al menos 30 ejemplos de entrenamiento
k
P
1
• Obtenemos δ̂ ≡ k
δi
i=1
δ̂ ← errorTi (hA ) − errorTi (hB )
97
• El intervalo de confianza aproximado del N% para estimar ES⊂D0 [errorD (LA (S))−
errorD (LB (S))] usando δ̂ esta dado por:
δ̂ ± tN,k−1 S δ̂
• sδ̂ es s
un estimado de la desviación estandar que gobierna δ̂
k
P
1
sδ̂ ≡ k(k−1)
(δi − δ̂)2
i=1
• Note que las muestras con que probamos a los 2 algoritmos son idénticas,
a estas pruebas se les llama apareadas
98
Confidence level
90% 95% 98% 99%
v=2 2.92 4.30 6.96 9.92
v=5 2.02 2.57 3.36 4.03
v=10 1.81 2.23 2.76 3.17
v=20 1.72 2.09 2.53 2.84
v=30 1.70 2.04 2.46 2.75
v=120 1.66 1.98 2.36 2.62
v = ∞ 1.64 1.96 2.33 2.58
Tabla 5.2: Valores de tN,v
Ejemplo Suponga que se realizó una prueba de 10-FCV con dos clasificadores
y queremos saber si la diferencia entre sus promedios es significativa.
99
Prueba ALG-1 ALG-2
1 88 85
2 85 80
3 93 87
4 87 82
5 89 85
6 85 82
7 87 83
8 84 79
9 86 80
10 88 86
• Por tanto, al rechazar la hipótesis nula, se concluye que sı́ hay una
diferencia significativa entre las medias.
100
• ANOVA prueba la diferencia entre las medias de 2 o más grupos
101
Capı́tulo 6
Importante: que las cosas que queremos que sean verdaderas coicidan con las
que podemos probar.
Caracterı́sticas:
• reglas de inferencia
102
Axiomas
Pruebas Modelos
deriva interpreta
Teoremas Valores de
Verdad
válido inválido
satisfacible insatisfacible
103
las literales.
Equivalencias:
A1 , . . . , An ← B1 , . . . Bm
A←
← B1 , . . . , Bn
A ← B1 , . . . , Bn
Una cláusula definitiva (definite clause) es una cláusula con una literal
positiva (A ← o A ← B1 , . . . , Bn ).
Resolución
104
v <- w w
u<- v v
u
Figura 6.2: Un árbol de derivación proposicional.
Ejemplo sencillo:
Al aplicar una substitución a una wff se genera una nueva expresión (una
instancia).
105
hija(X,Y) <- femenino(X),
fememino(ana). padre(Y,X).
1={X/ana}
={Y/juan}
2
hija(ana,juan).
Figura 6.3: Un árbol de derivación lineal de primer orden.
Resolución SLD
Resolución lineal:
106
• El último resolvente se toma como cláusula padre.
Una forma especial de resolución lineal es: input resolution. En esta es-
trategia, cada paso de resolución, exceptuando el primero, se toma del último
resolvente (cláusulas metas) y del conjunto original (cláusulas de entrada).
Esto es, cada prueba que se hace sobre un atributo en un árbol o en una
condición de una regla se puede ver como una proposición. Por lo mismo,
hablan de un solo objeto a la vez y no podemos relacionar propiedades de
107
dos o más objetos a menos que definamos una propiedad que exprese esa
relación para todos los objetos de nuestro dominio.
mov(X, Y, X, Z) : −Y 6= Z.
mov(X, Y, Z, Y ) : −X 6= Z.
108
el concepto de hija definida entre dos personas. hija(X, Y ) es verdadero si
X es hija de Y 1 . Podemos definir la relación hija(X, Y ), en términos de las
relaciones como padre y femenino.
Resultado:
hija(X, Y ) : −f emenino(X), padre(Y, X).
109
1 2 5
7
0 3 4 6
8
conectados(0,1). +
conectados(1,8). −
...
110
conectados(X,Y) :-
liga(X,Y).
conectados(X,Y) :-
liga(X,Z), conectados(Z,Y).
Dados
• un conjunto de ejemplos positivos E +
• un conjunto de ejemplos negativos E −
• un programa lógico consistente, T , tal que T 6⊢ e+ para al menos un
e+ ∈ E +
111
• Suficiencia posterior (completo): T ∧ H |= E +
112
Tomando, solo las constantes: juan, ana y vino, todas las instanciaciones
aterrizadas (ground ) del programa lógico son:
Un caso especial, el que más se usa en ILP, en cuando todos los ejemplos
son hechos sin variables.
Búsqueda de Hipótesis
113
El proceso de inducción puede verse como un proceso de búsqueda de
una hipótesis dentro del espacio de hipótesis H = {H1 , H2 , . . . , Hn }, esto es
dentro del conjunto de todas las hipótesis que el algoritmo de aprendizaje
está diseñado a producir.
En ILP este espacio puede ser demasiado grande por lo que normalmente
se diseñan estrategias de búsqueda que consideren sólo un número limitado
de alternativas.
114
Si CΘ-subsume a C ′ , entonces C ′ es una consecuencia lógica de C, C |=
′
C , pero al revés no se cumple. Por ejemplo: C = par(X) ← par(mitad(X))
y D = par(X) ← par(mitad(mitad(X))). C |= D pero C no Θ-subsume D
(CΘ 6⊆ D).
Ejemplo:
115
Espacio de Soluciones
Por ejemplo, si tenemos las siguientes dos literales (L1 , L2 ) podemos encon-
trar el lgg y el mgu entre ellas, donde el lgg es la literal más especı́fica que
subsume a las dos literales, mientras que el mgu es la literla más general
subsumida por L1 y L2 .
116
Tabla 6.1: Algoritmo de lgg entre dos términos.
1. Sea P1 = L1 y P2 = L2 .
5. Ve a 2.
117
C1 = member (1,[0,1]) ← member (1,[1]), member (0,[2,0]),
member (1,[1,0]).
C2 = member (0,[1,2,0]) ← member (1,[1]), member (0,[2,0]),
member (1,[1,0]).
Produce:
member (X,[Y,Z|T]) ←
member (1,[1]), member (X,[Z|T]), member (1,[1|T]),
member (Y,[W|R]), member (0,[2,0]), member (Y,[W,0]),
member (1,[1|R]), member (X,[Z,0]), member (1,[1,0]).
Una cláusula C es más general que una D con respecto a una teorı́a T si
T ∧ C ⊢ D.
118
Para mejorar esto, Buntine introdujo la noción de subsumción general-
izada, el cual es un caso especial de rlgg, restringido a cláusulas definitivas.
La idea es que C es más general que D con respecto a T , si cada vez que
D se puede usar (junto con T ) para explicar algún ejemplo, C también se
pueda usar.
Esto lo podemos ver como sigue. Sean: (i) C y D dos cláusulas con
variables disjuntas, y T un programa lógico, (ii) θ1 una substitución (ground)
para las variables en Ccabeza , (iii) θ2 una substitución para el resto de las
variables en C, y (iv) similarmente, φ1 y φ2 para D. Si lggT (C, D) existe, es
equivalente al lgg(C ′, D ′ ), donde:
C ′ ≡ C θ1 ∪ {¬A1 , . . . , ¬An } y D ′ ≡ D φ1 ∪ {¬B1 , . . . , ¬Bm }
y para 1 ≤ i ≤ n, T ∧ Ccuerpoθ1 θ2 |= Ai , y Ai es un átomo aterrizado
construido con sı́mbolos que ocurren en T , C, θ1 , θ2 , y D. Similarmente para
cada Bj .
• Toma una cláusula ejemplo (C1 ) y sea θ1,1 una substitución instan-
ciando las variables en la cabeza de C1 a nuevas constants y θ1,2 in-
stanciando las variables que quedan a nuevas constantes.
• Construye una nueva cláusula saturada (NC) definida como: NC ≡
C1 θ1,1 ∪ {¬A1,1 , ¬A1,2 , . . .} donde T ∧ C1cuerpoθ1,1 θ1,2 |= A1,i , y A1,i es
una átomo instanciado.
• Construye para cada ejemplo, su cláusula saturada, y calcula el lgg
entre ellas.
119
C = f aldero(f ido) ← consentido(f ido), pequeño(f ido), perro(f ido).
D = f aldero(morris) ← consentido(morris), gato(morris). Entonces:
lo cual podrı́a ofender a varias personas. Si por otro lado tenemos de conocimiento
del dominio:
mascota(X) ← perro(X).
mascota(X) ← gato(X).
pequeño(X) ← gato(X).
Entonces:
rlggT (C, D) = lgg(C ′, D ′) =
f aldero(X) ← consentido(X), pequeño(X), mascota(X).
que se acerca más a una definición plausible que toma en cuenta nuestro
conocimiento del dominio. Sistemas como PAL y Golem estás basados en
esta técnica.
120
femenino(ana). hija(X,Y) femenino(X), padre(Y,X).
-1
01 = {ana/X}
padre(juan,ana). hija(ana,Y) padre(juan,ana).
-1
02 = {juan/Y}
hija(ana,juan).
121
donde θ1 y θ2 son substituciones involucrando únicamente las variables de las
cláusulas C1 y C2 respectivamente.
C1 = P ← Q, R.
C2 = S ← R, T.
C3 = V ← Q, R, T, W.
122
C1 y C2 comparten una literal y ambas se pueden usar para hacer absorp-
tion con respecto a C3 . Absorption de C3 con C1 nos da: C4 = V ← P, T, W ,
pero ahora no se puede hacer absorption de C3 con C2 .
C1 y C3 : C4 = V ← [Q, R], P, T, W.
C4 y C2 : C5 = V ← [Q, R, T ], W, P, S.
123
C1: nvop(B,C) :- madre(B,C). C2: nvop(B,C) :- madre(B,C).
A: abuelo(L,N) :- padre(L,M),nvop(M,N).
h(ana,juan). h(maria,pepe).
124
sii todo modelo de C también es modelo de D, i.e., C |= D. Decimos que
C es una generalización (bajo implicación) de D. El problema de invertir
implicación es que implicación es indecidible y computacionalmente es muy
costoso, a menos, que se impongan ciertas restricciones.
125
Tabla 6.2: Algoritmo de construcción de cláusulas de general a especı́fico.
Inicializa Eactual := E
Inicializa H := ∅
repite % covering
Iniciaiza C := T ←
repite % especializa
Encuentra el mejor refinamiento (Cmejor ) de C
Sea C := Cmejor
hasta criterio de paro (necesidad)
Añade C a H, H := H ∪ {C}
Elimina ejemplos positivos cubiertos por C de Eactual
hasta criterio de paro (suficiencia)
Regresa H
hija(X,Y)
...
hija(X,Y) femenino(X), hija(X,Y) femenino(X),
femenino(Y). padre(Y,X).
126
paro.
Para añadir una nueva literal (especializar una cláusula) se puede hacer
con operadores de refinamiento (refinement operators).
127
finita de constantes.
Ejemplo:
ligados(X, Y ).
ligados(X, Y ) :- liga(X, Y ).
Elimina 10 tuplas de ⊕
128
ligados(X, Y ) :- liga(X, Z), ligados(Z, Y ).
Cada literal del cuerpo de la cláusula puede tomar una de las siguientes
4 formas (refinamientos):
(i) Xj = Xk
(ii) Xj 6= Xk
(iii) P (V1 , V2 , . . . , Vn )
(iv) ¬P (V1 , V2 , . . . , Vn )
Las nuevas literales en Foil deben de contener por lo menos una variable
existente.
Foil usa una métrica de ganacia de información para añadir nuevas lit-
erales:
P1 P0
Gain(literal) = T ++ ∗ [log2 ( ) − log2 ( )]
P1 + N1 P0 + N0
donde
129
• Dado un conjunto de tuplas positivas y negativas y tuplas de
conocimiento del dominio
Medidas de calidad
130
• Ganancia en precisión: Se puede medir el aumento de precisión que se
obtiene al añadir una literal a la cláusula c para obtener c′ , AG(c′ , c′ ) =
A(c′ ) − A(c) = p(⊕|c′ ) − p(⊕|c).
• Ganancia de información: Similarmente, se puede medir la disminución
en información, IG(c′ , c) = I(c) − I(c′ ) = log2 p(⊕|c′ ) − log2 p(⊕|c).
• Ganancia en precisión o en información pesada: Se pueden pesar las
⊕ ′
medidas anteriores por el siguiente factor nn⊕(c(c)) , para estimar lo que se
gana en ejemplos positivos cubiertos por una especialización particular.
Una medida parecida a esta es empleada por Foil.
⊕
• Frecuencia relativa, que como ya vimos antes es: p(⊕|c) = nn(c)
(c)
. Esto
es adecuado cuando se cubren muchos ejemplos. Cuando existen pocos
ejemplos, esta medida deja de ser confiable.
⊕
• Estimador Laplaciano: p(⊕|c) = nn(c)+2(c)+1
. Esta medida aplica cuando
se tienen dos clases. Esta medida también asume que se tiene una
distribución uniforme de las dos clases.
⊕ ⊕
• Estimador-m: p(⊕|c) = n (c)+m×pn(c)+m
a (⊕)
donde pa (⊕) = nn , es la proba-
bilidad a priori de la clase y m expresa nuestra confianza en la evidencia
(ejemplos de entrenamiento). Se define subjetivamente de acuerdo al
ruido en los ejemplos, entre más ruido más grande tiene que se ser el
valor de m. Si m = 0 regresamos a frecuencia relativa y si m = 2 y
pa (⊕) = 21 regresamos al estimador Laplaciano.
Existe una gran cantidad de algoritmos de ILP que utilizan una estrategia
top-down de general a especı́fico (v.g., Tilde, ICL, mFoil, Foil, entre otros).
131
Los sistemas que usan estrategias de general a especı́fico tienden a tener
dificultades con cláusulas que involucran muchas literales. Por otro lado, al
utilizar una estrategia de búsqueda tipo hill climbing (como la mayorı́a de
los sistemas de aprendizaje), pueden caer en mı́nimos locales y no llegar a
encontrar la mejor hipótesis.
En general todos los sistemas ILP introducen ciertas restricciones para generar
sus hipótesis:
132
• Utiliza predicados adicionales para determinar qué predicados del conocimiento
del dominio son relevantes para la hipótesis actual (v.g., Tracy).
6.2.8 Proposicionalización.
133
Tabla 6.4: Transformación a una representación proposicional para aprender
la relación de hija.
Variables Atributos proposicionales Cl
X Y f(X) f(Y) P(X,X) P(X,Y) P(Y,X) P(Y,Y) X=Y
fer edu true false false true false false false ⊕
cam car true true false true false false false ⊕
emi ern false false false false true false false ⊖
val rob true false false false false false false ⊖
El resultado serı́a:
134
probar un nodo significa probar la conjunción en el nodo y las conjun-
ciones en el camino del nodo raı́z hasta nodo que se está probando.
Esto mismo se ha extendido a árboles de regresión.
6.2.10 Aplicaciones
135
• Predicción de relaciones en estructura-actividad, incluyendo la mu-
tagénesis de compuestos moleculares que pueden causar cancer.
136
Capı́tulo 7
Descubrimiento de
Conocimiento Basado en Grafos
7.1 Introducción
Representación de Conocimiento:
Espacio de Búsqueda:
Criterio de Evaluación:
137
espacio de búsqueda son relevantes y pueden ser considerados como parte
de los resultados. El método basado en grafos Subdue utiliza el principio de
longitud de descripción mı́nima (MDL) para evaluar los subgrafos descubier-
tos. El principio MDL dice que la mejor descripción del conjunto de datos
es aquella que minimiza la longitud de la descripción de todo el conjunto
de datos. En el método basado en grafos, el principio MDL se utiliza para
determinar que tan bien un grafo comprime al grafo de entrada. De esta
manera, todos los subgrafos que se generan durante el proceso de búsqueda
se evaluan de acuerdo al principio MDL y los mejores subgrafos se eligen
como parte del resultado.
138
los atributos especı́ficos y los vértices especifican el valor de ese atributo para
el evento. Una representación basada en grafos es lo suficientemente flexible
para permitir tener más de una representación para un dominio dado, per-
mitiendo al investigador experimentar para obtener la mejor representación
para su dominio. La definición de los grafos tiene un formato especı́fico que
se da como entrada al sistema Subdue. Para esta sección definiremos los
siguientes términos.
Algunos Términos:
139
Tabla 7.1: Algoritmo de Búsqueda de Subdue
140
El algoritmo de búsqueda inicia con la creación de una subestructura de
cada etiqueta de vértice y sus instancias asociadas, las cuales se insertan
en ParentList. Después, cada subestructura de ParentList se extiende en
cada posible manera añadiendo un vértice y un arco o solo un arco (en el
caso de que el arco ligue dos vértices que ya existan en la subestructura).
Las instancias resultantes de la extensión se agrupan en subestructuras. La
primera aparición de cada instancia se convierte en la definición de sube-
structura, y el resto se asocia a esa subestructura como instancias. Después,
todas las subestructuras producidas se evalúan de acuerdo al principio MDL
y se insertan en ChildList ordenadas por su valor. ChildList mantiene tantas
subestructuras como el valor del parámetro Beam. Posteriormente, la sube-
structura Parent se inserta en BestList (la cual mantiene solo NumBestSubs
subestructuras), y este proceso continúa hasta que ParentList se vacı́e. En
este momento ParentList y ChildList se intercambian y se repite el proceso.
El número de subestructuras Parent consideradas en la búsqueda esta re-
stringido por el parámetro Lı́mite. El valor por default de este lı́mite se
deriva de el número de arcos y vértices en el grafo de entrada ( el número de
vértices mas el número de arcos dividido por dos). BestList esta restringida
por default a tener el mismo tamaño que la longitud del beam Beam, pero las
restricciones de longitud se pueden modificar independientemente utilizando
los parámetros del sistema.
141
después de ser comprimido utilizando la subestructura S.
Es posible guiar a Subdue para que encuentre subestructuras que creemos que
estan en la base de datos. Para esto especificamos a Subdue subestructuras
predefinidas en un archivo separado y también en su representación basada
en grafos.
142
7.2.5 Macheo Inexacto de Grafos
7.3.1 Modelo
143
namiento positivos y negativos. Para el aprendizaje de conceptos basado en
grafos, se utiliza un conjunto de ejemplos positivos y negativos en su repre-
sentación con grafos para entrenar y encontrar el concepto que describe el
dominio.
144
como positivo o todos los sub-conceptos se probaron sin ningún resultado
positivo, lo cual significa que el ejemplo se clasifica como negativo.
7.3.2 Implementación
145
subestructura se consideran errores poruq la subestructua ideal seria una
que cubre todos los ejemplos positivos sin cubrir ningún ejemplo negativo.
El valor de la subestructura se calcula con la siguiente ecuación:
value = 1 − Error
146
Tabla 7.2: Algoritmo Principal de Subdue
Cada vez que se hace una llamada a la función SubdueCL se añade una
subestructura a H. En el caso en que SubdueCL regresa NULL, el Beam
se incrementa en 10%, de tal modo que SubdueCL pueda explorar un espa-
cio de búsqueda más amplio. Elegimos hacer incrementos del beam de 10%
porque ese valor fue suficiente para encontrar una subestructura en la sigu-
iente iteración para la mayorı́a de los experimentos. Además, después de que
SubdueCL encuentra una subestructura, los ejemplos positivos cubiertos por
ella se eliminan del grafo positivo.
147
Tabla 7.3: Algoritmo SubdueCL.
148
struir una ParentList creando una subestructura para cada vértice en el
grafo con una etiqueta diferente, pero manteniendo solo tantas subestructuras
como lo permita el tamaño del Beam. El operador “mod Beam” significa que
las listas contienen tantas subestructuras como el tamaño del Beam. Poste-
riormente se expande cada una de las subestructuras en la lista ParentList
con un arco o un vértice y un arco en todos los modos posibles y se evalúa
de acuerdo a la ecuación presentada anteriormente. Aquellas subestructuras
que cubran al menos un ejemplo positivo y caen dentro de los lı́mites del
tamaño del Beam se quedan en la lista BestList. La lista ChildList mantiene
todas las subestructuras que fueron obtenidas de la expansión de las sube-
structuras de la lista ParentList y también se esta restringida por el tamaño
del Beam.
149
Capı́tulo 8
Aprendizaje Bayesiano
8.1 Probabilidad
1. 0 ≤ P (A) ≤ 1
2. P (S) = 1
Teorema 1: P (∅) = 0
150
Teorema 2: P (A) = 1 − P (A)
Probabilidad Condicional
Eventos independientes
151
Independencia condicional
Ejemplo:
• A - regar el jardı́n
• B - predicción del clima
• C - lluvia
Variables Aleatorias
F (x) = P {X ≤ x}
152
Px
F (x) = −∞ p(X)
Propiedades:
1. 0 ≤ F (x) ≤ 1
3. F (−∞) = 0
4. F (+∞) = 1
Momentos
Momentos “centrales”
P
• varianza: σ 2 (X) = (xi − E{X})2 P (xi )
√
• desviación estandar: σ(x) = σ 2 (x)
153
Definición: Dado un experimento E con espacio de muestreo S. Si X y Y
son dos funciones que le asignan números reales a cada resultado posible,
entonces (X, Y ) es una variable aleatoria bidimensional .
1. P (xi , yj ) ≥ 0
P P
2. i j P (xi , yj ) = 1
Probabilidad marginal
Probabilidad condicional
P (X | Y ) = P (X, Y )/P (Y )
Variables independientes
Correlación
154
La correlación está dentro del intervalo: ρ ∈ [−1, 1], donde un valor de 0
indica no-correlacionadas, y un valor de -1 ó 1 indica una relación lineal.
Distribución Binomial
n!
P (r) = pr (1 − p)(n−r)
r!(n − r)!
1 1 x−µ 2
p(x) = √ e− 2 ( σ )
2πσ 2
155
8.2 Aprendizaje Bayesiano
• ser práctico
• provee un enfoque de comprensión (y diseño) de otros algoritmos
Algunas caracterı́sticas:
Problemas:
Teorema de Bayes:
P (D | h)P (h)
P (h | D) =
P (D)
156
Para estimar la hipótesis más probable o MAP (maximum a posteriori
hypothesis):
hM AP = argmaxh∈H (P (h | D))
P (D|h)P (h)
= argmaxh∈H P (D)
hM L = argmaxh∈H (P (D | h))
Esto es:
P (cancer) = 0.008 y P (¬cancer) = 0.992
P (⊕|cancer) = 0.98 y P (⊖|cancer) = 0.02
P (⊕|¬cancer) = 0.03 y P (⊖|¬cancer) = 0.97
157
Una forma de implantar un algoritmo Bayesiano es calculando para to-
das las posibles hipótesis su P (h | D) = P (D|h)P
P (D)
(h)
y quedandose con la de
mayor probabilidad. Obviamente esto es impráctico cuando se tienen muchas
posibles hipótesis.
Si asumimos que no hay ruido y que todas las hipótesis son igualmente
1
probables (i.e., P (h) = |H| ∀h ∈ H), P (D | h) = 1 sii D es consistente con h.
Esto es:
1
P (h | D) =
| V SH,D |
donde, V SH,D es el subconjunto de hipótesis de H que es consistente con D
(su espacio de versiones).
Los métodos más usados para buscar funciones con variables continuas
a partir de datos con cierto ruido, son regresiones lı́neales, ajustes de poli-
nomios y redes nueronales.
158
Asumimos que la distribución de probabilidad de ei está dada por una
distribución Gaussiana (normal) con media cero.
Asumiento que los datos son independientes entre sı́ dado h, la proba-
bilidad se puede expresar como el producto de varias p(di | h) para cada
dato: !
m
Y
hM L = argmaxh∈H p(di | h)
i=1
Como el ruido sigue una distribución Gaussiana con media cero y vari-
anza σ 2 , cada di debe de seguir la misma distribución pero ahora centrada
alrededor de f (xi ).
m
!
Y 1 1 2
hM L = argmaxh∈H √ e− 2σ2 (di −µ)
2πσ 2
i=1
m
!
Y 1 1 2
hM L = argmaxh∈H √ e− 2σ2 (di −h(xi ))
i=1 2πσ 2
m
!
X 1 1
hM L = argmaxh∈H ln( √ ) − 2 (di − h(xi ))2
i=1 2πσ 2 2σ
m
!
X 1
hM L = argmaxh∈H − 2 (di − h(xi ))2
i=1 2σ
159
m
!
X 2
hM L = argminh∈H (di − h(xi ))
i=1
Todo esto asume que el error está dado únicamente en el valor meta y no
en los atributos que describen la meta.
160
Si lo queremos aplicar a un árbol de decisión, tenemos que buscar una
codificación para los árboles de decisión y una para los ejemplos mal clasifi-
cados junto con su clasificación.
X
P (vj | D) = P (vj | hi )P (hi | D)
hi ∈H
Ejemplo:
161
X
P (⊕ | hi )P (hi | D) = 0.4
hi ∈H
X
P (⊖ | hi )P (hi | D) = 0.6
hi ∈H
X
argmaxvj ∈{⊕,⊖} P (vj | hi )P (hi | D) = ⊖
hi ∈H
vM AP = argmaxvj ∈V (P (vj | a1 , . . . , an ))
Usando Bayes:
P (a1 ,...,an |vj )P (vj )
vM AP = argmaxvj ∈V P (a1 ,...,an )
162
P (vj ) se puede estimar con la frecuencia de las clases, pero para P (a1 , . . . , an |
vj ) tenemos muy pocos elementos. El clasificador Bayesiana naive, también
llamado a veces idiot Bayes, asume que los valores de los atributos son condi-
cionalmente independientes dado el valor de la clase.
Q
Osea: P (a1 , . . . , an | vj ) = i P (ai | vj )
Por lo que:
!
Y
vN B = argmaxvj ∈V P (vj ) P (ai | vj )
i
Ejemplo:
P (Clase = P ) = 9/14
P (Clase = N) = 6/14
P (V iento = si | P ) = 3/9 = 0.33
P (V iento = si | N) = 3/5 = 0.60
163
Estimación de Probabilidades
Una valor tı́pico para p es asumir que se tiene una distribución uniforme,
por lo que: p = k1 cuando existen k posibles valores.
Ejemplo
Suponemos que los ejemplos son documentos en texto asociados con una
clase (e.g., me interesa y no me interesa, o polı́tica, deportes, espectáculos,
sociales, etc.). Suponiendo que las palabras son idependientes entre sı́ y de
su posición en el texto (lo cual no es cierto, pero de todos modos se tienen
buenos resultados):
164
nk = número de veces que aparece la palabra w en Texto
P (w|clase) = n+|V nocabulario|
k +1
Introducción
Definición:
165
P (A, B, C, D, E, F, G) =
P (G|D)P (F |C, D)P (E|B)P (D|A, B)P (C|A)P (B)P (A)
2. Base de reglas: Cada arco representa un conjunto de reglas que asocian
las variables involucradas, Por ejemplo:
Si C, D entonces F
Dichas reglas están cuantificadas por las probabilidades respectivas.
166
Propagación de Probabilidades
• Árboles
• Poliárboles
• Redes multiconectadas
Las redes bayesianas son una alternativa para minerı́a de datos, la cual tiene
varias ventajas:
167
1. Aprendizaje paramétrico: dada una estructura, obtener las proba-
bilidades a priori y condicionales requeridas.
2. Aprendizaje estructural: obtener la estructura de la red Bayesiana,
es decir, las relaciones de dependencia e independencia entre las vari-
ables involucradas.
Aprendizaje Paramétrico
Para que se actualizen las probabilidades con cada caso observado, éstas
se pueden representar como razones enteras, y actualizarse con cada obser-
vación. En el caso de un árbol, las fórmulas para modificar las probabilidades
correspondientes son:
Probabilidades previas
P (Ai ) = (ai + 1)/(s + 1)
i=k
P (Ai ) = ai /(s + 1)
i 6= k
Probabilidades condicionales
P (Bj | Ai ) = (bj + 1)/(ai + 1)
168
i=k yj=l
P (Bj | Ai ) = bj /(ai + 1)
i = k y j 6= l
P (Bj | Ai ) = bj /ai
i 6= k
Aprendizaje Estructural
Naı̈ve Bayes
1. eliminar un atributo,
2. unir dos atributos en una nueva variable combinada,
3. introducir un nuevo atributo que haga que dos atributos dependientes
sean independientes (nodo oculto).
169
En base a lo anterior puede integrarse el siguiente algoritmo.
Algoritmo de Mejora Estructural:
Árboles
n
Y
P (X1 , X2 , . . . , Xn ) = P (Xi )P (Xi | Xj(i) ))
i=1
X
I(P, P ∗) = P (X)log(P (X)/P ∗(X))
x
170
Entonces el objetivo es minimizar I. Para ello se puede definir dicha
diferencia en función de la información mutua entre pares de variables, que
se define como:
X
I(Xi , Xj ) = P (Xi , Xj )log(P (Xi , Xj )/P (Xi )P (Xj ))
x
Por ejemplo, para el ejemplo de la tabla 2.2 para jugar golf nos queda la
tabla 8.1.
Poliárboles
171
Tabla 8.1: Información mutua entre pares de variables para el ejemplo del
golf.
No. Var 1 Var 2 Info. mutua
1 temp. ambiente .2856
2 juega ambiente .0743
3 juega humedad .0456
4 juega viento .0074
5 humedad ambiente .0060
6 viento temp. .0052
7 viento ambiente .0017
8 juega temp. .0003
9 humedad temp. 0
10 viento humedad 0
n
Y
P (X) = P (Xi | Xj1(i) , Xj2(i) , ..., Xjm(i) )
i=1
• Arcos divergentes: X ← Y → Z.
• Arcos secuenciales: X → Y → Z.
• Arcos convergentes: X → Y ← Z.
172
1. Obtener el esqueleto utilizando el algoritmo de Chow y Liu.
2. Recorrer la red hasta encontrar una tripleta de nodos que sean conver-
gentes (tercer caso) -nodo multipadre-.
Redes Generales
1. Una medida para evaluar que tan buena es cada estructura respecto a
los datos.
173
• Medida bayesiana: estima la probabilidad de la estrutura dado los datos
la cual se trata de maximizar. La medida bayesiana busca maximizar
la probabilidad de la estructura dados los datos, esto es:
P (Es | D)
1. Representación de la estructura,
2. Representación del error de la estructura respecto a los datos.
174
La complejidad está dada por el número de parámetros requeridos
para representar el modelo, la cual se puede calcular con la siguiente
ecuación:
L = Si [ki log2 n + d(Si − 1)Fi ]
Donde, n es el número de nodos, k es el número de padres por nodo, Si
es el número de valores promedio por variable, Fi el número de valores
promedio de los padres, y d el número de bits por parámetro.
La exactitud se puede estimar en base al “peso” de cada nodo, en forma
análoga a los pesos en el método de aprendizaje de árboles. En este
caso el peso de cada nodo se estima en base a la información mutua
con sus padres:
X
w(xi, F xi) = P (xi, F xi)log[P (xi, F xi)/P (xi)P (F xi)]
xi
Y el peso (exactitud) total está dado por la suma de los pesos de cada
nodo: X
W = w(xi, F xi)
i
175
Otra posibilidad es empezar con una estructura compleja y eliminar ligas
que reduzcan la medida MDL hasta llegar a un mı́nimo local.
176
Capı́tulo 9
Aprendizaje Basado en
Instancias
177
Tabla 9.1: El algoritmo de los k vecinos más cercanos.
Entrenamiento:
almacena todos los ejemplos de entrenamiento (x, f (x))
Clasificación:
Dada una instancia xq :
Sean x1 , . . . , xk los k vecinos más cercanos a xq .
Entonces:
k
X
f (xq ) = argmaxv∈V δ(v, f (xi ))
i=1
v
u n
uX
d(xi , xj ) = t (a
r (xi ) − ar (xj ))2
r=1
Pk
i=1 f (xi )
f (xq ) =
k
178
más cercanos tienen más peso). Promedio ponderado (weigthed average)
promedia la salida de los puntos pesados inversamente por su distancia.
k
X
f (xq ) = argmaxv∈V wi δ(v, f (xi ))
i=1
1
donde: wi = d(xq ,xi )2
(si la distancia es 0 entonces w = 0).
Pk
i=1 wi f (xi )
f (xq ) = Pk
i=1 wi
Una suposición es que los vecinos más cercanos nos dan la mejor clasifi-
cación y esto se hace utilizando todos los atributos.
179
9.2 Regresión pesada local
Podemos usar gradiente descendiente para ajustar los pesos que mini-
mizan el error.
1X
E(W ) = (f (x) − fˆ(x))2
2 x∈D
∂E ∂ 1 P
= ∂w ˆ
x∈D (f (x) − f (x))
2
∂wi
Pi 2
= x∈D (f (x) − fˆ(x)) ∂w∂
i
(f (x) − w
~ · ~ax )
P ˆ
= x∈D (f (x) − f (x))(−ai,x )
180
Por lo que: X
∆wi = α (f (x) − fˆ(x))(−ai,x )
x∈D
1 X
E(W ) = (f (x) − fˆ(x))2
2
x∈k vecinas más cercanos
1 X
E(W ) = (f (x) − fˆ(x))2 K(d(xq , x))
2 x∈D
1 X
E(W ) = (f (x) − fˆ(x))2 K(d(xq , x))
2
x∈k vecinas más cercanos
X
∆wi = α K(d(xq , x))(f (x) − fˆ(x))(−ai,x )
x∈k vecinas más cercanos
181
• Funciones basadas en el query. Los parámetros de la función de dis-
tancia se ajustan con cada query, tı́picamente minimizando el error con
validación cruzada.
• Euclideana
sX q
dE (x, q) = (xj − qj )2 = (x − q)T (x − q)
j
• Normal o Minkowski
X 1
dp (x, q) = ( |xi − qi )|p ) p
i
182
Matrices (M) diagonales hacen escalas radiales simétricas. Se pueden
crear elipses con orientaciones arbitrarias incluyendo otras elementos fuera
de la diagonal.
Las funciones de peso deben de ser máximas a distancia cero y decaer suave-
mente con la distancia.
183
• Para evitar infinitos (inverse distance):
1
K(d) =
1 + dp
• Uno de los más populares, es el kernel Gaussiano:
K(d) = exp(−d2 )
• Kernel triangular:
(
1 − |d| si |d| < 1
K(d) =
0 de otra forma
Se pueden crear nuevos kernels. Según los autores la definición del kernel
no es tan crı́tica.
184
9.5 Pocos datos y otras consideraciones
Un posible problema que puede surgir es cuando se tienen pocos datos. Al-
gunas de las posibles soluciones es o tratar de introducir nuevos datos artifi-
cialmente y/o reducir la dimensionalidad usando un proceso de selección de
variables.
Una forma sencilla de hacerlo, es tomar los vecinos más cercanos y entre-
nar un modelo/clasificador con ellos.
185
• Sintonización local a múltiples escalas
• Olvidar datos
k
X
fˆ(x) = w0 + wu Ku (d(xu , x))
u=1
Para cada instancia xu existe una función Kernel que decrece con la dis-
tancia a xu .
1 1 2
Ku (d(xu , x)) = √ e− 2σ2 d (xu ,x)
2πσ 2
Estas se pueden aprender dentro de una red neuronal de dos capas (ver
figure 9.1).
186
w0 w2 wk
w1
Posibilidades:
187
9.7 Razonamiento Basado en Casos
188
Capı́tulo 10
Clustering
Retos:
189
• Manejo de ruido: muchos son sensibles a datos erroneos.
xif − µf
Zif =
σf
1
σf = (|x1f − µf | + |x2f − µf | + . . . + |xnf − µf |)
n
1
µf = (x1f + x2f + . . . + xnf )
n
Medidas de similaridad
190
• Distancia Euclideana:
q
d(i, j) = |xi1 − xj1 |2 + |xi2 − xj2 |2 + . . . + |xin − xjn |2
• Distancia Manhattan:
• Distancia Minkowski:
Si q = 1 es Manhattan y si q = 2 es Euclideana.
• Distancia Pesada (e.g., Euclideana):
q
d(i, j) = w1 |xi1 − xj1 |2 + w2 |xi2 − xj2 |2 + . . . + wn |xin − xjn |2
r+s
d(i, j) =
q+r+s+t
p−m
d(i, j) =
p
191
donde: m = número de valores iguales, p = número total de casos.
Se pueden incluir pesos para darle más importancia a m.
Se pueden crear nuevas variables binarias asimétricas a partir de las
nominales (e.g., es amarillo o no).
4. Variables ordinales: nominales con un orden relevante. El orden es
importante, pero no la magnitud.
Pasos:
(a) Cambia el valor de cada variable por un ranqueo rif ∈ {1, . . . , Mf },
donde Mf es el ı́ndice del valor más alto de la variable.
(b) Mapeo el ranqueo entre 0 y 1 para darle igual peso
rif − 1
zif =
Mf − 1
(c) Usa cualquiera de las medidas numéricas anteriores.
5. Variables escalares no lineales, por ejemplo, variables que siguen una
escala exponencial.
Posibilidades:
(a) Tratalas como numérica normal.
(b) Obten su logaritmo (o algúna otra transformación) antes para
convertirlas en lineales.
(c) Consideralas como variables ordinales.
6. Variables mixtas:
Una posibilidad es escalar todas las variables a un intervalo común
(entre 0 y 1):
Pp (f ) (f )
f =1 δij dij
d(i, j) = Pp (f )
f =1 δij
donde:
(f )
δij = 0 si xif o xjf se desconocen o si los dos valores son 0 y la variable
es asimétrica binaria. En caso contrario vale 1.
(f )
dij depende del tipo:
192
(f ) (f )
• Si f es binaria o nominal: dij = 0 si xif = xjf , si no, dij = 1.
(f ) |xif −xjf |
• Si f es numérica lineal: dij = maxh xhf −minh xhf
193
7. Técnicas basadas en Búsqueda Combinatoria (e.g., Genetically guided
algorithm (GGA), TS clustering, SA clustering)
12. Técnicas para grandes conjuntos de datos (e.g., CLARA, CURE, CLARANS,
BIRCH, DBSCAN, DENCLUE, WaveCluster, FC, ART)
10.1 k-Means
194
Tabla 10.1: Algoritmo de k-means.
La calidad se evalúa con base a una función de costo que mide la disimi-
laridad promedio entre un objeto y la mediana en su cluster.
195
10.2 COBWEB
Pn hP P P P i
k=1 P (Ck ) i j P (Ai = Vij |Ck )2 − i j P (Ai = Vij )2
CU =
n
COBWEB también considera en cada iteración unir los dos mejores nodos
evaluados y dividir el mejor nodo evaluado. Esto es, cada vez que se considera
un lugar en un nivel para un nuevo objeto, se consideran los dos mejores
objetos (de mayor utilidad) y se considera juntarlos.
El caso contrario, sucede una vez que se encuentra el mejor lugar para un
196
nuevo objeto, pero el unir nodos no resulta beneficioso, entonces se considera
dividir ese nodo.
COBWEB depende del orden de los objetos, por lo que a veces es conve-
niente probarlo con obejtos en diferente orden.
1 (a−µ)2
f (a) = √ e− 2σ2
2πσ 2
Z
X 1
P (Ai = Vij )2 ∼ f (ai )2 dai = √
j 2 πσi
n
1X 1 X 1 1
CU = P (Ck ) √ −
k k=1 2 π i σik σi
197
10.3 Clustering basado en probabilidades
x1 + x2 + . . . xn
µ=
n
198
P (x|A)P (A) f (x; µA , σA )PA
P (A|x) = =
P (x) P (x)
1 (x−µ)2
f (x; µA , σA ) = √ e− 2σ2
2πσ 2
10.4 Algoritmo EM
Para estimar los parámetros, tenemos que considerar que tenemos únicamente
las probabilidades de pertenecer a cada cluster y no los clusters en si. Estas
probabilidades actuan como pesos:
w1 x1 + w2 x2 + . . . wn xn
µA =
w1 + w2 + . . . wn
199
w1 (x1 − µ)2 + w2 (x2 − µ)2 + . . . wn (xn − µ)2
σA2 =
w1 + w2 + . . . wn
Y
(PA P (xi |A) + PB P (xi |B))
i
10.5 Extensiones
200
Se puede penalizar el modelo que instroduzca parámetros y el que defina
un número mayor de clusters.
10.6 AutoClass
Una vez que las clases han sido identificadas, éstas pueden servir para
clasificar nuevos datos.
Normalmente se busca un balance entre qué tan bien se ajustan los datos
a las clases y complejidad de las clases (casos extremos, una clase por dato
o una sola clase para todos los datos).
1. Los valores más probables (MAP) de los parámetros (para las distribu-
ciones y clases dadas), dada una distribución de probabilidad.
2. La distribución de probabilidad más probable (número de clases y mod-
elos alternativos), independientemente de los parámetros.
201
Cada dato pertenece a una y solo una clase (de un conjunto disjunto
de clases) con probabilidad P (Xi ∈ Cj | V~c , Tc ), donde V~c es el vector de
parámetros de la distribución y Tc es la distribución particular).
Las clases representan una partición discreta de los datos y por lo tanto
la distribución más apropiada es una distribución Bernoulli o binomial
• Discretos: Bernoulli
• Reales: Gaussianas
• Enteros: Poisson
Una división con muchos clusters complica los resultados porque los hace
difı́ciles de interpretar y analizar.
202
Una división con muy pocos clusters lleva a una pérdida de información
y puede llevar a tomar malas decisiones.
Referencias
203
Capı́tulo 11
11.1 Introducción
204
Figura 11.1: Aprendizaje por Refuerzo.
• El agente tiene que obtener experiencia útil acerca de los estados, ac-
ciones, transiciones y recompensas de manera activa para poder actuar
de manera óptima.
En general, al sistema no se le dice qué acción debe tomar, sino que él debe
de descubrir qué acciones dan el máximo beneficio.
El comportamiento del agente debe de ser tal que escoga acciones que tiendan
a incrementar a largo plazo la suma de las recompensas totales.
205
Figura 11.2: Ejemplo de problema.
El objetivo del agente es encontrar una polı́tica (π), que mapea estados a
acciones que maximice a largo plazo el refuerzo.
Sin embargo, se asume que el ambiente es estacionario (esto es, las probabil-
idades de cambio de estado no cambian o cambian muy lentamente).
206
Formalmente, un MDP es una tupla M =< S, A, Φ, R >. Los elementos de
un MDP son:
207
No trata de maximizar la recompensa inmediata, sino la recompensa a largo
plazo (acumulada).
Podemos usar una forma alternativa en donde se van haciendo cada vez más
pequeñas las contribuciones de las recompensas más lejanas:
∞
X
2
Rt = rt+1 + γrt+2 + γ rt+3 + . . . = γ k rt+k+1
k=0
208
2. Horizonte infinito: las recompensas que recibe un agente son reducidas
geométricamente de acuerdo a un factor de descuento γ (0 ≤ γ ≤ 1):
∞
X
E( γ t rt )
t=0
Lo que se busca es estimar las funciones de valor. Esto es, qué tan bueno es
estar en un estado (o realizar una acción).
209
La noción de “qué tan bueno” se define en términos de recompensas futuras
o recompensas esperadas.
210
11.2.1 Programación Dinámica
V π (s) = Eπ {Rt | st = s}
= Eπ {rt+1 + γrt+2 + γ 2 rt+3 + . . . | st = s}
= E {r + γV π (st+1 ) | st = s}
Pπ t+1 P a a π ′
= a π(s, a) s′ Pss′ [Rss′ + γV (s )]
Una de las razones para calcular la función de valor de una polı́tica es para
tratar de encontrar mejores polı́ticas. Dada una función de valor para una
polı́tica dada, podemos probar una acción a 6= π(s) y ver si su V (s) es mejor
o peor que el V π (s).
211
Tabla 11.1: Algoritmo iterativo de evaluación de polı́tica.
∆ ← max(∆, |v − V (s)|)
Hasta que ∆ < θ (número positivo pequeño)
Regresa V ≈ V π
Para espacios muy grandes, el ver todos los estados puede ser computacional-
mente muy caro. Una opción es hacer estas actualizaciones al momento de
212
Tabla 11.2: Algoritmo de iteración de polı́tica.
1. Inicialización:
V (s) ∈ R y π(s) ∈ A(s) arbitrariamente ∀s ∈ S
2. Evaluación de polı́tica:
Repite
∆←0
Para cada s ∈ S
v ← V (s)
P π(s) π(s)
V (s) ← s′ Pss′ [Rss′ + γV (s′ )]
∆ ← max(∆, |v − V (s)|)
Hasta que ∆ < θ (número positivo pequeño)
3. Mejora de polı́tica:
pol-estable ← true
Para cada s ∈ S:
b ← π(s)
P a a ′
π(s) ← argmaxa s′ Pss ′ [Rss′ + γV (s )]
∆ ← max(∆, |v − V (s)|)
Hasta que ∆ < θ (número positivo pequeño)
Regresa una polı́tica determinı́stica tal que:
P a a ∗ ′
π(s) = argmaxa s′ Pss ′ [Rss′ + γV (s )]
213
Tabla 11.4: Algoritmo de Monte Carlo para estimar V π .
Repite
Genera un episodio usando π
Para cada estado s en ese episodio:
R ← recompensa después de la primera ocurrencia de s
Añade R a recomp(s)
V (s) ← promedio(recomp(s))
Con Monte Carlo podemos alternar entre evaluación y mejoras en base a cada
episodio. La idea es que después de cada episodio las recompensas observadas
se usan para evaluar la polı́tica y la polı́tica se mejora para todos los estados
visitados en el episodio. El algoritmo viene descrito en la tabla 11.5.
214
Tabla 11.5: Algoritmo de Monte Carlo.
Repite
Genera un episodio usando π con exploración
Para cada par s, a en ese episodio:
R ← recompensa después de la primera ocurrencia de s, a
Añade R a recomp(s, a)
Q(s, a) ← promedio(recomp(s, a))
Para cada s en el episodio:
π(s) ← argmaxa Q(s, a)
Existen dos formas para asegurar que todas las acciones pueden ser selec-
cionadas indefinidamente:
215
donde τ es un parámetro positivo (temperatura).
TD usan el error o diferencia entre predicciones sucesivas (en lugar del error
entre la predicción y la salida final) aprendiendo al existir cambios entre
predicciones sucesivas.
Ventajas:
216
Tabla 11.6: Algoritmo TD(0).
217
Tabla 11.8: Algoritmo Q-Learning.
Si recordamos:
Rt = rt+1 + γrt+2 + γ 2 rt+3 + . . . + γ T −t−1 rT
218
Lo que se hace en TD es usar:
Rt = rt+1 + γVt (st+1 )
lo cual hace sentido porque Vt (st+1 ) reemplaza a los términos siguientes
(γrt+2 + γ 2 rt+3 . . .).
Para T D(λ):
(
γλet−1 (s) si s 6= st
et (s) =
γλet−1 (s) + 1 si s = st
219
Figura 11.3: Comportamiento de las trazas de elegibilidad.
220
Aquı́ se puede mantener historia de la traza solo hasta el primer movimiento
exploratorio, ignorar las acciones exploratorias, o hacer un esquema un poco
más complicado que considera todas las posibles acciones en cada estado.
Asumamos que tenemos un modelo del ambiente, esto es, que podemos pre-
decir el siguiente estado y la recomepensa dado un estado y una acción.
Por ejemplo, enfocarnos en las metas e irnos hacia atrás o más generalmente,
irnos hacia atrás de cualquer estado que cambie su valor.
221
Tabla 11.10: Algoritmo de Dyna-Q.
cierto.
222
Tabla 11.11: Algoritmo de Prioritized sweeping.
223
Una forma de hacerlo es con una representación implı́cita, i.e., una función.
Por otro lado, puede que no exista tal función. Como en todos los sistemas
de aprendizaje, existe un balance entre el espacio de hipótesis y el tiempo
que toma aprender una hipótesis aceptable.
Para ajustar los parámetros del vector de la función que queremos optimizar,
las técnicas de gradiente ajustan los valores en la dirección que produce la
máxima reducción en el error:
~ t+1 =
Θ ~ t − 1 α∇ ~ [V π(st ) − Vt (st )]2
Θ 2 Θt
= ~ t + α[V π(st ) − Vt (st )]∇ ~ Vt (st )
Θ Θt
224
donde δt es el error:
~et = γλ~et−1 + ∇Θ
~ t Vt (st )
con ~e0 = 0.
Logró evitar ésto haciendo que el peso para ganancia de material fuera siem-
pre positivo.
Boxes (Michie, Chambers ’68) balanceaba el pendulo por más de una hora
después de 30 intentos (no simulado). Idea: discretizar el espacio en cajas.
Se corria el sistema hasta que se caı́a el péndulo o se salia de los lı́mites.
Entonces se daba un refuerzo negativo a la última “caja” y se propagaba
a la secuencia de “cajas” por las que pasó. Sin embargo, los resultados
más impresionantes (un péndulo invertido triple) se lograron derivando un
algoritmo con teorı́a de control clásica (simulado).
225
función de evaluación con una sola capa intermedia con 40 nodos. Después
de 200,000 juegos de entrenamiento mejoró notablemente su desempeño.
Añadiendo atributos adicionales a una red con 80 nodos escondidos, después
de 300,000 juegos de entrenamiento, juega como los 3 mejores jugadores del
mundo.
226
parecido se usa con Macros y Options, en donde se aprenden polı́ticas
de subespacios que se usan para resolver problemas mas grandes.
227