Curso en pdf

232
Aprendizaje Computacional Eduardo Morales y Jes´ usGonz´alez

Transcript of Curso en pdf

Page 1: Curso en pdf

Aprendizaje Computacional

Eduardo Morales y Jesus Gonzalez

Page 2: Curso en pdf

Objetivo General

La capacidad de aprender se considera como una de los atributos distin-tivos del ser humano y ha sido una de las principales areas de investigacionde la Inteligencia Artificial desde sus inicios. En los ultimos anos se ha vistoun crecimiento acelerado en la capacidad de generacion y almacenamiento deinformacion, debido a la creciente automatizacion de procesos y los avancesen las capacidades de almacenamiento de informacion. En gran parte debidoa esto, se han desarrollado una gran cantidad de herramientas y tecnicas quetienen que ver con el analisis de informacion. En este aspecto, el desarrollo enel area de aprendizaje ha sido fundamental. El area de aprendizaje en generaltrata de construir programas que mejoren su desempeno automaticamentecon la experiencia.

Los objetivos del curso son: dar un panorama general de lo que es apren-dizaje computacional y conocer a detalle las tecnicas mas importantes em-pleadas.

Temario

Los temas que se van a ver en clase son:

1. Introduccion a aprendizaje computacional

2. Tecnicas principales:

• Arboles de decision y regresion

• Reglas de clasificacion

• Reglas de asociacion

• Programacion logica inductiva

• Aprendizaje basado en grafos

• Aprendizaje bayesiano y Redes bayesianas

• Aprendizaje basado en instancias y casos

• Clustering

i

Page 3: Curso en pdf

• Aprendizaje por refuerzo

3. Evaluacion de algoritmos (intercalado con las tecnicas)

4. Conclusiones

Existen muchos otros temas de aprendizaje. Algunos de estos se ven enel segundo curso de aprendizaje (ver pagina) como:

• Aprendizaje basado en Kernels y Support Vector Machines

• Ensambles de clasificadores

• Seleccion de atributos

• Aprendizaje semi-supervisado

Otros temas se cubren en otros cursos:

• Algoritmos geneticos

• Redes neuronales

Existen temas que se pueden incluir en el segundo curso de aprendizajecomo son:

• Colonias de hormigas (ant colony optimization o ACO) y de enjambres(particle swarm optimization o PSO)

• Modelos lineales de regresion, Bayesianos.

• Modelos lineales para clasificacion (funciones discriminantes, modelosgenerativos, modelos discriminativos, regresion logıstica)

• Modelos basados en muestreo

• Procesos Gaussianos

• Analisis de componentes principales

ii

Page 4: Curso en pdf

• Modelos para secuencias

Evaluacion

La evaluacion del curso se hara en base a dos examenes y un proyectofinal (cada uno contando 1/3 parte de la calificacion final).

Lista de posibles Proyectos:

La siguiente es una lista tentativa (no exhaustiva) de posibles proyectosdel curso.

• Analizar como afecta el ruido a las tecnicas de muestreo (sobre y sub-muestreo).

• Algoritmo de seleccion de atributos favoreciendo la clase minoritaria

• Aprendizaje por refuerzo distribuido

• Aprendizaje de acciones continuas (en un simulador de vuelo o enrobotica movil)

• Aprendizaje de reglas por imitacion (aplicado a ajedrez o simulador devuelo o robot movil)

• Aprendizaje semi-supervisado (evaluar asignacion de pesos diferentes alas instancias no clasificadas).

• Crear nuevos atributos (constructive induction)

• Reimplementar algun algoritmo reciente de las tecnicas vistas en clasecon alguna mejora.

• Aprendizaje jerarquico multiclase

• Aprendizaje en secuencias

iii

Page 5: Curso en pdf

Referencias

1. T. Mitchell (1997) Machine Learning, McGraw–Hill.

2. I.H. Witten, E. Frank (2005)Data Mining: practical machine learn-ing tools and techniques 2nd. Edition. Morgan Kaufmann

3. J. Han, M. Kamber (2001) Data Mining: concepts and techniques,Morgan Kaufmann.

4. D. Hand, H. Mannila, P. Smyth (2001). Principales of Data Mining,MIT Press

5. R. Michalski, I. Bratko, M. Kubat (1998) Machine Learning anddata mining: methods and applications, John Wiley and Sons.

6. B. Scholfopf, A. Smola (2002). Learning with Kernels: Suport Vec-tor Machines, Regularizartion, Optimization, and Beyond, MITPress.

7. R. Sutton, A. Barto (1998). Reinforcement Learning: An Introduc-tion. MIT Press.

8. N. Lavrac, S. Dzeroski (1994). Inductive Logic Programming: Tech-niques and Applications. Ellis Horwood.

9. T. Hastie, R. Tibshirani, J. Friedman (2001). The Elements ofStatistical Learning: Data Mining, Inference, and Prediction.Springer-Verlag.

10. C. Bishop (2006). Pattern Recognition and Machine Learning.Springer.

iv

Page 6: Curso en pdf

Capıtulo 1

Aprendizaje

Posiblemente la caracterıstica mas distintiva de la inteligencia humana es elaprendizaje. Desde el comienzo de las computadoras se cuestiono si serıancapaces de aprender.

El darles la capacidad de aprendizaje a las maquinas abre una ampliagama de nuevas aplicaciones. El entender tambien como pueden aprenderlas maquinas nos puede ayudar a entender las capacidades y limitacioneshumanas de aprendizaje.

El aprendizaje humano en general es muy diverso e incluye entre otrascosas:

• adquisicion de conocimiento

• desarrollo de habilidades a traves de instruccion y practica

• organizacion de conocimiento

• descubrimiento de hechos

• ...

De la misma forma el aprendizaje computacional (ML) se encarga deestudiar y modelar computacionalmente los procesos de aprendizaje en susdiversas manifestaciones.

1

Page 7: Curso en pdf

En general, se busca contruir programas que mejoren automaticamentecon 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.

Se tienen mas resultados teoricos y una mayor cantidad de aplicacionesreales, lo cual refleja cierto proceso de maduracion del area.

Aprendizaje: cambios adaptivos en el sistema para hacer la misma tarea(s)de la misma problacion de una manera mas eficiente y efectiva la proximavez [Simon, 83].

Aprendizaje: un programa de computadora se dice que aprende de expe-riencia E con respecto a una clase de tareas T y medida de desempeno D, sisu desempeno en las tareas en T , medidas con D, mejoran con experienciaE [Mitchell, 97].

Muchas veces los objetivos dependen de la perspectiva que se les de:

• ingenieril (resolver tareas)

• simulacion cognitiva

• analisis teorico

Instruir una maquina a realizar cierta tarea lleva mucho tiempo. MLtrata de suavizar la carga mediante herramientas que pueden automatizarlo.

Desde el punto de vista de sistemas basados en conocimiento...

“. . . knowledge is currently acquired in a very painstaking way;individual computer scientists work with individual experts to ex-plicate the expert’s heuristics – the problem of knowledge acqui-sition is the critical bottleneck in artificial intelligence.” Feigen-baum and McCorduck [Feigenbaum, pp. 79-80]

“Knowledge engineers have generally assumed that the procedu-ral knowledge which drives an expert’s skilled behavior can be

2

Page 8: Curso en pdf

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 reachedthe “automization” stage, can be de-automized by dialogue so asto make their inner workings accessible to introspective report.”Donald Michie [Michie, pp. 1]

Existen diversas tareas que se pueden hacer con sistemas de aprendizaje.Entre ellas podemos en general clasificarlas como sigue:

• Descripcion: normalmente es usada como analisis preliminar de losdatos (resumen, caracterısticas de los datos, casos extremos, etc.). Conesto, el usuario se sensibiliza con los datos y su estructura.

Busca derivar descripciones concisas de caracterısticas de los datos(e.g., medias, desviaciones estandares, etc.).

• La Prediccion la podemos dividir en dos: Clasificacion y Estimacion.

– Clasificacion: Los datos son objetos caracterizados por atributosque pertenecen a diferentes clases (etiquetas discretas).

La meta es inducir un modelo para poder predecir una clase dadoslos valores de los atributos.

Se usan por ejemplo, arboles de decision, reglas, SVM, etc.

– Estimacion o Regresion: las clases son continuas.

La meta es inducir un modelo para poder predecir el valor de laclase dados los valores de los atributos.

Se usan por ejemplo, arboles de regresion, regresion lineal, redesneuronales, LWR, etc.

• Segmentacion: separacion de los datos en subgrupos o clases intere-santes.

Las clases pueden ser exhaustivas y mutuamente exclusivas o jerarquicasy con traslapes.

Se puede utilizar con otras tecnicas de minerıa de datos: considerarcada subgrupo de datos por separado, etiquetarlos y utilizar un algo-ritmo de clasificacion.

3

Page 9: Curso en pdf

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 clasesy se han desarrollado herramientas visuales interactivas para ayudar alusuario.

• Analisis de dependencias: El valor de un elemento puede usarse parapredecir el valor de otro. La dependencia puede ser probabilıstica,puede definir una red de dependencias o puede ser funcional (leyesfısicas).

Tambien se ha enfocado a encontrar si existe una alta proporcion devalores de algunos atributos que ocurren con cierta medida de confianzajunto con valores de otros atributos.

Se pueden utilizar redes bayesianas, redes causales, y reglas de aso-ciacion.

• Deteccion de desviaciones, casos extremos o anomalias: Detectar loscambios mas significativos en los datos con respecto a valores pasadoso normales. Sirve para filtrar grandes volumenes de datos que sonmenos probables de ser interesantes. El problema esta en determinarcuando una desviacion es significativa para ser de interes.

• Aprendizaje de cual es la mejor accion a tomar a partir de experien-cia: Esto involucra busqueda y exploracion del ambiente. Esto estarelacionado principalmente con aprendizaje por refuerzo, pero tambiencon tecnicas como aprendizaje de macro-operadores, chunking y EBL.

• Optimizacion y busqueda: Existen una gran cantidad de algoritmos debusqueda tanto determinıstica como aleatoria, individual como pobla-cional, local como global, que se utilizan principalmente para resolveralgun problema de optimizacion. Aquı podemos incluir a los algo-ritmos geneticos, recocido simulado, ant-colony, tecnicas de busquedalocal, etc.

Algunas de las tecnicas mas comunes son:

• Arboles de decision y reglas de clasificacion: realizan cortes sobre unavariable (lo cual limita su expresividad, pero facilita su comprension).

4

Page 10: Curso en pdf

Generalmente se usan tecnicas heurısticas en su construccion (e.g., ID3,C4.5, CN2). Ver figura 1.1.

• Metodos de clasificacion y regresiones no–lineales: tratan de ajustarcombinaciones de funciones lineales y no–lineales, por ejemplo, redesneuronales (e.g., backpropagation), metodos de splines adaptativos,etc. Ver figura 1.2

• Metodos basados en ejemplos prototıpicos: se hacen aproximaciones enbase a los ejemplos o casos mas conocidos (Examplar–based learning yCase–based resoning). El problema es como determinar una medida desimilaridad adecuada. Ver figura 1.3.

• Modelos graficos de dependencias probabilısticas: basicamente se uti-lizan redes bayesianas, en donde dado un modelo estructural y proba-bilıstico, se encuentran los valores de ciertas variables dados valores deotras variables. Ver figura 1.4.

• Modelos relacionales: Programacion logica inductiva (o ILP), en dondela busqueda del modelo se basa en logica y heurısitcas. Ver figura 1.5.

• Reglas de Asociacion: reglas que relacionan un conjunto de pares atributo-valor con otros pares atributo-valor. Por ejemplo:

edad(X, 20 . . . 29) ∧ ingresos(X, 20K..29K)⇒ compra(X,CD)[soporte = 2%,confianza = 60%]

• Clustering: agrupan datos cuya distancia multidimensional dentro dela clase es pequena y entre clases es grande. Ver figura 1.6.

Algunos ejemplos de aplicaciones que usan aprendizaje:

• Sistemas de reconocimiento de voz (e.g., SPHINX, Lee 89),

• Manejo de vehıculos autonomos (ALVINN, Pomerleau 89)

• Clasificacion de nuevas estructuras de astronomıa (SkyCat, Fayyad etal. 95)

• Aprendiendo a jugar Backgammon (TD-Gammon, Tesauro 92)

5

Page 11: Curso en pdf

DV_T

NO2_F

SO2_LO3_L

RH_F

TMP_F

O3_Q

NO2_X DV_X

DV_F

DV_L

NO2_T

TMP_L

O3_X

SO2_F

RH_Q

NOX_X

RH_L

O3_Q

DV_T

VV_Q

HORA

VV_T

NO2_T

RH_QNOX_X

RH_L DV_X

C2

C4

C6

C8

C11 C13

C1

C3

C5

C7

C10

C12

C5

C4

C7 C4

C5 C10C1

C11

C7 C3

C3

C7

C2

C6 C6 C2 C3

120

57

4946

72

39 89

11

32

39

219484 286

4587

291219

168

227

23

10

346

43423

231

43

77

162

Figura 1.1: Prediccion de Ozono en la Ciudad de Mexico.

6

Page 12: Curso en pdf

Entradas Salidas

Figura 1.2: Red Neuronal prototıpica.

Figura 1.3: Aprendizaje basado en instancias.

7

Page 13: Curso en pdf

edad

buenestudian.

nivel socio- econo.

autoextra

anoauto

kilome.

seguri.experien.

habilid. manejo

histor.manejo

marca

ABS

bolsas aire

calidadmanejo

condic.camino

accident

valor comerc.

antirobo

lugarhogar

robo

costocochepropio

costopropied.

costootrosautos

costopersonal costo

medico

defensas

danospersona.

Figura 1.4: Red bayesiana de seguros de coches.

8

Page 14: Curso en pdf

nitrofurazone 4-nitropenta[cd]pyrene

6-nitro-7,8,9,10-tetrahydrobenzo[a]pyrene 4-nitroindole

ACTIVO

INACTIVO

O = N CH = N - NH - C - NH

OO

+

-

N = O

O

+

-

N

OO

+

- NH

N

OO

+

-

U

V Y = Z

XW

Figura 1.5: Prediccion de mutagenesis.

9

Page 15: Curso en pdf

x

x

x

x

x

x

Figura 1.6: Ejemplo de Clustering.

10

Page 16: Curso en pdf

Por otro, existe una gran cantidad de aplicaciones reales relacionadas condescubrimiento de conocimiento en base de datos que utilizan algun algoritmode aprendizaje. Estas aplicaciones se encuentran en areas tales como:

• astronomıa: clustering y clasificacion de cuerpos celestes

• biologıa molecular: prediccion de substancias cancerıgenas, genoma hu-mana, etc.

• aspectos climatologicos: prediccion de tormentas, etc.

• medicina: caracterizacion y prediccion de enfermedades

• industria y manufactura: diagnostico de fallas

• mercadotecnia: identificar clientes susceptibles de responder a ofertasde productos y servicios por correo, seleccion de sitios de tiendas, etc.

• inversion en casas de bolsa y banca: analisis de clientes, aprobacion deprestamos, etc.

• deteccion de fraudes y comportamientos inusuales: telefonicos, seguros,electricidad, etc.

• analisis de canastas de mercado para mejorar la organizacion de tiendas

• aprendizaje de tareas en robotica

• ...

Aprendizaje tiene muchas areas relacionadas:

• Inteligencia Artificial: manejo simbolico, busqueda, uso de conocimientodel dominio

• Metodos Bayesianos: teorema de Bayes, algoritmos para estimar val-ores de variables no observadas

• Teorıa de complejidad computacional: cotas teoricas de complejidad,numero de ejemplos para aprender, etc.

11

Page 17: Curso en pdf

• Teorıa de control: para optimizar objetivos y predecir el estado sigu-iente de lo que se esta controlando.

• Teorıa de informacion: medidas de entropıa, principio de longitud dedescripcion mınima.

• Filosofıa: principio de Occam, induccion

• Psicologıa y neurobiologıa: modelos de aprendizaje y neuronales

• Estadıstica: caracterizacion de errores, niveles de confianza, pruebas.

Consideraciones y retos actuales

Existen muchos puntos que aclarar cuando se quiere correr o desarrollaralgun algoritmo de aprendizaje. Algunos de estos son:

• Que algoritmos existen para resolver cierta tarea? cuando y como us-arlos? que propiedades tienen?

• Cuantos datos o tiempo de entrenamiento necesito? que tanta confianzapuedo tener en los resultados?

• Como y cuando usar conocimiento del dominio?

• ...

Se espera que algunas de estas preguntas se puedan resolver al final del curso.

Existen otros retos actuales para el area de aprendizaje. Tales como:

• Volumen de datos (mega, giga y hasta terabytes)

• Alta dimensionalidad

• Muchos atributos y pocos datos

• Sobreajuste (overfitting) de modelos en los datos

• Datos y conocimiento dinamicos (datos en BD y los patrones encontra-dos cambian continuamente)

12

Page 18: Curso en pdf

• Ruido, incertidumbre (tanto en datos como en conocimiento del do-minio y en patrones descubiertos) y datos incompletos y/o esparsos

• Relaciones complejas entre campos, jerarquıas, relaciones entre atribu-tos, nuevos atributos., etc.

• Interpretacion de los resultados

• Incorporacion de conocimiento del dominio

• Interaccion activa del usuario

• Integracion con otros sistemas

1.1 Aprendizaje Inductivo

El aprendizaje inductivo puede verse como el proceso de aprender una funcion.Por ejemplo, en aprendizaje supervisado, al elemento de aprendizaje se le daun valor correcto (o aproximadamente correcto) de una funcion a apren-der para entradas particulares y cambia la representacion de la funcion queesta infiriendo, para tratar de aparear la informacion dada por la retroali-mentacion que ofrecen los ejemplos.

Un ejemplo es un par (x, f(x)), donde x es la entrada (que generalmentees un vector) y f(x) la salida. El proceso de inferencia inductiva pura (oinduccion) es: dada una coleccion de ejemplos de f , regresar una funcion htal que se aproxime a f . A la funcion h se le llama la hipotesis.

En principio existen muchas posibilidades para escoger h, cualquier pref-erencia se llama bias o sesgo. Todos los algoritmos de aprendizaje exhibenalgun tipo de sesgo.

La seleccion de una representacion para la funcion deseada es probable-mente el factor mas importante en el diseno de un sistema de aprendizaje.

Desde un punto de vista mas tradicional (hablando de representacionessimbolicas/reglas,...), podemos decir que una buena parte de ML esta dedi-cada a inferir reglas a partir de ejemplos. Descripciones generales de clases

13

Page 19: Curso en pdf

de objetos, obtenidas a partir de un conjunto de ejemplos, pueden ser usadaspara clasificar o predecir.

En general, el interes no esta en aprender conceptos de la forma en quelo hacen los humanos, sino aprender representaciones simbolicas de ellos.

Angluin y Smith listan cinco elementos que deben de especificarse paracaracterizar un problema de inferencia inductiva:

1. La clase de reglas

2. El espacio de hipotesis

3. El conjunto de ejemplos y su presentacion

4. La clase del metodo de inferencia

5. El criterio de exito

La clase de reglas:

La clase de reglas denota la clase de funciones o lenguaje bajo consid-eracion. Por ejemplo, todas las expresiones regulares sobre un alfabeto es-pecıfico, lenguajes libres de contexto, funciones recursivamente enumerables,programas en Prolog, etc.

El espacio de hipotesis:

El espacio de hipotesis es el conjunto de descripciones tal que cada reglaen la clase tiene por lo menos una descripcion en el espacio de hipotesis.Diferentes espacios de hipotesis pueden usarse para la misma clase de reglas.

El lenguaje de hipotesis debe de tener descripciones para todas las reglasen la clase, pero puede contener mas.

Por conveniencia, normalmente se asume que el lenguaje descrito por elespacio de hipotesis (i.e., el lenguaje de hipotesis) es el mismo que el de laclase de reglas:

• Lenguaje de Hipotesis: la sintaxis usada en la construccion de hipotesis

14

Page 20: Curso en pdf

• Espacio de Hipotesis: el conjunto de todas las posibles hipotesis dentrodel lenguaje de hipotesis

El lenguaje de hipotesis determina el espacio de hipotesis del cual elmetodo de inferencia selecciona sus reglas. El lenguaje impone ciertas re-stricciones (o preferencias) en lo que puede ser aprendido y que estrategiasde razonamiento son permitidas. Al escoger un lenguaje, debemos de con-siderar no solo lo que queremos que el sistema realice, sino tambien queinformacion se le debe de proporcionar al sistema de entrada para permitirleresolver el problema, y si lo va a resolver a tiempo.

Al igual que en los mecanismos de razonamiento utilizados para represen-tar conocimiento, aquı existe un balance fundamental entre la expresividad yla eficiencia (ver figura 1.7 y 1.8).

El lenguaje de hipotesis depende del area de aplicacion. Una vez definido,una buena parte del tiempo de desarrollo se dedica a seleccionar cuidadosa-mente las estructuras de conocimiento adecuadas para la tarea de apren-dizaje.

Este tiempo se vuelve mas crıtico cuando el lenguaje de hipotesis re-stringe la expresividad de tal forma que el conocimiento del dominio tieneque adaptarse al formalismo adoptado.

El proceso de inducion puede verse como una busqueda de hipotesis oreglas.

El espacio puede buscarse sistematicamente, hasta encontrar la regla ade-cuada. Dado un espacio de hipotesis particular, podemos tener una enu-meracion de descripciones, digamos d1, . . . , dn, tal que cada regla en el espaciode hipotesis tiene una o mas descripciones en esta enumeracion.

Dada una coleccion de ejemplos, identificacion en el lımite recorre estalista encontrando la primera descripcion, digamos di, que es compatible conlos ejemplos vistos y conjetura a di.

Este metodo a pesar de ser poderoso y general es impractico, para todosexceptuando un numero limitado de casos, debido al tamano del espacio debusqueda.

15

Page 21: Curso en pdf

X Y

XY

X Y

XY XY XY

f(X).

f(a).

f(X) :- g(Y). f(X) :- h(Y).

f(a) :- g(b), h(c).

f(b).

f(c).

f(a) :- g(X). f(c) :- h(c).

Figura 1.7: El espacio de hipotesis depende de la expresividad del lenguaje.

16

Page 22: Curso en pdf

x

f(x)f(x) = mx + b

f(x) = ax + bx + c2

f(x) = ax + bx + cx + d23

Figura 1.8: Que tan bien se ajusta el modelo depende de la expresividad dellenguaje.

Para que el aprendizaje puede realizarse en forma eficiente, es normal-mente crucial estructurar el espacio de hipotesis. Esto se puede hacer con unmodelo de generalizacion.

A grandes razgos una regla R1 es mas general que otra regla R2 (o R2 esmas especıfica que R1), si en cualquier mundo R1 puede mostrar los mismosresultados que R2.

Esta estructuracion permite cortar ramas durante la busqueda sabiendoque especializaciones o generalizaciones de reglas hereden alguna propiedad.

Las propiedades mas comunes son: incapacidad de cubrir un ejemploconocido como verdadero o probar un ejemplo conocido como falso.

Conjunto de ejemplos y su presentacion:

Existen diferentes tipos de presentacion de datos y sus efectos en la in-ferencia de lenguajes.

Los ejemplos pueden dar una retroalimentacion directa o indirecta. Porejemplo, al aprender a jugar un cierto juego, la retroalimentacion se puededar en cada jugada o al final del juego o despues de un conjunto de jugadasque provocaron una perdida de material, etc. Aquı, surge el problema deasignacion de credito (cual jugada es responsable del exito o fracaso).

17

Page 23: Curso en pdf

Una presentacion puede consistir en: (i) solo ejemplos positivos y (ii)positivos y negativos.

Casi todos los algoritmos requieren presentaciones admisibles, esto es,para cada regla falsa que es consistente con los ejemplos positivos, existe unejemplo negativo que la refuta (se relaciona con Popper: Las teorıas debende ser refutables con hechos).

Los ejemplos se usan para probar y formar hipotesis. En la practica unaseleccion de ejemplos se hace sobre el espacio de ejemplos.

Esta seleccion puede hacerla un: oraculo, el medio ambiente, seleccionadaen forma aleatoria, propuesta por el sistema.

Una “buena” seleccion de ejemplos puede mejorar el desempeno de unsistema (ver por ejemplo Active Learning).

A veces esa seleccion puede mejorarse con conocimiento del dominio.

Es deseable que la distribucion que sigan los ejemplos sea similar a la quevan a tener ejemplos futuros.

Finalmente, si el sistema es quien tiene el control sobre cuando experi-mentar situaciones novedosas o no, entonces se tiene el problema de formarun balance entre exploracion y explotacion.

Metodos de inferencia:

Intuitivamente un metodo de inferencia es un proceso computacional dealgun tipo que lee ejemplos y produce hipotesis del espacio de hipotesis.

Existe una gran cantidad de metodos. Algunos realizan ajustes grad-uales en base a refuerzos sobre predicciones sucesivas (e.g., aprendizaje porrefuerzo, redes neuronales, regresion, etc.). Otros construyen incremental-mente hipotesis tratando de cubrir la mayor parte de un conjunto de ejem-plos (e.g., reglas de clasificacion, programas logicos) o en base a mejoresparticiones de ejemplos (e.g., arboles de decision). Otros, guardan ejemplosprototıpicos (e.g., aprendizaje basado en casos y aprendizaje basado en in-stancias). Algunos buscan relaciones entre variables (e.g., redes Bayesianas).Finalmente, algunos algoritmos combinan o modifican hipotesis promisorias

18

Page 24: Curso en pdf

(e.g., algoritmos geneticos).

Criterio de exito:

Un componente importante dentro de la especificacion de un problemade inferencia es el criterio de exito. Identificacion en el lımite es uno de ellos,sin embargo, normalmente es difıcil saber cuando el metodo ha convergido.

Recientemente Valiant, propuso un criterio de identificacion correcta deuna regla a partir de ejemplos usando un criterio estocastico.

La idea es que despues de un muestreo aleatorio de ejemplos positivos ynegativos de una regla, un procedimiento de identificacion debe de produciruna regla que con “alta probabilidad” no sea “muy diferente” de la reglacorrecta.

Esto se basa en dos parametros: ǫ y δ. ǫ es una medida de toleranciao un lımite de la diferencia permitida entre la regla correcta y la hipotesisgenerada. δ es una medida de confianza.

Informalmente, un procedimiento de identificacion se dice ser probable-mente aproximadamente correcto o PAC si la diferencia entre la regla correctay la hipotesis es menos que ǫ con probabilidad mayor a 1− δ.

En la practica queremos ciertas garantias de la calidad de la hipotesis.

Las mas comunes son que sea completo y consistente (ver figura 1.9):

• Una hipotesis es completa si cubre todos los ejemplos positivos

• Una hipotesis es consistente si no cubre a ninguno de los ejemplosnegativos

A veces el usuario determina el criterio de paro. Si el sistema genera suspropios ejemplos, este lo determina.

19

Page 25: Curso en pdf

xx

xxx

x

Completo y Consistente

x x

xxx

x

Completo e Inconsistente

x x

xxx

x

Inompleto y Consistente

x x

xxx

x

Incompleto e Inconsistente

HH

H H

Figura 1.9: Completo y Consistente (X positivos y O negativos).

20

Page 26: Curso en pdf

1.2 Espacio de Versiones

Desde el punto de vista de logica, en aprendizaje computacional, normal-mente empezamos con un predicado meta (M) y tratamos de encontrar unaexpresion logica equivalente que nos sirva para clasificar ejemplos correcta-mente.

Cada hipotesis propone una expresion, y la llamaremos la definicion can-didata del predicado meta.

Como lo mencionamos antes, el espacio de hipotesis H es el conjunto detodas las hipotesis {H1, H2, . . . , Hn}, que el algoritmo de aprendizaje estadisenado a producir.

Cada hipotesis predice que un cierto conjunto de ejemplos (aquellos quesatisfacen su definicion candidata) son ejemplos del predicado meta. A estosejemplos tambien se les llama la extension del predicado.

En este sentido dos hipotesis son logicamente equivalentes si tienen lamisma extension.

Los ejemplos son objetos para los cuales el predicado meta puede o nosatisfacerse.

Una hipotesis es consistente logicamente con los ejemplos si se cumple ono dependiendo si el ejemplo es positivo o negativo.

Las condiciones por las cuales una hipotesis puede ser inconsistente conalgun ejemplo son:

• Un ejemplo es un negativo falso para la hipotesis (i.e., la hipotesis diceque debe de ser negativo y en realidad es positivo)

• Un ejemplo es un positivo falso para la hipotesis (i.e., la hipotesis diceque debe de ser positivo y en realidad es negativo)

Si asumimos que el ejemplo es una observacion correcta, un falso positivoo negativo implica que la hipotesis tiene que ser rechazada.

21

Page 27: Curso en pdf

Desde un esquema de logica, podemos caracterizar el aprendizaje induc-tivo eliminando gradualmente hipotesis que sean inconsistentes con los ejem-plos (ver figura 1.10).

Sin embargo, el espacio es muy grande (e incluso infinito en muchos casos)haciendo su implantacion directa impractica (sino imposible).

Busqueda de la mejor hipotesis actual:

La idea es mantener una sola hipotesis, e irla ajustando conforme nuevosejemplos se consideran, manteniendo consistencia.

El algoritmo basico puede encontrarse descrito desde 1943 (John StuartMill).

Si tenemos una hipotesis Hr y recibimos un negativo falso, entonces laextension de la hipotesis debe aumentarse para incluirlo. A esto se le llamageneralizacion.

Si tenemos un positivo falso, entonces la extension de la hipotesis debereducirse para excluirlo. A esto se le llama especializacion.

Definimos generalizacion y especializacion como operaciones que cambianla extension de una hipotesis (ver figura 1.11). Intuitivamente H1 es masgeneral que H2 si la “cubre”.

Ahora debemos de ver como implementarlas como operaciones sintacticas.

Una posible forma de generalizar es eliminando condiciones volviendolas definiciones mas debiles y por lo tanto cubriendo un conjunto mayor deejemplos o anadiendo disjunciones (ver tabla 1.1).

De forma dual, podemos especializar anadiendo condiciones o eliminandodisjunciones.

La estrategia de la tabla 1.1, sigue basicamente una busqueda en profun-didad. Podemos empezar con una generalizacion o con una especializacionque sea consistente con los ejemplos.

Las ideas de este algoritmo se han usado en varios sistemas de aprendizaje,sin embargo, tiene algunos problemas:

22

Page 28: Curso en pdf

Ejemplo: 4 Espadas (+)

Ejemplo: 7 Espadas (+)

Ejemplo: 5 Corazones (-)

? ?

Num ? ? Num

4 ? Num Negro ? Espadas

4 Negro Num Espadas

4 Espadas? ?

Num ? ? Num

Num Negro ? Espadas

Num Espadas

? Num

Num Negro ? Espadas

Num EspadasEjemplo: 3 Treboles (+)

? Num

Num Negro

Ejemplo: Reina Treboles (-)

Num Negro

Figura 1.10: Proceso de eliminacion de hipotesis.

23

Page 29: Curso en pdf

x x

x

x

xx

x

x x

x

x

xx

x

x x

x

x

xx

xx

Especializar Generalizar

Figura 1.11: Proceso de especializar y generalizar.

24

Page 30: Curso en pdf

Tabla 1.1: Algoritmo de Mejor Hipotesis Actual.

funcion mejor-hipotesis-actual(ejemplos)regresa una hipotesis

H ← cualquier hipotesis consistente con el primer ejemploen ejemplos

para cada uno de los ejemplos restantes hacersi e es positivo falso para H entonces

H ← selecciona una especializacion de H consistentecon ejemplos

sino si e es negativo falso para H entoncesH ← selecciona una generalizacion de H consistente

con ejemplossi no se puede construir una especializacion /

generalizacion consistente entonces fallaregresa H

1. Verificar todas las instancias anteriores cada vez que se hace una mod-ificacion

2. Es difıcil encontrar buenas heurısticas de busqueda y el hacer back-tracking puede volverse “eterno”

El hacer backtracking sucede porque en el algoritmo anterior escoge unahipotesis particular como la mejor (aunque no se tenga suficiente informacionpara estar seguros de tal decision).

Alternativamente, podemos seguir una busqueda a lo ancho (i.e., man-tener varias hipotesis a la vez). Si seguimos una estrategia de especıfico ageneral, podemos tratar de tener en el conjunto todas las generalizacionesmas especıficas que son consistentes con las observaciones (tambien podemoshacerlo de general a especıfico). Ver tabla 1.2.

Los ejemplos positivos forzan las generalizaciones y los negativos eliminangeneralizaciones. Sigue un proceso monotonico de especıfico a general.

25

Page 31: Curso en pdf

Tabla 1.2: Algoritmo de Especıfico a General a lo ancho.

funcion espec-a-general-breadth(ejemplos)

H ← el conjunto de generalizaciones mas especıficasconsistentes con los ejemplos vistos en ejemplos

para cada uno de los ejemplos restantes hacersi e es positivo falso para alguna hipotesis en Hentonces H ← las hipotesis que no son

consistentes con el ejemplosino si e es negativo falso para alguna hipotesis en Hentonces H ← generaliza miembros de H , pero

solo al punto de aceptar el ejemploElimina de H cualquier elemento que sea

(i) mas general que otro elemento o(ii) aparea otros negativos

si no se puede construir una generalizacion consistenteentonces falla

regresa H

26

Page 32: Curso en pdf

Sin embargo, cada vez que generalizamos, seguimos teniendo que verificarconsistencia con todos los ejemplos positivos.

Busqueda con el menor compromiso

Una alternativa es mantener todas y solo aquellas hipotesis que son con-sistentes con todos los datos.

Con cada instancia nueva, o no se hace nada, o se eliminan algunashipotesis.

Asumiendo que el espacio de hipotesis inicial tiene una respuesta correcta,la disjuncion de hipotesis reducida, va a seguir teniendola. Al conjunto dehipotesis que quedan se le llama espacio de versiones (version space).

Una propiedad importante del algoritmo es que es incremental (nunca setiene que regresar para examinar ejemplos viejos).

Problema obvio: si el espacio es gigantesco, como podemos escribir ladisjuncion completa de hipotesis. El punto es que no la tenemos que escribir!

Se puede hacer una analogıa con numeros reales. Si queremos representartodos los numeros entre 1 y 2⇒ [1, 2].

Esto lo podemos hacer porque existe un ordenamiento.

La generalizacion / especializacion tambien nos da un orden, en este casoun orden parcial (ver figura 1.12).

En este caso, las fronteras no son puntuales, sino conjuntos de hipotesiso conjuntos frontera (boundary sets).

Lo bueno es que podemos representar todo el espacio de versiones usandosolo 2 conjuntos de frontera:

• la frontera mas general (el conjunto G)

• la frontera mas especıfica (el conjunto S)

Todo lo que esta entre S y G esta garantizado a ser consistente con losejemplos (el tamano de S y G depende del lenguaje).

27

Page 33: Curso en pdf

Muy general

Muy especifico

masespecifico

masgeneral

Figura 1.12: Orden parcial entre hipotesis.

Resumiendo:

• el espacio de versiones actual es el conjunto de hipotesis consistente contodos los ejemplos vistos

• cada elemento del conjunto S es consistente con todas las observacioneshasta el momento y no existen hipotesis consistentes que sean masespecıficas

• cada elemento del conjuntoG es consistente con todas las observacioneshasta el momento y no existen hipotesis consistentes que sean masgenerales

El espacio de versiones inicial tiene que representar a todas las hipotesis.Esto se puede lograr haciendo G = True (contiene todo) y S = False (suextension es vacıa).

Se tienen que cumplir dos propiedades:

• Toda hipotesis consistente esta entre S y G

28

Page 34: Curso en pdf

generalizar

especializar

e+

eH cubre

H no cubre

Figura 1.13: Actualizacion en el espacio de versiones

• Toda hipotesis entre S y G es consistente

Lo unico que queda es como actualizar S y G. Si Si es una de las hipotesisen S y Gi una en G (ver figura 1.13):

1. Positivo falso para Si: Si es muy general, pero por definicion no existeuna especializacion de Si consistente, por lo que la eliminamos

2. Negativo falso para Si: Si es muy especıfico y tenemos que substituirlopor su generalizacion inmediata

3. Positivo falso para Gi: Gi es muy general y tenemos que substituirlopor su especializacion inmediata

4. Negativo falso para Gi: Gi es muy especıfico, pero por definicion noexiste una generalizacion de Gi consistente, por lo que la eliminamos

Continuamos con estas operaciones hasta que (ver tabla 1.3):

29

Page 35: Curso en pdf

Tabla 1.3: Algoritmo de Espacio de Versiones.

Inicializa los conjuntos S y G con Falso y VerdaderoPara cada ejemplo ei subsecuente

si e es negativo entonces• Manten en S solo las hipotesis que no

cubren a ei• Especializa en G aquellas hipotesis que

cubran a ei, pero solo al punto para nocubrirlo y que sigan siendo las mas generales

• Elimina de G cualquier elemento mas especıficosino si ei es positivo entonces• Manten en G solo las hipotesis que

cubren a ei• Generaliza en S aquellas hipotesis

que no cubran a ei, pero solo al punto paracubrirlo y que sigan siendo las mas especıficas

• Elimina de S cualquier elemento mas general

1. En el espacio de versiones queda una sola hipotesis

2. El espacio de versiones se colapsa (S y G se vuelven vacıas), por lo queno hay una hipotesis consistente con los ejemplos

3. Se acabaron los ejemplos y tenemos varias hipotesis en el espacio de ver-siones, i.e., una disjuncion de hipotesis (con un nuevo ejemplo, si todaslas hipotesis estan de acuerdo, clasificamos el ejemplo, sino, podemostomar un voto mayoritario)

Ventajas:

• Detecta cuando acaba (cuando los ejemplos son suficientes)

• Cuando hay solo algunos ejemplos, sigue dando resultados

Problemas:

30

Page 36: Curso en pdf

1. Asume que podemos calcular la relacion mas-general-que

2. Si el dominio tiene ruido o insuficientes atributos para una clasificacionexacta, el espacio de versiones se colapsa

3. Si permitimos una disjuncion ilimitada en el espacio de hipotesis, elconjunto S va a tener una disjuncion de los ejemplos positivos y G vaa tener la negacion de la disjuncion de los ejemplos negativos

Para el manejo de ruido no existe una solucion general (pero vamos a vervarias). Para el caso de disjunciones ilimitadas, podemos usar una jerarquıade generalizaciones.

El algoritmo de espacio de versiones se uso en Meta-Dendral (reglas parapredecir como se rompen moleculas quımicas) y en LEX (resolver problemasde integracion simbolica).

Puede servir para generar automaticamente ejemplos que dividan el es-pacio de busqueda.

Unos anos depues, se desarrollo una generalizacion del espacio de ver-siones, que permite manejar ruido, valores faltantes e incorporar conocimientodel dominio. Para esto utiliza conjuntos de frontores que permiten cierta can-tidad de ruido y desarrollo metodos para fusionar elementos de las fronteras.

31

Page 37: Curso en pdf

Capıtulo 2

Aprendizaje Basado enSimilaridades (SBL)

Atributos ClasePeludo? Edad? Tamano?si viejo grande leonno joven grande no leonsi joven mediano leonsi viejo pequeno no leonsi joven pequeno no leonsi joven grande leonno joven pequeno no leonno viejo grande no leon

If Tamano = medianoThen leon

If Tamano = grandeand Peludo = siThen leon

If Tamano = pequenoThen no leon

32

Page 38: Curso en pdf

Tamano~

mediano

grande

pequeno~

leonno leon Peludo

si no

no leonleon

Figura 2.1: Arbol de decision.

If Tamano = grandeand Peludo = noThen no leon

2.1 Induccion de Arboles de Decision (TDIDT:

Top Down Induction of Decision Trees)

Existe una serie de algoritmos desarrollados desde los principios de los 60’spara la construccion de arboles de decision. 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.

Muchos de estos desarrollos se han convertido en herramientas comer-ciales, por ejemplo, RuleMaster (1984), Ex-Tran (1984), Expert-Ease (1983),y C5/See5 (2000). Por otro lado, la gran mayorıa de los ambientes de KDDincluyen alguna version de ID3 o de CART.

El aprendizaje de arboles de decision es uno de los mas sencillos y facilesde implementar y a su vez de los mas poderosos.

33

Page 39: Curso en pdf

Un arbol de decision toma de entrada un objeto o situacion descrita porun conjunto de atributos y regresa una decision “verdadero/falso”.

En general pueden tener un rango mas amplio que simples funcionesBooleanas, pero por simplicidad, consideremos primero solo estas.

Cada nodo interno corresponde a una prueba en el valor de uno de losatributos y las ramas estan etiquetadas con los posibles valores de la prueba.

Cada hoja especifica el valor de la clase.

Expresividad

Los arboles de decision estan limitados a hablar de un solo objeto, osea,son escencialmente proposicionales, siendo cada prueba de atributo una proposicion.

Por lo mismo no podemos usar los arboles de decision para expresar prue-bas sobre dos o mas objetos diferentes, e.g. ∃r2Cercano(r2, r)∧Precio(r2, p2)∧Precio(r, p) ∧MasBarato(p2, p)

Claro que podrıamos anadir un atributo Booleano que se llame:RestMasBaratoCerca, pero es intratable para todas las combinaciones deatributos.

Por otro lado, los arboles de decision son completamente expresivos dentrode la clase de lenguajes proposicionales. Osea que cualquier funcion Booleanapuede ser descrita por un arbol de decision.

Trivialmente, podemos tomar cada fila como un camino en la construccionde un arbol. Sin embargo, la tabla es exponencial en el numero de atributos.

Para muchas funciones, los arboles son relativamente pequenos. Sinembargo, para otras funciones puede requerir un arbol exponencialmentegrande. Por ejemplo, la funcion paridad (i.e., regresa 1 si la suma de 1’s espar) o la funcion de mayorıa (regresa 1 si mas de la mitad de la entrada esun 1).

Para n atributos, hay 2n filas. Podemos considerar la salida como unafuncion definida por 2n bits. Con esto hay 22

n

posibles funciones diferentespara n atributos (para 6 atributos, hay 2× 1019).

34

Page 40: Curso en pdf

Por lo mismo, tenemos que usar algun algoritmo ingenioso para encontraruna hipotesis consistente en un espacio de busqueda tan grande.

Induccion de arboles de decision a partir de ejemplos

Un ejemplo es descrito por los valores de los atributos y el valor delpredicado meta. El valor del predicado meta se le llama la clasificacion delejemplo.

Si el predicado es verdadero, entonces el ejemplo es positivo, sino el ejem-plo es negativo.

En caso de existir mas clases, los ejemplos de una sola clase son positivosy el resto de los ejemplos son considerados negativos.

Cuando se tiene un conjunto de ejemplos (datos), normalmente se dividealeatoriamente en dos subconjuntos. Uno de entrenamiento (con el cual seconstruye la hipotesis) y otro de prueba (con el que se prueba la hipotesisencontrada).

Mas formalmente:

1. Junta una gran cantidad de ejemplos

2. Dividelos en dos conjuntos disjuntos: entrenamiento y prueba

3. Usa el algoritmo de aprendizaje para generar una hipotesis H

4. Mide el porcentage de clasificacion correcta de H en el conjunto deprueba

5. Repite los pasos 1 - 4 para diferentes tamanos de conjuntos de entre-namiento y diferentes conjuntos seleccionados aleatoriamente

Encontrar un arbol puede ser trivial (e.g., construir un camino por cadaejemplo). Sin embargo, no es bueno para predecir casos no vistos. El prob-lema es que solo memoriza lo visto, por lo que no extrae ningun patron delos ejemplos (por lo que no podemos esperar que extrapole).

El extraer un patron significa el poder describir una gran cantidad deejemplos en forma concisa. Esto tambien sigue un principio general en los

35

Page 41: Curso en pdf

algoritmos de induccion llamada: Ockham’s razor (muchas veces escrito comoOccam): dar preferencia a hipotesis mas simples que sean consistentes contodas las observaciones.

Encontrar el arbol mas pequeno es intratable, pero se pueden usar heurısticaspara encontrar arboles pequenos.

Idea: probar primero el atributo mas “importante” (el que diferenciamejor los ejemplos).

Despues que el primer atributo particiona los ejemplos, cada subconjuntoes un nuevo problema de aprendizaje a su vez, con menos ejemplos y un atrib-uto menos. Este proceso recursivo tiene 4 posibles resultados (ver tabla 2.1):

1. Si existen ejemplos positivos y negativos, escoge el mejor atributo paraparticionarlos

2. Si todos los atributos restantes son positivos (o negativos), termina yregresa True (o False)

3. No quedan ejemplos (no ha sido observado un ejemplo con esa com-binacion de atributos). Regresa un default en base a la clasificacionmayoritaria de su nodo padre

4. No hay mas atributos, pero seguimos con ejemplos positivos y negativos(i.e., existen ejemplos con la misma descripcion, pero diferente clasifi-cacion). Posiblemente por ruido y/o falta de atributos y/o dominio nodeterminıstico. Posible solucion: tomar la clasificacion mayoritaria

El arbol resultante no necesariamente es el “correcto”. Para eso lo probamoscon el conjunto de prueba.

Aplicaciones:

Es la tecnica que posiblemente se ha usado mas en aplicaciones reales.Tres ejemplos:

• GASOIL (1986): Diseno de sistemas de separacion de hidrocarburosen plataformas petroleras de BP, 2,800 reglas, 1 ano-hombre de tiempo

36

Page 42: Curso en pdf

Tabla 2.1: Algoritmo de construccion de arboles de decision.

funcion Arbol-decision(ejemplos,atributos,default)regresa un arbol de decision

entradas:ejemplos : conjunto de ejemplosatributos : conjunto de atributosdefault : valor de default para el predicado meta

if ejemplos = vacıo then regresa defaultelse if todos los ejemplos tienen la misma clasificacion

then regresa la clasificacionelse if atributos = vacıothen regresa VALOR-MAYORITARIO(ejemplos)else

Mejor ← ESCOGE-ATRIBUTO(atributos, ejemplos)Arbol ← nuevo arbol de decision con Mejor como raızpara cada valor vi de Mejor do

ejemplos i ← {ejemplos con Mejor = vi}Subarbol ← ARBOL-DECISION(ejemplos i,

atributos - mejor,VALOR-MAYORITARIO(ejemplos))

anade una rama a Arbol con etiqueta vi ysubarbol Subarbol

endreturn Arbol

37

Page 43: Curso en pdf

Tabla 2.2: Tabla de ejemplos para decidir si jugar o no golf.

Ambiente Temp. Humedad Viento Clasesoleado alta alta no Nsoleado alta alta si Nnublado alta alta no Plluvia media alta no Plluvia baja normal no Plluvia baja normal si Nnublado baja normal si Psoleado media alta no Nsoleado baja normal no Pluvia media normal no Psoleado media normal si Pnublado media alta si Pnublado alta normal no Plluvia media alta si N

Ambiente

lluviosonublado

soleado

si no

Humedad VientoP

alta normal

P PN N

Figura 2.2: Arbol de decision para jugar Golf.

38

Page 44: Curso en pdf

de desarrollo, 0.1 de mantenimiento, mejor que expertos y ahorro demillones de dolares.

• BMT (1990): Configuracion de equipo de proteccion de incendios enedificios, > 30,000 reglas, 9 anos hombre de desarrollo y 2 de man-tenimiento (comparado con: MYCIN: 400 reglas, 100 anos-hombre dedesarrollo o R1/XCON: 8,000 reglas, 180 anos-hombre de desarrollo y30 de mantenimiento).

• Aprendiendo a volar (1992): En lugar de construir un modelo precisode la dinamica del sistema, se aprendio un mapeo adecuado entre elestado actual y la decision de control correcta para volar un Cessna enun simulador de vuelo. Los datos se obtuvieron de 3 pilotos experi-mentados haciendo un plan de vuelo asignado 30 veces. Cada acciondel piloto creaba un ejemplo. Se usaron 90,000 ejemplos descritos por20 atributos. Se uso C4.5 que genero un arbol y se convirtio a C. Seinserto en el simulador y logro volar. Los resultados fueron sorpren-dentes en el sentido de que aparte de aprender a volar a veces tomabadecisiones mejores que las de sus “maestros”

2.1.1 Como le hace?

La medida utilizada en ESCOGE-ATRIBUTO debe de tener su valor maximocuando el atributo sea perfecto (i.e., discrimine perfectamente ejemplos pos-itivos y negativos) y mınimo cuando el atributo no sea relevante.

Una posibilidad es basar la medida en la cantidad de informacion que dael atributo (basado en la teorıa de Shannon y Weaver ’49).

La cantidad de informacion mide la (im)pureza en una coleccion arbitrariade ejemplos.

La cantidad de informacion recibida respecto a la ocurrencia de un eventoes inversamente proporcional a la probabilidad de ocurrencia de dicho evento.

La informacion se mide en bits (un bit de informacion es suficiente pararesponder Verdadero/Falso a una pregunta cuya respuesta no se sabe).

39

Page 45: Curso en pdf

E

P(x)1

1

1/2

Figura 2.3: Funcion de Entropıa.

Si se tienen vi posibles respuestas con probabilidades P (vi), el contenidode informacion es:

I(P (v1), . . . , P (vn)) = −n∑

i=1

P (vi)log2P (vi)

Nos representa el contenido promedio de informacion para los diferenteseventos (ver figura 2.3).

En el caso de los arboles de decision queremos estimar las probabilidadesde las respuestas. Esto se hace por la proporcion de ejemplos positivos ynegativos.

Si se tienen p ejemplos positivos y n ejemplos negativos, entonces:

I(p

p+ n,

n

p+ n) = − p

p + nlog2

p

p+ n− n

p+ nlog2

n

p+ n

Un solo atributo normalmente no nos proporciona toda esta informacion,pero podemos estimar cuanta, viendo cuanta informacion necesitamos de-spues de utilizar ese atributo,

Cada atributo A, divide a los ejemplos del conjunto de entrenamiento ensubconjuntos E1, E2, . . . , Ev de acuerdo a los v valores del atributo.

40

Page 46: Curso en pdf

Cada subconjutno Ei tiene pi ejemplos positivos y ni ejemplos negativos,por lo que para cada rama necesitamos: I( pi

pi+ni, ni

pi+ni) cantidad de infor-

macion para responder a una pregunta.

Un ejemplo aleatorio tiene el valor i-esimo del atributo A con proba-bilidad: pi+ni

p+n. Por lo que en promedio, despues de probar el atributo A,

necesitamos:

E(A) =v∑

i=1

pi + ni

p+ nI(

pipi + ni

,ni

pi + ni

)

La cantidad de informacion que ganamos al seleccionar un atributo estadada por:

Ganancia(A) = I(p

p+ n,

n

p+ n)− E(A)

La ganancia de Ame dice el numero de bits que ahorramos para respondera la pregunta de la clase de un ejemplo, dado que conocemos el valor delatributo A.

Dicho de otra forma, mide que tan bien un atributo separa a los ejemplosde entrenamiento de acuerdo a la clase meta.

La funcion de evaluacion escoge el atributo de mayor ganancia.

Por ejemplo, si calculamos las ganancias para los atributos con los datosde la tabla 2.2 (asumimos que 0× log2(0) = 0):

I(9, 5) = − 914log2(

914)− 5

14log2(

514) = 0.941

Para Ambiente:soleado: p1 = 2, n1 = 3, I(p1, n1) = 0.971nublado: p2 = 4, n2 = 0, I(p2, n2) = 0lluvia: p3 = 3, n3 = 2, I(p3, n2) = 0.971Entropıa(Ambiente) = 5

14I(p1, n1) +

414I(p2, n2) +

514I(p3, n3) = 0.694

Para Humedad :alta: p1 = 3, n1 = 4, I(p1, n1) = 0.985

41

Page 47: Curso en pdf

normal: p2 = 6, n2 = 1, I(p2, n2) = 0.592Entropıa(Humedad) = 0.798

Para Viento:no: p1 = 6, n1 = 2, I(p1, n1) = 0.811si: p2 = 3, n2 = 3, I(p2, n2) = 1.0Entropıa(Viento) = 0.892

Para Temperatura, Entropıa(Temperatura) = 0.9111

Las ganancias son entonces:Ganancia(Ambiente) = 0.246 (MAX)Ganancia(Humedad) = 0.151Ganancia(Viento) = 0.048Ganancia(Temperatura) = 0.029

Por lo que ID3 escoge el atributo Ambiente como nodo raız y procede arealizar el mismo proceso con los ejemplos de cada rama.

Para Ambiente tenemos tres subconjuntos: soleado (2+, 3−), nublado(4+, 0−), lluvioso (3+, 2−). Para nublado, no tenemos que hacer nada, masque asignarle la clase P .

Por ejemplo, para soleado hariamos el mismo proceso:Ganancia(Humedad) = 0.97 - [(3/5)0 + (2/5)0] = 0.97 (MAX)Ganancia(Temperatura) = 0.97 - [(2/5)0 + (2/5)1 + (1/5)0] = 0.570Ganancia(Viento) = 0.97 - [(2/5)1 + (3/5)0.918] = 0.019

Uso del Arbol de Decision

Con el arbol construido, podemos preguntar si esta bien jugar el sabadoen la manana con ambiente soleado, temperatura alta, humedad alta y conviento, a lo cual el abol me responde que no.

ID3 sigue una estrategia hill-climbing, sin backtracking, incrementando encada paso la complejidad del arbol. Utiliza todos los ejemplos, con los cualesextrae estadısticas y que lo hace mas robusto que un algoritmo incrementaly por otro lado lo hace facilmente extendible para manejar ruido. Tiende apreferir construir arboles pequenos con atributos con ganancia de informacionalta cerca de la raız.

42

Page 48: Curso en pdf

Criterio de Seleccion:

El criterio de seleccion basado en contenido de informacion tiende a fa-vorecer atributos que tienen mas valores.

Por ejemplo, si un atributo tiene valores aleatorios o es un identificadorunico de cada ejemplo (su clasificacion serıa perfecta y su informacion alseleccionarlo serıa 0 (ganancia maxima). Con esto el algoritmo basico con-struye un arbol de un solo nivel o decision stump.

Posible solucion: arbol binario, dividiendo los posibles valores de los atributosen dos. Desventaja: arboles difıciles de entender + computacionalmente caro(2n subconjuntos para n valores).

Otra solucion: Para compensar esto se definio una razon de ganancia deinformacion. Esto es dividir la ganancia de informacion entre la informacionde la division (la cantidad de informacion en los ejemplos que se dividio).

La informacion de la division (split information) se define como:

SI(A) = −n∑

i=1

P (Ai)log2P (Ai)

Esto es, la entropıa de los datos con respecto a los valores del atributo(versus entropıa con respecto a la clase).

E.g., si un atributo binario divide el conjunto de ejemplos en dos sub-conjuntos de igual tamano, el contenido de informacion de su division es1. Mientras que un atributo que divide los ejemplos en 14 subconjuntos detamano 1, serıa: 14(−1/14log2(1/14)) = −log2(1/14).

Sin embargo, no siempre funciona ya que puede sobrecompensar. Unapractica comun es usar el atributo de la razon de ganancia de informacionmaxima si su ganancia de informacion es al menos tan grande como el prome-dio de ganacia de informacion del resto de los atributos.

Ademas de medidas basadas en ganancia de informacion, se han prop-uesto un gran numero de diferentes medidas heurısticas para seleccionar al“mejor” nodo y construir arboles de decision. Otra medida muy utilizada es

43

Page 49: Curso en pdf

el ındice Gini del sistema CART:

Gini(t) = 1−m∑

j=1

(p(j | t))2

donde p(j | t) es la frecuencia relativa de la clase j en t.

Lo que se quiere es minimizar el ındice Gini al seleccionar un atributo.Para esto se calcula el ındice Gini en cada rama del atributo tomando encuenta su proporcion de ejemplos. Si se divide en k ramas:

GiniA =k∑

i=1

ni

nGini(k)

donde ni son los ejemplos de la rama y n los del nodo.

2.1.2 Atributos numericos y manejo de ruido

Hasta ahora hemos visto como funciona el algoritmo con atributos con valoresdiscretos finitos y con datos sin ruido. Veremos ahora algunas extensionespara estos casos.

Atributos numericos:

Que hacer si un atributo es numerico?

Lo que normalmente se hace es que se ordena el atributo numerico, seidentifican ejemplos adyacentes que tengan valor de clase diferente y se con-sideran como candidatos los puntos medios de division del valor del atributo.A cada uno de estos se le calcula su ganancia de informacion.

Supongamos que en el ejemplo de la tabla 2.2 la temperatura toma val-ores enteros, y que los desplegamos en forma ordenada (de menor a mayor)juntando los valores iguales:

64 65 68 69 70 71 72 75 80 81 83 85P N P P P N N P N P P N

P P

Existen 8 posibles lugares de corte que separan el valor de la clase. Paracada uno de ellos se puede calcular su ganancia de informacion tomando el

44

Page 50: Curso en pdf

punto medio. Por ejemplo, si se toma el punto 71.5, Temperatura < 71.5tiene 4 P y 2 N, mientras que Temperatura > 71.5 tiene 5 P y 3 N.

Cada posible particion entra en competencia con el resto de los atributosy el de mayor ganancia de informacion es el que se selecciona.

Esto implica que en el caso de atributos numericos, estos pueden aparecervarias veces en una rama de un arbol.

Para evitar ordenar ejemplos cada vez que se selecciona un atributo, seguarda con cada subconjunto el orden de acuerdo a un atributo numerico.Esto se puede hacer al principio y no volverlo a repetir.

Valores faltantes:

Una forma de tratar valores faltantes es como si fueran otro posible valordel atributo. Esto solo funciona si el valor faltante tiene un significado espe-cial en algun sentido.

Ignorar los datos es demasiado drastico ya que algunas veces el valor delatributo puede no ser relevante para tomar una decision.

Se han hecho diferentes propuestas para manejar datos faltantes, comollenar estos huecos con el valor mas probable o con el valor mas probabledada la clase.

Lo que hace C4.5 es distribuir los objetos con valores desconocidos entrelos demas. En donde se calcula la ganacia en informacion como si pi fuera:

pi + pd · razoni

razoni =pi + ni

i(pi + ni)

y pd es la probabilidad de los datos desconocidos. Haciendo lo equivalentepara ni.

La otra “cara de la moneda” es como clasificar (dado que se tiene unarbol) un objeto con atributos desconocidos.

Idea: seguir todas las posibles ramas pero tomando en cuenta que algunas

45

Page 51: Curso en pdf

son mas probables que otras (tienen mas datos que la sorportan).

T · razoni

Al final se puede calcular el nivel de “confianza” para una clasificacion.

Si se sabe cierta informacion acerca del posible valor del atributo, se puedeusar algun metodo probabilıstico.

Costo de clasificacion:

Si existe un costo en la clasificacion, y este se conoce, entonces se puedeincorporar a la probabilidad de la prediccion de la clase (se multiplica).Normalmente se hace definiendo una matriz de costo en donde la diagonales 0 y los elementos fuera de la diagonal representan el costo de equivo-carse en la clasificacion. Entonces, se multiplican las probabilidades de lasclases predichas por el clasificador, por la columna correspondiente a la clasepredicha en la matriz de costo y se selecciona la clase de menor costo esper-ado. Variando las matrices de costo se puede variar la clasificacion.

Recientemente se han estado estudiado el crear arboles cuando el costo de(error en la) clasificacion es diferente (e.g., dianosticar cancer). Esto afectaen general el proceso de crecer y de podar (ver abajo) los arboles.

Cuando veamos formas de evaluar algoritmos, se mostrara como se puedetomar en cuenta el costo de la clasificacion definiendo diferentes umbralesdentro de curvas ROC.

Por lo pronto una forma simple y general es generar datos de entre-namiento con diferente proporcion en las clases. Si lo que nos interesa esque clasifique bien una clase, entonces aumentamos la proporcion de ejem-plos de esa clase. Esto se puede hacer duplicando instancias de la clase apredecir y/o reduciendo instancias de las otras clases.

Algunos algoritmos generan instancias artificialmente y las clasifican deacuerdo a sus vecinos mas cercanos.

Finalmente, algunos algoritmos permiten incorporarle pesos a los ejemp-los de entrenamiento y con esto considerar el costo de una mala clasificacion.

Ruido y “Overfitting”

46

Page 52: Curso en pdf

Algunas de las ventajas de ID3 es que es util en dominios con un altogrado de no homogeneidad (diferentes relaciones entre atributos en difer-entes regiones del espacio de problemas) y alta dimensionalidad (muchosatributos).

En general, podemos hablar de que a pesar de que falte informacionrelevante, se pueda construir un arbol con los atributos irrelevantes.

Con muchas posibles hipotesis se tiene que tener cuidado en no encontrar“regularidades con poco sentido” a partir de los datos. A este problema sele llama overfitting y afecta a todos los tipos de aprendizaje (i.e., no solo alos arboles de decision).

Definicion: dado un espacio de hipotesis H , una hipotesis h ∈ H se diceque sobreajusta los datos de entrenamiento si existe otra hipotesis h′ ∈ H , talque h tiene errores mas pequenos que h′ en los ejemplos de entrenamiento,pero h′ tiene errores mas pequenos que h en toda la distribucion de ejemplos.

Uno de los problemas a los que se enfrentan los sistemas de aprendizaje,y que provocan el sobreajuste, es cuando los ejemplos de entrenamiento con-tienen ruido:

• valores de atributos erroneos, subjetivos

• clasificacion equivocada

• 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 basico (ID3)tiende a construir arboles de decision que son mas grandes de lo necesario, yno clasifican adecuadamente.

En el caso de arboles de decision se tiene que decidir:

• como trabajar con atributos inadecuados

• cuando al anadir atributos extra no mejora la prediccion del arbol dedecision

47

Page 53: Curso en pdf

En general, podemos hablar de dos metodos utilizados para manejar ruido(basados en la condicion de terminacion):

• pruning (o pre-pruning): cambiar el criterio de paro del arbol de de-cision para “podar” ramas.

• post-pruning : “podar” ramas una vez construıdo el arbol.

Pruning: En este caso, lo que se tiene que decidir es cuando parar o dejarde construir el arbol a pesar de no tener hojas con ejemplos de una sola clase.

Se han propuesto tecnicas usando un umbral de ganancia de informacion(si no es mayor al umbral parar), tecnicas usando validacion cruzada (si nomejora la clasificacion con datos desconocidos parar) o medidas basadas en elprincipio de longitud de descripion mınima (MDL). Si el utilizar el atributoaumenta la medida de MDL entonces parar.

El problema principal es que en todos estos metodos el criterio de paroesta basado en informacion local. A pesar de que no se tengan buenos criteriosen un nodo, puede darse el caso que se puedan hacer buenas particiones ensus descendientes.

Post-pruning: Esta es la tecnica mas utilizada, y algunos de los metodosmencionados arriba se han utilizado para podar el arbol una vez ya constru-ido.

Pasos:

1. Crece el arbol como antes (solo verifica cuando se tienen ejemplosiguales y clases diferentes).

2. “Poda” el arbol.

Los problemas que se enfrentan estas tecnicas es cual arbol podado consid-erar (pueden existir muchas opciones) y como estimar el error de clasificacionde los arboles.

48

Page 54: Curso en pdf

El estimado de re-substitucion esta dado por la proporcion de ejemplosen el nodo mal clasificados si se toma la clase mayoritaria en el nodo. Elproblema es que el arbol mas grande nos da la mejor clasificacion.

Una de las tecnicas mas populares es hacer una estimacion directa delerror por re-substitucion (poda). Como se hace con los mismos datos, seasume que los datos siguen una distribucion Bernoulli (por ser unos cuantos(< 100), la cual se aproxima a una Normal con muchos datos), y considerandouna estimacion pesimista dentro de un nivel de confianza.

Para estimar errores se especifican niveles de confianza y las estadısticas(media y varianza) se obtienen directamente de los datos y los valores detablas (e.g., z).

2.1.3 Ejemplo

Supongamos que medimos el error de un clasificador con datos de prueba, ynos da 25%. Lo que nos gustaria saber es que tan confiable es esa estimacion.

Si obtenemos eso con 100 datos o con 10,000 claramente le vamos a creermas a la estimacion con los 10,000 datos.

En estadıstica, un conjunto de eventos independientes se conoce como unproceso Bernoulli (e.g., lanzar una moneda).

Podemos pensar en el porcentage de exito, por lo que queremos saber esque tanto se acerca ese 75% de exito al verdadedo porcentage de exito.

Esto se expresa normalmente con intervalos de confianza.

Para 750 exitos de 1,000 pruebas se tiene un 80% de confianza de que elverdadero porcentage de exito este entre 73.3% y 76.8%.

Para 75 exitos de 100 pruebas el mismo 80% de confianza tiene un inter-valo de 70% y 81%.

La media y la varianza de un proceso Bernoulli con porcentage de exitop son p y p(1− p) respectivamente.

49

Page 55: Curso en pdf

Tabla 2.3: Niveles de confianza de una distribucion normal.Pr[X ≥ z] z0.1% 3.090.5% 2.581% 2.335% 1.6510% 1.2820% 0.8440% 0.25

Para N pruebas del proceso Bernoulli el porcentage de exito es f = E/N(E = numero de exitos), y la varianza se reduce por un factor N a p(1−p)/N

El valor de exito se puede tomar como una variable aleatoria, con sumedia y su varianza.

La probabilidad de que una variable aleatoria con media cero este en unintervalo de confianza de tamano 2z es Pr[−z ≤ X ≤ z] = c.

Para una distribucion normal los valores de c y de z estan dados entablas (ver tabla 2.3) que expresan la probabilidad de que X sea mayor a z(Pr[X ≥ z]).

Las tablas nos dan solo una mitad, pero al ser simetrica la distribucionnormal 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 midelas desviaciones estandar fuera de la media).

Osea que para un 5% nos dice que existe un 5% que la variable X seencuentre a mas de 1.65 desviaciones estandar arriba de la media, o un 10%que este 1.65 desviaciones estandar (arriba o abajo) de la media.

Pr[−1.65 ≤ X ≤ 1.65] = 90%

Para cambiar a una media 0 y varianza 1 tenemos que restar la media p

y dividirlo por la deviacion estandar√

p(1− p)/N . Esto nos da:

50

Page 56: Curso en pdf

Pr[−z ≤ f − p√

p(1− p)/N≤ z] = c

Para esto dado un nivel de confiaza c le restamos 1 y dividimos el resultadoentre 2 y consultamos la tabla.

Tenemos que encontrar una expresion para p. Despues de cierta matematicanos queda:

p = (f +z2

2N± z

f

N− f 2

N+

z2

4N2)/(1 +

z2

N)

Esto nos da dos valores uno pesimista y otro optimista.

La distribucion normal es valida solo para valores grandes de N (e.g.,N > 100).

Regresando a la poda de arboles. Como ya vimos, una forma es guardardatos y usarlos para estimar estos errores. Otra posibilidad es usar los mismosdatos de entrenamiento para esta estimacion, que es lo que hace C4.5.

El usar un estimado de exito p o de error q es lo de menos, p + q = 1.Como los valores obtenidos son de los datos de entrenamiento se usa el valorpesimista que nos da:

p = (f +z2

2N+ z

f

N− f 2

N+

z2

4N2)/(1 +

z2

N)

Para ver como funciona esto, supongamos que tenemos el subarbol de lafigura 2.4.

Usamos c = 25% (z = 0.69). Para la rama izquierda tenemos 2 exitosde 6 casos, lo cual nos da una f = 0.33, Poniendo esto en la formula nos dap = 0.47 (aquı se ve la parte pesimista ya que en lugar un 33% nos da un47%). Para la rama de enmedio, tenemos 1 exito de 2, lo cual nos da p = 72.La rama de la derecha es igual a la izquierda.

51

Page 57: Curso en pdf

Temp.

alta

media

baja

2 P4 N

1 P 2 P1 N 4 N

Figura 2.4: Subarbol de decision.

La combinacion de estos valores tomando en cuenta el porcentage deejemplos de cada uno, nos da 0.51.

Ahora para la clase mayoritaria del nodo tenemos f = 5/14 lo cual nosda p = 0.46, que como es menor, entonces podamos esa rama.

Al cambiar el criterio de paro, podemos tener hojas con ejemplos dediferentes clases. Posibles soluciones:

• que las clases tomen valores fraccionarios (p/(p+n))

• tomar la clase mayoritaria (mejor si se quiere minimizar el error esper-ado)

En general con poco nivel de ruido, se comportan bien. No convienequitarle ruido a los datos si se van a probar en ambientes ruidosos.

Analisis de Complejidad:

La complejidad de contruir un arbol es:

O(mnlogn) +O(n(logn)2)

52

Page 58: Curso en pdf

Donde n es el numero de datos y m el numero de atributos.

El primer termino se refiere a construir un arbol de decision sin considerarpodado. El segundo termino se refiere cuando realizamos podado. Esto esindependiente de que los atributos sean continuos o no.

2.1.4 Algunas Extensiones

Se han propuesto varias extensiones, como en lugar de hacer una busquedatipo hill climbing usar beam search, o hacer busqueda tipo look-ahead.

Una de las mas populares es generar varios arboles de decision y luegocombinar sus resultados. Esto se puede hacer en forma paralela a partir devarias subconjuntos de los datos de entrenamiento (bagging), en forma se-cuencial considerando errores de clasificacion y modificando los datos (boost-ing) o usando varias muestras de los datos de entrenamiento e introduciendoaleatoriedad en la seleccion de atributos a considerar en cada nodo (randomforest).

2.1.5 Arboles de Regresion y de Modelos

Cuando la clase a predecir es numerica existen dos variantes:

• Regression trees : guardan el valor promedio de los valores en las hojas

• Model trees : utilizan una regresion lineal para predecir los valores delas clases

Los dos tipos de arboles se construyen muy parecido a los arboles dedecision para construir un arbol inicial.

En lugar de usar ganancia de informacion, seleccionan el atributo queminimiza la variacion entre subconjuntos de la clase en cada rama.

El criterio se basa en tratar la desviacion estandar de la clase como unamedida de error de ese nodo y calcular la reduccion esperada de error (stan-

53

Page 59: Curso en pdf

dard deviation reduction) como resultado de probar cada atributo en esenodo.

SDR = destd(T )−∑

i

Ti

T× destd(Ti)

donde T1, T2, . . . son los conjuntos que resultan de dividir al nodo deacuerdo al atributo seleccionado y destd es desviacion estandar (destd =√∑n

i (x(i)− µ)2/(n− 1), µ =∑n

i x(i)/n).

El proceso termina o cuando se tienen muy pocas instancias en el nodo ocuando la desviacion estandar es una pequena fraccion (5%) de la desviacionestandar original de los datos.

Cuando se usa un arbol de modelos para predecir el valor normalmentese construyen modelos lineales en cada nodo interno del arbol para suavizardiscontinuidades en las hojas.

Los valores predichos se suavizan combinando los valores predichos encada nodo. El proceso de suavizamiento usa la siguiente formula:

p′ =np + kp

n + k

donde p′ es el nuevo valor suavizado que se pasa al nodo de arriba, p esla prediccion del nodo de abajo, q es el valor que se obtiene con el modeloasociado al nodo, n es el numero de instancias asociadas al nodo de abajo yk es una constante.

Para valores desconocidos se ajusta la formula de reduccion esperada deerror.

Para construir y probar un modelo con un valor desconocido, se usan dostecnicas:

• Se reemplaza el valor del atributo por el valor del atributo mas fuerte-mente correlacionado a el (surrogate splitting).

• Se utiliza el valor de la clase (para entrenamiento). Se cambia por elvalor promedio de los datos en ese nodo (para prueba).

54

Page 60: Curso en pdf

Capıtulo 3

Aprendizaje de Reglas

El aprendizaje de reglas normalmente produce resultados mas faciles de en-tender.

Splitting vs. Covering

La estrategia basica de la construccion de arboles de decision se basa ensplitting, esto es, dividir el conjunto de datos en subconjuntos considerandoun atributo seleccionado por una heurıstica particular. Aqui se considerantodas las clases dentro de la particion.

La idea basica es anadir atributos al arbol que se esta construyendo bus-cando maximizar la separacion entre las clases.

La estrategia utilizada para aprender reglas, esta basada en covering, estoes, encontrar condiciones de reglas (par atributo-valor) que cubra la mayorcantidad de ejemplos de una clase, y la menor del resto de las clases. Seconsidera el cubrir una sola clase.

La idea basica es anadir pruebas a cada regla que se esta construyendobuscando maximizar covertura minimizando errores.

Las reglas pueden expresar disjunciones de manera mas facil que losarboles. Por lo mismo, el extaer reglas directamente de arboles tiede a pro-

55

Page 61: Curso en pdf

Tabla 3.1: Algoritmo de 1R

Para cada atributoPara cada valor de cada atributo, crea una regla:

cuenta cuantas veces ocurre la claseencuentra la clase mas frecuenteasigna esa clase a la regla

Calcula el error de todas las reglasSelecciona las reglas con el error mas bajo

ducir reglas mas complejas de lo necesario. Los arboles tienen lo que seconoce como replicated subtree problem, ya que a veces repiten subarboles envarios lados.

Por otro lado, si se quieren construir arboles a partir de reglas, no estrivial y tiende a dejar arboles incompletos.

Las reglas tienden a preferirse con respecto a los arboles por tender arepresentar “pedazos” de conocimiento relativamente independiente.

Listas de Decision

• Normalmente los sistemas generan lo que se llaman listas de decision(decision lists) que son conjuntos de reglas que son evaluadas en orden.

• Esto facilita la evaluacion, aunque disminuye su modularidad.

• El tener reglas que pueden ser evaluadas independientemente de suorden, permite que existan mas de una prediccion para un solo ejemploy dificulta el producir un solo resultado.

3.1 1R

Vamos a ver primero un sistema muy simple (1R) que es el equivalente a undecision stump, o arbol de decision de un solo nivel.

56

Page 62: Curso en pdf

Covering vs. Splitting

+

-

+

+++

+

++

+

-

-

-

-

-

-

-

+

-

+

+++

+

++

+

-

-

-

-

-

-

-

Splitting(ID3,CART)

Covering(AQ,CN2)

Figura 3.1: Splitting vs. Covering.

• La idea es hacer reglas que prueban un solo par atributo-valor.

• Se prueban todos los pares atributo-valor y se selecciona el que ocasioneel menor numero de errores.

• En el caso de la tabla 2.2 el numero total de errores para el atributoAmbiente es 4, para Temperatura es 5, para Humedad es 4 y paraViento es 5.

• Se rompe arbitrariamente los empates y nos quedariamos con las sigu-ientes reglas:

If Ambiente = soleadoThen Clase = N (cubre 5 y tiene 2 errores)If Ambiente = nubladoThen Clase = P (cubre 4 y tiene 0 errores)If Ambiente = lluviosoThen Clase = P (cubre 5 y tiene 2 errores)

57

Page 63: Curso en pdf

• Los valores faltantes en 1R se tratan como un nuevo valor y para losatributos continuos se hace una division simple.

• Primero se ordenan los atributos con respecto a la clase (como lo vimoscon arboles de decision).

• Se sugieren puntos de particion en cada lugar donde cambia la clase.

• Si existen dos clases diferentes con el mismo valor, se mueve el puntode particion a un punto intermedio con el siguiente valor hacia arribao abajo dependiendo de donde esta la clase mayoritaria.

• Un problema mas serio es que el algoritmo tendrıa a favorecer contruirreglas para cada una de las particiones, lo cual le da una clasificacionperfecta (pero muy poca prediccion futura).

• Lo que se hace es que se exige que cada particion tenga un numeromınimo de ejemplos de la clase mayoritaria.

• Cuando hay clases adyacentes con la misma clase mayoritaria, estas sejuntan.

Ejemplo:

64 65 68 69 70 71 72 72 75 75 80 81 83 85P 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.5y 84.

• Considerando los ejemplos de diferente clase, podemos mover la fron-tera de 72 a 73.5.

P N P P P N N P P P N P P N

• Si tomamos al menos 3 elementos por particion (en resultados experi-mentales con varios dominios, este valor se fijo a 6):

58

Page 64: Curso en pdf

P N P P P N N P P P N P P N

• Si juntamos clases con la misma clase mayoritaria, nos queda:

P N P P P N N P P P N P P N

• Lo cual nos darıa una regla del tipo:

If Temperatura ≤ 77.5Then Clase = P (cubre 10 y tiene 3 errores)

If Temperatura > 77.5Then Clase = N (cubre 4 y tiene 2 errores)

• En la segunda regla se hizo una seleccion aleatoria, ya que se tenia unempate.

3.2 PRISM

Es un algoritmo basico de aprendizaje de reglas que asume que no hay ruidoen los datos (ver table 3.2).

• Sea t el numero de ejemplos cubiertos por la regla y p el numero deejemplos positivos cubiertos por la regla.

• Lo que hace PRISM es anadir condiciones a reglas que maximicen larelacion p/t (relacion entre ejemplos positivos cubiertos y ejemplos cu-biertos en total) sea mayor.

• Este algoritmo, como va eliminando los ejemplos que va cubriendo cadaregla, las reglas que se construyen tienen que interpretarse en orden (lasnuevas reglas se disenan solo para cubrir los casos que faltan).

59

Page 65: Curso en pdf

If true Then Clase = P

If Viento=nThen Clase=P

If Viento=siThen Clase=P If Hum.=normal

Then Clase=P

If Humedad=altaThen Clase=P

If Hum.=normaland Viento=noThen Clase=P

If Hum.=normaland Viento=siThen Clase=P If Hum.=normal

and Ambiente=soleadoThen Clase=P

If Hum.=normaland Ambiente=lluviaThen Clase=P

...

...

[9+,5- ]

[6+,2- ]

[3+,3- ]

[6+,1- ]

[3+,4- ]

[2+,0- ]

Figura 3.2: Aprendizaje de Reglas

Tabla 3.2: Algoritmo de PRISM

Para cada clase CSea E = ejemplos de entrenamientoMientras E tenga ejemplos de clase C

Crea una regla R con LHS vacıo y clase CUntil R es perfecta do

Para cada atributo A no incluido en R y cada valor v,Considera anadir la condicion A = v al LHS de RSelecciona el par A = v que maximice p/t(en caso de empates, selecciona la que tenga p mayor)

Anade A = v a RElimina de E los ejemplos cubiertos por R

60

Page 66: Curso en pdf

Tabla 3.3: Ejemplos para construir reglas.A1 A2 A3 A4 Clase1 x triang a P0 x circ a N1 y cuadr a P1 y triang b P1 x cuadr b N0 y circ a P0 x traing b N1 y circ a P

• Reglas que dependen del orden para su interpretacion se conocen comodecision lists o listas de decision.

• Reglas que no dependen del orden son mas modulares, pero puedenproducir varias clasificaciones o no predecir nada.

• Con varias clasificaciones se puede seleccionar la regla que cubra masejemplos, y cuando no se tiene una clasificacion, escoger la clase may-oritaria.

• Las reglas ordenadas son en general mas rapidas de producir ya quevan reduciendo el numero de ejemplos a considerar.

3.2.1 Ejemplo

Consideremos la siguiente tabla (ver tabla 3.3).

Si empezamos con la clase P construimos todas las posibles combinacionesde atributo valor y evaluamos su prediccion sobre la clase P . Osea:

61

Page 67: Curso en pdf

Tabla 3.4: Ejemplos que quedan despues de eliminar los cubiertos por laprimera regla.A1 A2 A3 A4 Clase1 x triang a P0 x circ a N1 x cuadr b N0 x traing b N

If A1 = 1 If A1 = 0 If A2 = xThen Clase = P Then Clase = P Then Clase = P4/5 1/3 1/4

If A2 = y If A3 = triang If A3 = circThen Clase = P Then Clase = P Then Clase = P4/4 2/3 2/3

If A3 = cuadr If A4 = a If A4 = bThen Clase = P Then Clase = P Then Clase = P1/2 4/5 1/3

En este caso una regla es perfecta, (If A2 = y Then Clase = P) por lo queesa seleccionamos y eliminamos todos los ejemplos que cubre (ver tabla 3.4).

Repetimos lo mismo con los ejemplos que quedan.

If A1 = 1 If A1 = 0 If A2 = xThen Clase = P Then Clase = P Then Clase = P1/2 0/2 1/4

If A3 = triang If A3 = circ If A3 = cuadrThen Clase = P Then Clase = P Then Clase = P1/2 0/1 0/1

If A4 = a If A4 = bThen Clase = P Then Clase = P1/2 0/2

En este caso, tenemos tres empates de 1/2 como valor maximo. Tomamos

62

Page 68: Curso en pdf

uno al azar y construimos todas las posibles reglas anadiendole posibles paresatributo-valor:

If A1 = 1 If A1 = 1 If A1 = 1And A2 = x And A3 = triang And A3 = circThen Clase = P Then Clase = P Then Clase = P1/2 1/1 0/0

If A1 = 1 If A1 = 1 If A1 = 1And A3 = cuadr And A4 = a And A4 = bThen Clase = P Then Clase = P Then Clase = P0/1 1/1 0/1

De nuevo tenemos tres empates y tomamos uno aleatoriamente (el primero).

Las reglas entonces para la clase P son:

If A2 = y If A1 = 1 and A3 = triangThen Clase = P Then Clase = P

Lo mismo hay que hacer para el resto de las clases.

Para la clase N unas posibles reglas son:

If A2 = x and A1 = 0 If A2 = x and A3 = cuadrThen Clase = N Then Clase = N

3.3 Otros sistemas de reglas

AQ

Uno de los primeros sistemas de reglas fue AQ, desarrollado originalmentepor Michalski (79) (reimplementado y mejorado por otros autores, AQ11,AQ15).

• Su salida es un conjunto de reglas de clasificacion del tipo ‘if ... then...’.

• La idea principal de este sistema era seleccionar, aleatoriamente un

63

Page 69: Curso en pdf

ejemplo - semilla.

• Identificar el ejemplo de otra clase mas cercano y especializar (anadircondiciones atributo-valor) a la regla actual, para no cubrir ese ejemplonegativo y tratar de cubrir a la mayor cantidad de ejemplos positivos.

Se exploran varias alternativas de reglas (beam-search). Algunas de lasheurısticas que se usaron para seleccionar la mejor regla son:

• Sumar los ejemplos positivos cubiertos y los negativos excluidos (encaso de empate, preferir la mas corta).

• Sumar el numero de ejemplos clasificados correctamente dividido porel numero total de ejemplos cubiertos.

• Maximiza el numero de ejemplos positivos cubiertos.

Una de sus principales desventajas es que es sensible a ejemplos con ruido(i.e., si la semilla seleccionado tiene informacion erronea).

CN2

Un poco mas adelante se propuso el sistema CN2 (Clark, Niblett, 88), conla idea de atacar datos con ruido y evitar el sobreajuste que se encontrabaen sistemas como AQ.

Su contribucion principal es la de quitar la dependencia de un ejemploespecıfico durante su busqueda y forma la base de muchos de los algoritmosde reglas actuales.

En CN2 se pueden especificar valores don’t-care y valores desconocidos ysigue una busqueda tipo beam-search.

La heurıstica de busqueda original que sigue es basada en entropıa:

Entr = −∑

i

pilog2(pi)

donde pi es la distribucion de las clases que cubre cada regla.

64

Page 70: Curso en pdf

Se selecciona la regla de menor entropıa, osea la regla que cubre muchosejemplos de 1 clase y pocos de las demas.

En una version posterior usaron the Laplacian error estimate:

AccuracyA(n, nc, k) = (n− nc + k − 1)/(n+ k)

donde:n = numero total de ejemplos cubiertos por la reglanc = numero de ejemplos positivos cubiertos por la reglak = numero de clases en el problema.

CN2 maneja tambien una medida de significancia para las reglas. Elusuario proporciona un lımite para la medida de significancia, abajo del cuallas reglas son rechazadas.

La medida esta basada en la razon de verosimilitud (likelihood ratio statis-tic) que mide una distancia entre dos distribuciones, definida por:

2n∑

i=1

filog(fiei)

donde:

• F = (f1, . . . , fn) es la distribucion de frecuencias observada de ejemplosdentro de las clases que satisfacen una regla dada (numero de ejemplosque satisfacen la regla entre el numero total de ejemplos que satisfacela regla).

• E = (e1, . . . , en) es la frecuencia esperada del mismo numero de ejemp-los bajo la suposicion de que la regla selecciona ejemplos aleatoriamente(numero de ejemplos cubiertos por la regla siguiendo la distribucion deejemplos del total de los ejemplos).

• Entre mas baja es la medida es mas probable que la aparente regular-idad expresada en la regla sea por casualidad.

Estas medidas, entropıa y significancia determinan que reglas son buenas(tienen alta precision cuando predicen la clase mayoritaria cubierta) y con-fiables (la alta precision sobre datos de entrenamiento no se debe solo acasualidad).

65

Page 71: Curso en pdf

Medidas Alternativas de Seleccion:

• La mas simple (que ya vimos), es la frecuencia relativa de ejemplospositivos cubiertos. Tiene problemas con muestras pequenas.

m(R) =p

t=

p

p+ n

t = numero total de ejemplos cubiertos por la regla = p+ n

p = numero total de ejemplos positivos cubiertos por la regla

• Estimador Laplaciano (CN2). Asume una distribucion uniforme de lask clases (k = 2).

m(R) =p + 1

p+ n+ k

• Estimador m: considera que las distribuciones a priori de las clases(Pa(C)), son independientes del numero de clases y m es dependientedel dominio (entre mas ruido, se selecciona una m mayor).

m(R) =p+m · Pa(C)

p+ n+m

• Ganancia de informacion:

log2p

p+ n− log2

P

P +N

donde P y N son los ejemplos cubiertos antes de que se anadiera lanueva prueba

• Weighted relative accuracy:

wla =p+ n

P +N(

p

p+ n− P

P +N)

66

Page 72: Curso en pdf

Tabla 3.5: Algoritmo de podado de reglas.

Inicializa E al conjunto de ejemplosUntil E sea vacıo do

Para cada clase CCrea una regla perfecta para la clase CCalcula la medida de probabilidad m(R) para la regla

y para la regla sin la ultima condicion m(R−)Mientras m(R−) < m(R), elimina la ultima condicion

de la regla y repite el procesoDe las reglas generadas, selecciona aquella con m(R) menorElimina las instancias cubiertas por la regla

3.4 Valores desconocidos y numericos

Con valores desconocidos, en un algoritmo de covering lo mejor es hacercomo si no aparecieran en ninguna condicion (ignorarlos).

En este sentido, los algoritmos que aprenden decision lists tienen ciertaventaja, ya que ejemplos que parecen difıciles al principio, se van quedandoy al final se pueden resolver, en general, mas facilmente.

Los atributos numericos se pueden tratar igual que con los arboles.

Pruning:

Una forma de evaluar si una regla es buena es considerar la probabilidadde que una regla aleatoria nos de resultados iguales o mejores que la regla aconsiderar, basados en la mejora en ejemplos positivos cubiertos.

Idea: generar reglas que cubran puros ejemplos positivos. Esta reglaes probable que este sobre-especializada. Lo que se hace es que se eliminael ultimo termino que se anadio y se verifica si esta regla es mejor a laanterior (ver abajo). Este proceso se repite hasta que no existan mejoras(ver tabla 3.5).

Este algoritmo no garantiza encontrar las mejores reglas por 3 razones

67

Page 73: Curso en pdf

principales:

• (i) el algoritmo para construir las reglas, no necesariamente producelas mejores reglas para ser reducidas,

• (ii) la reduccion de reglas empieza con la ultima condicion, y no nece-sariamente es el mejor orden, y

• (iii) la reduccion de reglas termina cuando cambia la estimacion, locual no garantiza que el seguir recortando pueda mejorar de nueva laestimacion.

Sin embargo, el procedimiento es bueno y rapido.

Medida de Evaluacion para reduccion de reglas:

Cual es la probabilidad que de una regla seleccionada aleatoriamente conla misma cantidad de ejemplos que cubre R tenga el mismo desempeno?

Esto es, una regla que cubra t casos, de los cuales i sean de la clase C(sin reemplazo):

Pr(tC) =

(

Pi

)(

T − Pt− i

)

(

Tt

)

Donde p es numero de instancias de la clase que la regla selecciona, t esel numero total de instancias que cubre la regla, P es el numero total deinstancias de la clase, y T es el numero total de instancias.

Si queremos ver la probabilidad de que cubra p casos o mas, entonces:

m(R) =min(t,P )∑

i=p

Pr(tC)

Valores pequenos indican que la regla es buena, ya que es muy pocoprobable que la regla sea construida por casualidad.

68

Page 74: Curso en pdf

Como este es muy costoso de calcular, se pueden hacer aproximaciones.Si el numero de ejemplos es grande, la probabilidad de que exactamente iejemplos de los t sean de clase C (con reemplazo) es:

Pr(tC) =

(

ti

)

(P

T)i(1− P

T)t−i

que corresponde a una distribucion binomial.

La funcion acumulada se puede aproximar a una funcion beta de la sigu-iente forma:

t∑

i=p

(

ti

)

(P

T)i(1− P

T)t−i = Iβ(p, t− p+ 1)

Todo esto (simplificacion de reglas) se puede hacer con un subconjuntodel conjunto de ejemplos de entrenamiento (reduced error pruning).

Variantes: IREP (Incremental REP) simplifica reglas cada vez que seconstruyen usando:

p+ (N − n)

P +N

Maximiza el numero de ejemplos positivos cubiertos mas el numero de ejem-plos negativos no cubiertos.

Sin embargo, le da la misma importancia a los ejemplos negativos nocubiertos y los positivos cubiertos. Por lo que si una regla cubre 2000 (p)de 3,000, osea que tiene 1,000 mal (n) es evaluada mejor que una regla quecubre 1,000 (p) de 1,001 (n = 1).

Otra medida popular es:p− n

p+ n

Pero sufre de problemas parecidos.

RIPPER

69

Page 75: Curso en pdf

Una variante que obtiene buenos resultados, es construir un conjuntode reglas usando covering, reducirlas usando alguna heurıstica como las dearriba con un conjunto de entrenamiento separado, y luego “optimizar” almismo tiempo ese conjunto de reglas (RIPPER).

RIPPER utiliza varias medidas e ideas al mismo tiempo.

• Utiliza un conjunto de ejemplos separados para decidir podar reglas,

• utiliza ganancia de informacion para crecer las reglas,

• utiliza la medida de IREP para podar reglas, y

• 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 tambien hace creceruna nueva regla desde el principio.

Al final se queda con la regla original o alguna de las otras dos (la quehizo crecer o construyo desde cero) pero tomando en cuenta el error sobre elconjunto total de las reglas.

Construir reglas usando arboles

Es posible crear reglas directamente de un arbol de decision, sin embargo,las reglas tienden a ser mas complejas de lo necesario.

Se pueden utilizar los mecanismos planteaedos en la seccion anterior parair podando las reglas.

Una alternativa es combinar una estrategia de covering con una de split-ting.

Para construir una regla se construye un arbol podado (splitting) y lahoja con la mejor covertura se transforma en una regla. Una vez construidauna regla se eliminan todos los ejemplos que cubre (covering) y se repite elproceso.

70

Page 76: Curso en pdf

En lugar de construir un arbol completo, se construyen arboles parciales,expandiendo las hojas con mejores medidas de entropıa.

Este esquema tiende a producir conjuntos de reglas simples con muy buendesempeno.

Ripple-down rules

La idea es constuir primero las reglas que cubren la mayor cantidad decasos y luego irlas afinando mediante excepciones.

Primero se toma la clase mayoritaria de entrada.

Todo lo que no se cumpla se toma como una excepcion a esta.

Se busca la mejor regla (la que cubra mas casos) de otra clase y se anadecomo una excepcion.

Esto divide de nuevo los datos en los que cumplen con esa nueva condiciony los que no cumplen.

Dentro de los que no cumplen de nuevo se busca la mejor regla de otraclase y se anade como excepcion, y ası sucesivamente hasta que se cubrantodos los casos.

Una de las ventajas de estas reglas es que la mayorıa de los ejemplosse cubren por las reglas de mas alto nivel, y las de bajo nivel representanrealmente las excepciones.

Reglas que Consideran Relaciones

En los casos anteriores las reglas consideran la prueba de un atributocontra una constante.

Estas son reglas proposicionales porque el lenguaje atributo-valor queusamos para crear las reglas tiene el mismo poder que el calculo proposicional.

Algunas veces requerimos reglas mas expresivas para poder expresar rela-ciones entre los ejemplos.

Por ejemplo, en el dominio de los objetos geometricos, podemos tener lassiguientes reglas proposicionales:

71

Page 77: Curso en pdf

Tabla 3.6: Ejemplo de Ripple down rules.

Default: repruebaexcepto

Si estudia=si AND memoriza=noEntonces pasaexcepto

Si copia=si AND descubren=siEntonces reprueba

ElseSi estudia=no AND copia=si AND descubren=noEntonces pasaexcepto

Si vecino-sabe=noEntonces reprueba

If width >= 3.5 and weight < 7 then lyingIf height >= 3.5 then standing

Sin embargo, si vemos varios ejemplos de este dominio, notamos que ”losbloques con clase ”standing” (de pie) tienen mas altura que anchura” y esposible generar las reglas:

If width > heigh then lyingif height > width then standing

En este caso el valor particular de la altura y ancho ya no son importantes,solo el resultado de su comparacion.

A este tipo de reglas se les conoce como relacionales porque expresanrelaciones entre atributos, en lugar de referirse a hechos sobre un atributocomo las proposicionales.

Otro dominio relacional es el de figuras geometricas para representar unacasa como un triangulo sobre un cuadrado, donde la forma de un objeto serepresenta con un atributo, (vea la figura 3.3).

72

Page 78: Curso en pdf

Figura 3.3: Ejemplo de Dominio Relacional.

Posteriormente veremos como trabajar con dominios relacionales al tratarlos temas:

• Inductive Logic Programming y

• Aprendizaje basado en Grafos

73

Page 79: Curso en pdf

Capıtulo 4

Reglas de Asociacion

El objetivo de las reglas de asociacion es encontrar asociaciones o correla-ciones entre los elementos u objetos de bases de datos transaccionales, rela-cionales o datawarehouses.

Las reglas de asociacion tienen diversas aplicaciones como:

• Soporte para la toma de decisiones

• Diagnostico y prediccion de alarmas en telecomunicaciones

• Analisis de informacion de ventas

– Diseno de catalogos

– Distribucion de mercancıas en tiendas

– Segmentacion de clientes en base a patrones de compra

Las reglas de asociacion son parecidas a las reglas de clasificacion.

Se encuentran tambien usando un procedimiento de covering. Sin em-bargo, en el lado derecho de las reglas, puede aparecer cualquier par o paresatributo-valor.

Para encontrar ese tipo de reglas se debe de considerar cada posible com-binacion de pares atributo-valor del lado derecho.

74

Page 80: Curso en pdf

Tabla 4.1: Transacciones

Transaccion Elementos Comprados1 A,B,C2 A,C3 A,D4 B,E,F

Para posteriormente podarlas usando covertura (numero de instanciaspredichas correctamente) y precision (proporcion de numero de instancias alas cuales aplica la regla).

Ejemplo: Encontrar las reglas de asociacion X ⇒ Z de la tabla 4.1 conla restriccon de cumplir con un mınimo de covertura y de precision.

Las reglas con:

• Covertura mınima de 50%

• Precision mınima de 50%

– A ⇒ C (50%, 66.6%)

– C ⇒ A (50%, 100%)

Una regla de asociacion es una expresion de la forma X ⇒ Z donde X yZ son conjuntos de elementos.

El significado intuitivo:

Las transacciones de la base de datos que contienen X tienden a contenerZ

4.1 Definiciones

• I = {i1, i2, i3, . . . , im} ⇒ un conjunto de literales, atributos

75

Page 81: Curso en pdf

• D ⇒ un conjunto de transacciones T , T ⊆ I

• TID ⇒ un identificador asociado a cada transaccion

• X ⇒ un conjunto de elementos X ∈ I

• Una regla de asociacion es una implicacion:

– X ⇒ Z, X ∈ I, Z ∈ I y X ∩ Z = ∅

• Soporte (o cobertura), s, es la probabilidad de que una transaccioncontenga {X , Z}

• Confianza (o eficiencia), c, es la probabilidad condicional de que unatransaccion que contenga {X} tambien contenga {Z}.

4.2 Evaluacion de las Reglas

En minerıa de datos con reglas de asociacion en BD transaccionales evalu-amos las reglas de acuerdo al soporte y la confianza de las mismas.

En reglas de asociacion, la covertura se llama soporte (support) y la pre-cision se llama confianza (confidence).

Se pueden leer como:

soporte(X ⇒ Z) = P (X ∪ Z)

confianza(X ⇒ Z) = P (Z|X) =soporte(X ∪ Z)

soporte(X)

En realidad estamos interesados unicamente en reglas que tienen muchosoporte (soporte ≥ sop min y confianza ≥ conf min), por lo que buscamos(independientemente de que lado aparezcan), pares atributo-valor que cubranuna gran cantidad de instancias.

A estos, se les llama item-sets y a cada par atributo-valor item.

76

Page 82: Curso en pdf

Un ejemplo tıpico de reglas de asociacion es el analisis de la canasta demercado.

Basicamente, encontrar asociaciones entre los productos de los clientes,las cuales pueden impactar a las estrategias mercadotecnicas.

Ya que tenemos todos los conjuntos, los transformamos en reglas con laconfianza mınima requerida.

Algunos items producen mas de una regla y otros no producen ninguna.

Por ejemplo, si seguimos con los datos de la tabla 2.2, el itemset :

humedad=normal, viento=no, clase=P

Puede producir las siguientes posibles reglas:

If humedad=normal and viento=no Then clase=P 4/4If humedad=normal and clase=P Then viento=no 4/6If viento=no and clase=P Then humedad=normal 4/6If humedad=normal Then viento=no and clase=P 4/7If viento=no Then clase=P and humedad=normal 4/8If clase=P Then viento=no and humedad=normal 4/9If true Then humedad=normal and viento=no and clase=P 4/12

Si pensamos en 100% de exito, entonces solo la primera regla cumple.

De hecho existen 58 reglas considerando la tabla completa que cubren almenos dos ejemplos con un 100% de exactitud (exaccuracy).

4.3 Algoritmo

El proceso es mas o menos el siguiente y sigue dos pasos (Apriori, Agrawalet al. ’94):

77

Page 83: Curso en pdf

Tabla 4.2: Algoritmo Apriori

Apriori()L1 = find-frequent-1-itemsets(D)for (k = 2; Lk−1 6= NULL; k++)

% generate-&-prune candidate k-itemsetsCk = 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 generarlos de dos elementos, y ası sucesivamente.

Se toman todos los posibles pares que cumplen con las medidas mınimasde soporte. Esto permite ir eliminando posibles combinaciones ya queno todas se tienen que considerar.

2. Genera las reglas revisando que cumplan con el criterio mınimo deconfianza.

En las tablas 4.2, 4.3, 4.4 y 4.5 se muestra el pseudocodigo del algoritmoapriori.

Una observacion interesante, es que si una conjuncion de consecuentes deuna regla cumple con los nivels mınimos de soporte y confianza, sus subcon-juntos (consecuentes) tambien los cumplen.

Por el contrario, si algun item no los cumple, no tiene caso considerar sussuperconjuntos.

Esto da una forma de ir construyendo reglas, con un solo consecuente, ya partir de ellas construir de dos consecuentes y ası sucesivamente.

78

Page 84: Curso en pdf

Tabla 4.3: Funcion Apriori Genera

AprioriGen(L) – Assume transactions in lexicographic orderinsert into Ck all p.item1, p.item2, . . . , p.itemk−1, q.itemk−1 from p, q ∈ Lwhere p.item1 = q.item1, p.item2 = q.item2, . . . , p.itemk−1 < q.itemk−1

%– Prune itemsets s.t. some (k-1)-subset of c is /∈ L%– A (k-1) itemset that is not frequent cannot be a subset of%– a frequent k-itemset, then it is removedforall itemsets c ∈ Ck

forall (k-1)-subsets s of c doif(s /∈ Lk−1) then

delete c from Ck

Tabla 4.4: Funcion Reglas de Asociacion

AssocRules()forall large itemsets lk, k ≥ 2

GenRules(lk, lk)

Tabla 4.5: Funcion Genera Reglas

GenRules(lk, am) –Generate all valid rules a→ (lk − a), for all a ⊂ amA = {(m− 1)− itemsets am−1|am−1 ⊂ am}forall am−1 ∈ A

conf = support(lk) / support(am−1)if(conf ≥ min conf) then

output rule am−1 → (lk − am−1) with confidence conf , support = support(lk)if(m− 1 > 1) then

GenRules(lk, am−1) – Generate rules with subsets of am−1 as antecedents

79

Page 85: Curso en pdf

Tabla 4.6: Datos de compras de productos.

id1 p1,p2,p5id2 p2,p4id3 p2,p3id4 p1,p2,p4id5 p1,p3id6 p2,p3id7 p1,p3id8 p1,p2,p3,p5id9 p1,p2,p3

Este metodo hace una pasada por la base de datos cada para cada con-junto de items de diferente tamano.

El esfuerzo computacional depende principalmente de la covertura mınimarequerida, y se lleva practicamente todo en el primer paso.

El proceso de iteracion del primer paso se llama level-wise y va con-siderando los superconjuntos nivel por nivel.

Lo que se tiene es una propiedad anti-monotona: si un conjunto no pasauna prueba, ninguno de sus superconjuntos la pasan.

Si un conjunto de items no pasa la prueba de soporte, ninguno de sussuperconjuntos la pasan. Esto se aprovecha en la construccion de candidatospara no considerar todos.

Por ejemplo, consideremos la tabla 4.6 con listas de compras de productos.

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.

• Para cada conjunto l de items, genera todos sus subconjuntos.

80

Page 86: Curso en pdf

1(6) 2(7) 3(6) 4(2) 5(2)

1,2(4) 1,3(4)

1,4(1)

1,5(2)

2,3(4)

2,4(2)

2,5(2)

3,4(0)

3,5(1) 4,5(0)

1,2,3(2) 1,2,5(2)

Figura 4.1: Generacion de candidatos por niveles. El primer numero indicael producto y el numero entre paretesis las veces que ocurre.

• Para cada subconjunto s ⊂ l, genera una regla: s⇒ (l − s) si:

soporte(l)

soporte(s)≥ nivel confianza

Todas las reglas satisfacen los niveles mınimos de soporte.

4.4 Algunas Mejoras

Se han hecho algunas mejoras al algoritmo basico de reglas de asociacion(Apriori) para hacerlo mas eficiente:

• Usar tablas hash para reducir el tamano de los candidatos de los item-sets

• Eliminar transacciones (elementos en la base de datos) que no con-tribuyan en superconjuntos a considerar

• Dividir las transacciones en particiones disjuntas, evaluar itemsets lo-cales y luego, en base a sus resultados, estimar los globales.

81

Page 87: Curso en pdf

• Hacer aproximaciones con muestreos en la lista de productos, para notener que leer todos los datos

• Evitar generar candidatos usando estructuras de datos alternativas,como por ejemplo, los FP-trees (Frequent Pattern tree).

4.5 Algunas Extensiones

Dentro de las extensiones principales, podemos citar:

1. Encontrar reglas de asociacion a diferentes niveles de abstraccion.

Normalmente se empieza con las clases superiores, y los resultadospueden servir para filtrar clases inferiores.

Por ejemplo, considerar reglas de asociacion sobre computadoras e im-presoras, y luego sobre laptops y estaciones de trabajo, por un lado, ysobre impresoras laser y de punto por otro, etc.

Al proceder a las subclases se puede considerar:

• un criterio de soporte uniforme

• reduciendo el criterio para las subclases

• considerar todas las subclases independientemente del criterio desoporte

• tomando en cuenta el criterio de soporte de una de las superclasesde un item o k superclases de k items

• considerar items aunque el nivel de soporte de sus padres no cum-plan con el criterio de soporte, pero que sea mayor que un ciertoumbral.

Al encontrar reglas de asociacion a diferentes niveles de abstraccion escomun generar reglas redundantes o reglas que no nos dicen nada nuevo(e.g., la regla mas general, ya decia lo mismo), por lo que es necesarioincorporar mecanismos de filtrado.

82

Page 88: Curso en pdf

2. Encontrar reglas de asociacion combinando informacion de multiplestablas o reglas de asociacion multidimensionales.

Los DataCubes pueden servir para encontrar reglas de asociacion mul-tidimensionales.

3. Las reglas de asociacion, al igual que los arboles de decision y las reglasde clasificacion que hemos visto, funcionan, en su forma original, conatributos discretos.

Al igual que en las otras tecnicas se han propuesto mecanismos paramanjejar atributos continuos.

Los enfoques mas comunes son:

• Discretizar antes de minar en rangos usando posiblemente jer-arquıas predefinidas.

• Discretizar dinamicamente durante el proceso tratando de maxi-mizar algun criterio de confianza o reduccion de longitud de reglas.

Por ejemplo, ACRS (Association Rule Clustering System), mapeaatributos cuantitativos a una rejilla y luego utiliza clustering.

Primero asigna datos a “contenedores” delimitados por rangos(que despues pueden cambiar). Los esquemas mas comunes son:contendores del mismo tamano, contenedores con el mismo numerode elementos, y contenedores con elementos uniformemente dis-tribuidos.

Despues se encuentran reglas de asociacion utilizando los contene-dores. Una vez que se tienen las reglas, estas se agrupan si formanrectangulos mas grandes dentro de la rejilla.

• Discretizar utilizando informacion semantica, i.e., formar gruposcon elementos cercanos (posiblemente haciendo clustering sobrelos atributos). Una vez establecidos los clusters, encontrar lasreglas de asociacion con esos clusters basados en distancias o sim-ilaridades.

83

Page 89: Curso en pdf

4.6 Asociacion vs. Correlacion

El que se encuentre una regla de asociacion no necesariamente quiere decirque sea util.

Por ejemplo, si se analizan 10,000 compras, de las cuales 6,000 compraronvideojuegos, 7,500 videos y 4,000 las dos, posiblemente se genere una regla:compra videojuegos => compra videos [soporte=4,000/10,000 = 40% y con-fianza=4,000/6,000 = 66%].

Sin embargo, el 75% de los clientes compran videos por lo que el comprarvideojuegos reduce las posibilidades de comprar videos.

La ocurrencia de un itemset A es independiente de otro B si P (A∩B) =P (A)P (B). En caso contrario, existe cierta dependencia o correlacion.

La correlacion entre dos eventos se define como:

corrA,B =P (A ∩B)

P (A)P (B)

Si es menor que 1, entonces la ocurrencia de uno decrece la ocurrenciadel otro. Si es 1 son independientes y si es mayor que 1 la ocurrencia de unofavorece la ocurrencia de otro.

Con esto, se pueden encontrar reglas de asociacion correlacionadas. Sepuede estimar si la correlacion es estadısticamente significativa usando unaχ2.

Si un conjunto de elementos esta correlacionado, cualquier superconjuntode este tambien lo esta.

Esto puede ayudar a buscar los conjuntos mınimos correlacionados y con-struir a partir de ahı sus superconjuntos.

Meta-Reglas

Las meta-reglas permiten especificar la forma de las reglas.

Podemos buscar por reglas de asociacion que tengan formas especıficas:

84

Page 90: Curso en pdf

Tabla 4.7: Reglas de Asociacion vs. Reglas de ClasificacionExploracion de dependencias vs. Prediccion enfocadaDiferentes combinaciones de vs. Predice un atributo (clase)atributos dependientes e a partir de otrosindependientesBusqueda completa (todas las vs. busqueda heurıstica (se encuentrareglas encontradas) un subconjunto de reglas)

P1(X, Y )ANDP2(X,W )⇒ compra(X, libros de KDD)

donde Pi es un predicado variable que se instancia con algun atributo dela base de datos, y las X, Y y W son posibles valores de los atributos.

Uso de restricciones

Se pueden usar restricciones sobre los tipos de datos, jerarquıas, o formasposibles de las reglas a encontrar para reducir el espacio de busqueda.

Las restricciones pueden ser:

• (i) antimonotonas (si un conjunto no satisface una condicion, entoncestampoco la satisfacen sus superconjuntos),

• (ii) monotonas (si un conjunto satisface una restriccion, entonces tambienla satisfacen todos sus superconjuntos),

• (iii) suscintas (succint) (podemos enumerar todos los conjuntos quesatisfacen una restriccion), (iv) convertibles (podemos converir una re-striccion a alguna de las clases anteriores), y (v) no convertibles.

Reglas de Asociacion, de Clasificacion y Arboles de Decision.

La tabla 4.7 muestra una comparacion entre reglas de asociacion y declasificacion.

Los arboles usan heurıstica de evaluacion sobre un atributo, estan basadosen splitting, y normalmente realizan sobreajuste seguido de podado.

Las reglas de clasificacion utilizan una heurıstica de evaluacion de condicion

85

Page 91: Curso en pdf

(par atributo-valor), estan basados en covering, y utilizan sobre todo criteriosde paro (y a veces sobreajuste y podado).

Las reglas de asociacion se basan en medidas de confianza y soporte,consideran cualquier conjunto de atributos con cualquier otro conjunto deatributos.

86

Page 92: Curso en pdf

Capıtulo 5

Evaluacion

En muchas ocasiones requerimos hacer una evaluacion muy precisa de nue-stros algoritmos de aprendizaje computacional porque los vamos a utilizar enalgun tipo de aplicacion que ası lo requiere. Algunos ejemplos de este tipode aplicaciones son:

• Aplicaciones de apoyo al diagnostico medico.

• Identificacion de objetos amigos y enemigos.

• Identificacion de zonas afectadas por un desastre natural.

Algunas otras veces disenamos un algoritmo y queremos probar que tanbueno es. Para esto, lo queremos comparar con otros algoritmos que yahan demostrado ser buenos y en el mejor de los casos que nuestro algoritmoobtenga precisiones superiores a las de aquel otro algoritmo.

Lo anterior se refiere a:

• Calcular la tasa de error esperado de un algoritmo de clasificacion.

• Comparar las tasas de error esperado de dos algoritmos de clasificacionpara poder decir cual es mejor.

87

Page 93: Curso en pdf

Necesitamos saber si la diferencia en precision de los algoritmos es signi-ficativa o no lo es.

Estos son algunos ejemplos de porque necesitamos evaluar o comparar al-goritmos de aprendizaje computacional. A continuacion veremos como haceresta evaluacion.

Es importante senalar que evaluar una hipotesis cuando contamos con unconjunto de datos grande no es problematico, sin embargo, cuando tenemospocos datos tenemos dos dificultades principales.

• Sesgo en la estimacion.

– La precision observada en la muestra no es un buen estimador dela precision sobre futuras instancias.

– El estimador sera optimista, mas aun cuando se tiene un espaciode hipotesis grande y hay un sobreajuste de los datos.

– Es por esto que probamos con datos que no usamos para entrenar.

• Varianza en la estimacion.

– Aun cuando la precision de la hipotesis se mide con un conjunto deprueba independiente del conjunto de entrenamiento, la precisionmedida puede variar de la precision verdadera y esto depende delos ejemplos de prueba utilizados.

– Mientras mas pequena es la muestra, mas grande es la varianzaesperada.

Recordemos tambien que la evaluacion de hipotesis es parte del proceso deaprendizaje en varios metodos.

• Post-pruning en arboles de decision para evitar el sobre-ajuste

5.1 Estimando la Precision de Hipotesis

Queremos evaluar la precision de la hipotesis para nuevas instancias. Ademasqueremos saber cual es el error probable en la estimacion de esta

88

Page 94: Curso en pdf

precision.

Recordando el Problema de Aprendizaje:

• Dado un espacio de posibles instancias X sobre el que podemos definirdiferentes funciones objetivo X → toda la gente

• Asumimos que diferentes instancias deX se pueden encontrar con difer-entes frecuencias mas gente de 20 anos que de 90

• Para modelar esto asumimos que hay alguna distribucion de proba-bilidad D que define la probabilidad de encontrar cada instancia enX

• D no dice nada respecto a la clase del ejemplo, solo determina la prob-abilidad de encontrarlo

• La tarea de aprendizaje consiste en aprender el concepto objetivo (ofuncion objetivo) f considerando un espacio H de posibles hipotesis.

• Tomamos ejemplos de entrenamiento bajo la distribucion D (atributosy clase).

5.1.1 Error de Muestra y Error Verdadero

En esta seccion queremos contestar estas preguntas:

• Dada una hipotesis h y una muestra de datos con n ejemplos tomadosaleatoriamente siguiendo la distribucion de probabilidad D, Cual es elmejor estimado de la precision de h sobre instancias futuras tomadascon la misma distribucion?

• Cual es el error probable en este estimado de precision?

Necesitamos entender dos nociones de precision o error:

• Tasa de error de la hipotesis sobre la muestra disponible, que es lo quepodemos calcular

89

Page 95: Curso en pdf

• Tasa de error de la hipotesis sobre toda la distribucion desconocida Dde ejemplos, que es lo que quisieramos calcular

El error de muestra para la hipotesis h con respecto a la funcion f sedefine como:

• errorS(h) =1n

x∈Sδ(f(x), h(x))

• n es el numero de ejemplos en S

• δ(f(x), h(x)) es 1 si f(x) 6= h(x) y 0 de otro modo

El error verdadero de una hipotesis es la probabilidad de que se equiv-oque para una instancia tomada aleatoriamente con la distribucion D y sedefine como:

• errorD(h) ≡ Prx∈D[f(x) 6= h(x)]

• Prx∈D denota que la probabilidad se toma sobre la instancia de dis-tribucion D

Lo que quisieramos conocer es el error verdadero errorD(h) de la hipotesis.Sin embargo, lo que podemos medir es el error de muestra errorS(h) porquesolo tenemos una muestra de los datos disponible.

Ahora surge la pregunta:

• Que tan buen estimador es errorS(h) de errorD(h)?

Para saberlo, vamos a utilizar el concepto de intervalos de confianza prue-bas de hipotesis.

5.1.2 Intervalos de Confianza para Hipotesis con Val-ores Discretos

• Dada una hipotesis con valores discretos

90

Page 96: Curso en pdf

• Queremos estimar el error verdadero para una hipotesis h basandonosen el error sobre la muestra S

• La muestra S tiene n ejemplos, tomados cada uno independientementede h, de acuerdo a D

• n > 30

• h tiene r errores sobre los n ejemplos errorS(h) =rn

Utilizando teorıa estadıstica podemos establecer lo siguiente

• Dado que no tenemos mas informacion, el valor mas probable paraerrorD(h) es errorS(h)

• Con aproximadamente 95% de probabilidad, el error errorD(h) cae en

el intervalo errorS(h)± 1.96√

errorS(h)(1−errorS(h))n

Ahora podemos saber el intervalo en el que caera el error de muestracalculado.

Ejemplo

• Dada la muestra de datos S

• n = 40 ejemplos

• La hipotesis h comete r = 12 errores sobre estos datos

• errorS(h) =1240

= 0.30

• Sabemos que este no es un estimador perfecto del eror verdadero

• Si probamos con otra muestra el error podrıa variar un poco

• Estas diferencias se deben a las diferencias entre las muestras

• Si repetimos el experimento muchas veces, encontrarıamos que el 95%de las veces el error verdadero cae en el intervalo de confianza

91

Page 97: Curso en pdf

• 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 formula general para calcular intervalos de confianza es: errorS(h)±ZN

√errorS(h)(1−errorS(h))

n

Los valores de ZN para intervalos de confianza de dos-lados N% son:

Confidence level N% 50% 68% 80% 90% 95% 98% 99%Constant ZN 0.67 1.00 1.28 1.64 1.96 2.33 2.58

Tabla 5.1: Valores de ZN

• Usamos esta formula para calcular los intervalos de confianza para es-timados de errorS(h)

• Recordemos que se utiliza para hipotesis con valores discretos

• Asumimos que la muestra S se toma aleatoriamente utilizando la mismadistribucion con que se tomaran futuros ejemplos

• Asumimos que los datos son independientes de la hipotesis que estamosprobando

• Proporciona solo una aproximacion buena para mas de 30 ejemplos ysi errorS(h) no esta tan cerca de 0 o 1.

• Otra regla para saber si la aproximacion sera buena es: n errorS(h)(1−errorS(h)) ≥ 5

5.2 Metodo General para Derivar Intervalos

de Confianza

Podemos ver de manera general el problema de estimar la media (valor es-perado) de una poblacion con base a la media de una muestra tomada aleato-riamente de tamano n.

92

Page 98: Curso en pdf

1. Identificar el parametro de la poblacion p a estimar, por ejemplo:errorD(h)

2. Definir el estimador Y , por ejemplo errorS(h). Es deseable elegir unestimador de mınima varianza y sin sesgos.

3. Determinar la distribucion de probabilidad DY que gobierna al esti-mador Y , incluyendo su media y varianza.

4. Determinar el intervalo de confianza N% para encontrar los umbralesL y U tal que N% de la masa de la distribucion de probabilidad DY

cae entre L y U

5.2.1 Teorema del Lımite Central

El teorema del lımite central simplifica el calculo de intervalos de confianza.

• Dados n valores de variables aleatorias independientes Y1, ..., Yn quesiguen la misma distribucion de probabilidad.

• µ denota la media de la distribucion que gobierna cada Yi y σ sudesviacion estandar.

• Decimos que las variables Yi son variables aleatorias independientes eidenticamente distribuıdas porque describen experimentos independi-entes, y cada uno sigue la misma distribucion de probabilidad.

• Para estimar µ de la distribucion que gobierna Yi utilizamos la mediade la muestra

• Yn ≡∑n

i=1 Yi.

• El teorema del lımite central dice que la distribucion de probabilidadque gobierna Yn se aproxima a una distribucion Normal conforme n→∞, sin importar la distribucion que gobierna a las variables aleatoriasen cuestion Yi. Mas aun, la media de Yn se aproxima a µ y la desviacionestandar a σ√

n.

93

Page 99: Curso en pdf

– Si definimos un estimador que es la media de una muestra (comoerrorS(h)), la distribucion que gobierna este estimador se puedeaproximar con una distribucion Normal para una n suficiente-mente grande

– Si conocemos tambien la varianza, podemos usar la ecuacion µ±zNσ para calcular el intervalo de confianza

– Comunmente utilizamos como regla que podemos utilizar unaaproximacion Normal cuando n ≥ 30

5.3 Diferencia en Error de Dos Hipotesis

• Si tenemos dos hipotesis h1 y h2 para una funcion objetivo con valoresdiscretos.

• Tenemos que h1 se probo con S1 que tiene n1 ejemplos aleatorios

• Tenemos que h2 se probo con S2 que tiene n2 ejemplos aleatorios toma-dos con la misma distribucion

• Queremos estimar la diferencia d entre los errores verdaderos de las doshipotesis d ≡ errorD(h1)− errorD(h2)

Utilizando el procedimiento general para obtener intervalos de confianza:

• Identificamos a d como el parametro a estimar

• Ahora definimos el estimador: la diferencia entre los errores de muestrad ≡ errorS1(h1)− errorS2(h2)

• Se puede probar que d es un estimador no sesgado de d

• Para n1, n2 ≥ 30, errorS1(h1) y errorS2(h2) siguen distribuciones quese aproximan a la Normal

• La diferencia de 2 distribuciones Normal tambien es una distribucionNormal, d seguira una Normal con media d

94

Page 100: Curso en pdf

• La varianza de la distribucion es la suma de las varianzas de la dis-tribuciones errorS1(h1) y errorS2(h2)

• La aproximacion de la varianza de las distribuciones es: σ2d≈ errorS1

(h1)(1−errorS1(h1))

n1+

errorS2(h2)(1−errorS2

(h2))

n2

• Ya determinamos la distribucion de probabilidad que gobierna al esti-mador d

• Ahora generamos el intervalo de confianza Para una variable aleatoriad que sigue una distribucion Normal con media µ y varianza σ2 elestimado del intervalo de confianza N% para d es d± zNσ

• Utilizando la varianza estimada σ2d, el intervalo de confianza para d es:

• d± zN

errorS1(h1)(1−errorS1

(h1))

n1+

errorS2(h2)(1−errorS2

(h2))

n2

• Tambien es valido utilizar la misma muestra para probar, es decir; queh1 y h2 se prueben con la misma muestra S y S es independiente de h1

y h2, entonces d ≡ errorS(h1)− errorS(h2)

5.3.1 Pruebas de Hipotesis

• Cuando queremos probar que una conjetura en especıfico es cierta enlugar de calcular un intervalo de confianza

• Cual es la probabilidad de que errorD(h1) > errorD(h2)?

• Podemos medir la diferencia de error errorS1(h1) = 0.30errorS2(h2) = 0.20d = 0.1

• Note que es posible que observemos esta diferencia aun cuando errorD(h1) ≤errorD(h2) debido a la variacion aleatoria en los datos de la muestra

• La pregunta entonces es: Cual es la probabilidad de que errorD(h1) >errorD(h2), dado que observamos la diferencia en errores de muestrad = 0.1? Dicho de otra manera, cual es la probabilidad de que d > 0dado que observamos d = 0.1?

95

Page 101: Curso en pdf

• Pr(d > 0) es la probabilidad de que d no sobre-estime d en mas de 0.1,esto es lo mismo que la probabilidad de que d caiga en el intervalo deun solo lado d < d+ 0.1 y esto se puede expresar como d < σd + 0.1

• Podemos determinar la probabilidad de que d caiga en este intervalode un solo lado calculando probabilidad de masa de la distribucion ddentro de este intervalo

• Re-expresamos el intervalo d < µd + 0.1 en terminos del numero dedesviaciones estandar que permite desviarse de la media, σd ≈ 0.061

• El intervalo se re-expresa como d < µd + 1.64σd

• Cual es el nivel de confianza asociado con este intervalo de un lado parauna distribucion Normal?

• Consultamos la tabla 5.1 y vemos que 1.64 desviaciones estandar de lamedia corresponde a un intervalo de dos lados con un nivel de confi-anza de 90%. Esto corresponde a un nivel de confianza del 95% en unintervalo de un lado.

• Dado 0.1, la probabilidad de que errorD(h1) > errorD(h2) es aprox.0.95

• En terminos estadısticos decimos que aceptamos la hipotesis de queerrorD(h1) > errorD(h2) con una confianza de 0.95

• Tambien podemos decir que rechazamos la hipotesis opuesta (o nula)con un nivel de significancia de (1 - 0.95) = 0.05.

5.4 Comparando Algoritmos de Aprendizaje

Muchas veces queremos comparar dos algoritmos de aprendizaje LA y LB enlugar de dos hipotesis en especıfico. Como determinamos que la diferenciaobservada entre los algoritmos es estadısticamente significativa?

• Iniciamos especificando el parametro que deseamos estimar

96

Page 102: Curso en pdf

• Queremos determinar cual de LA y LB es mejor metodo en promediopara una funcion objetivo particular f

• Para definir en promedio consideramos la precision relativa de los al-goritmos promediada sobre todos los conjuntos de tamano n que sepuedan tomar de la instancia de distribucion 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 hipotesis de salida del algoritmo L dada la muestra S dedatos de entrenamiento y S ⊂ D significa que el valor esperado setoma sobre las muestras S tomadas bajo la instancia de distribucion D

• Pero en la practica la muestra es de tamano limitado D0

• En este caso dividimos los datos en conjuntos disjuntos de entrenamientoS0 y prueba T0

• Usamos S0 para entrenar y T0 para comparar la precision

• Medimos la cantidad errorT0(LA(S0))− errorT0(LB(S0))

• Para obtener una mejor medida, podemos particionar repetidamentehttps://www.bancomer.com/acceso/perfila.asp el conjunto D0 en con-juntos disjuntos de entrenamiento y prueba y calcular la media de loserrores del conjunto de prueba para todos los experimentos

• Esto es lo que conocemos como el k-fold cross validation que usamoscuando tenemos al menos 30 ejemplos de entrenamiento

• Obtenemos δ ≡ 1k

k∑

i=1δi

δ ← errorTi(hA)− errorTi

(hB)

• Entonces δ estima ES⊂D0[errorD(LA(S))− errorD(LB(S))]

• S representa una muestra aleatoria de tamano k−1k|D0| tomada uni-

formemente de D0

• En esta expresion se toma el valor esperado sobre subconjuntos de losdatos disponibles D0 en lugar de sobre todos los subconjuntos tomadosde toda la instancia de distribucion D

97

Page 103: Curso en pdf

• El intervalo de confianza aproximado delN% para estimar ES⊂D0[errorD(LA(S))−errorD(LB(S))] usando δ esta dado por:δ ± tN,k−1Sδ

• donde tN,k−1 es una constante analoga a zN

• sδ es un estimado de la desviacion estandar que gobierna δ

sδ ≡√

1k(k−1)

k∑

i=1(δi − δ)2

• tN,k−1 tiene dos sub-ındices, el primero indica el nivel de confianza y elsegundo los grados de libertad, denotado por v

• v se refiere al numero de eventos aleatorios independientes que tienenque ver para producir el valor para la variable aleatoria δ, en este casok − 1

• Conforme k →∞, el valor de tN,k−1 se acerca a la constante zN

• Note que las muestras con que probamos a los 2 algoritmos son identicas,a estas pruebas se les llama apareadas

• Puebas apareadas producen intervalos de confianza mas ajustados porquelas diferencias en errores se deben a los algoritmos y no a las diferenciasde las muestras que se dan cuando no usamos muestras identicas paralos algoritmos

• Esta es la prueba t apareada, en la tabla 5.2 se muestran los valorespara tN,v.

• La prueba t, t-test, utilizada para comparar las diferencias de resultadospara dos grupos, verifica la diferencia entre las medias en relacion conque tanto varıan los resultados individuales

Valores de tN,v para intervalos de confianza de dos lados:

5.4.1 Evaluacion de Significancia con t-test

El proceso para evaluar significancia estadıstica con t-test es:

98

Page 104: Curso en pdf

Confidence level90% 95% 98% 99%

v=2 2.92 4.30 6.96 9.92v=5 2.02 2.57 3.36 4.03v=10 1.81 2.23 2.76 3.17v=20 1.72 2.09 2.53 2.84v=30 1.70 2.04 2.46 2.75v=120 1.66 1.98 2.36 2.62v =∞ 1.64 1.96 2.33 2.58

Tabla 5.2: Valores de tN,v

• Obtener el valor t, como la razon difentremediasvariabilidadenexperimentos

= δsδ

• Calcular los grados de libertad (DF = N-1)

• Elegir el nivel de α, (o nivel de riesgo), que generalmente se elige 0.05(cinco veces de un total de cien se encontrara una diferencia significativaentre las medias aun cuando no la hay (la diferencia resultante fueproducto de la suerte).

• Verificar en la tabla el valor crıtico de t. Si el valor observado es mayorque el valor crıtico, entonces se rechaza la hipotesis nula. Si el valorobservado es menor que el valor crıtico, entonces no se puede rechazarla hipotesis nula. Si la tabla no tiene el numero de grados de libertad,se usa el siguiente numero menor al real (para 32 usar 30).

Ejemplo Suponga que se realizo una prueba de 10-FCV con dos clasificadoresy queremos saber si la diferencia entre sus promedios es significativa.

Para estos datos tenemos los siguientes calculos:

• La diferencia de error medio, δ = 4.30.

• La variabilidad entre experimentos, Sδ = 0.42

• El valor de t calculado es, t = 10.17

99

Page 105: Curso en pdf

Prueba ALG-1 ALG-21 88 852 85 803 93 874 87 825 89 856 85 827 87 838 84 799 86 8010 88 86

Tabla 5.3: Valores de Precision para los Algoritmos ALG-1 y ALG-2

• El valor crıtico encontrado en la tabla para 95% de confianza con 9grados de libertad es aprox. de tN,v = 2.3

• Como el valor observado es mayor que el criıtico, entonces se rechazala hipotesis nula

• La hipotesis nula dice que no hay diferencia entre las medias

• Por tanto, al rechazar la hipotesis nula, se concluye que sı hay unadiferencia significativa entre las medias.

• En caso de que el valor observado fuera menor al crıtico, no se podrıarechazar la hipotesis nula y entonces se concluirıa que no hay diferenciasignificativa entre las medias.

5.4.2 Analisis de Varianza

ANalysis Of VAriance (ANOVA)

• A esta prueba tambien se le conoce como la prueba f-test y esta rela-cionada con la t-test

• La prueba t-test mide la diferencia entre las medias de 2 grupos

100

Page 106: Curso en pdf

• ANOVA prueba la diferencia entre las medias de 2 o mas grupos

• La ANOVA de 1-lado o de factor simple prueba la diferencia entregrupos que se clasifican solo sobre una variable independiente

• Tambien hay una prueba ANOVA para multiples variables independi-entes

• La ANOVA tiene como ventaja sobre la t-test que reduce la probabili-dad de un error tipo 1, hay muchas comparaciones entre 2 grupos

• La desventaja de ANOVA es que se pierde especificidad porque F diceque hay diferencia significante entre grupos pero no dice cuales gruposson significativamente diferentes entre sı

• La hipotesis nula asume que no hay diferencia real entre grupos ycualquier diferencia (estadıstica) se debe a errores de muestreo. Uninvestigador trata de probar que esto no es cierto

• Un error de tipo 1 ocurre cuando el investigador rechaza la hipotesisnula aun cuando era cierta

5.4.3 Receiver Operating Characteristics (ROC) Anal-

ysis

101

Page 107: Curso en pdf

Capıtulo 6

Programacion Logica Inductiva(ILP)

6.1 Nociones de Logica

Importante: que las cosas que queremos que sean verdaderas coicidan con lasque podemos probar.

Osea: lo que nos implica la teorıa es lo que podemos computar.

Caracterısticas:

• sintaxis y semantica bien definidas

• reglas de inferencia

Un alfabeto consiste de variables (aquı la primera letra en mayuscula),sımbolos de predicados y de funciones (la primera letra en minuscula).

Terminos = Funciones (sımbolo funcional + argumentos) y Variables.

Un predicado (sımbolo + argumentos) es una formula atomica o simple-mente un atomo.

102

Page 108: Curso en pdf

Axiomas

Teoremas Valores de Verdad

Pruebas Modelos

deriva interpreta

Figura 6.1: Las dos caras de la Logica.

valido invalido

siempre cierto a veces T o F siempre falso

satisfacible insatisfacible

Una formula G se dice que es una consequencia logica de un conjuntode formulas F = {F1, . . . , Fn}, N ≥ 1, denotado por F |= G si para cadainterpretacion w para la cual w(F1∧F2∧. . . Fn) = true, entonces w(G) = true

Satisfacibilidad, valides, equivalencia y consecuencia logica son nocionessemanticas (generalmente establecidas por medio de tablas de verdad).

Para derivar consecuencias logicas tambien se pueden hacer por medio deoperaciones exclusivamente sintactivas (e.g., modus ponens, modus tollens).

Las clausulas, son la forma utilizada en prueba de teoremas y progra-macion logica.

Una literal: un atomo o su negacion

Una clasula: es una formula cerrada de la forma:

∀X1 . . .∀Xs(L1 ∨ . . . ∨ Lm)

donde cada Li es una literal y las Xi son todas las variables que aparecen en

103

Page 109: Curso en pdf

las literales.

Equivalencias:

∀x1 . . .∀xs(A1 ∨ . . . An ∨ ¬B1 . . . ∨ ¬Bm) ≡

∀x1 . . .∀xs(B1 ∧ . . . ∧Bm → A1 ∨ . . . An)

Se escribe normalmente como:

A1, . . . , An ← B1, . . . Bm

Una clausula de Horn: a lo mas una literal positiva.

A ←← B1, . . . , Bn

A← B1, . . . , Bn

Una clausula definitiva (definite clause) es una clausula con una literalpositiva (A← o A← B1, . . . , Bn).

Razonamiento en logica: reglas de inferencia

Estas reglas solo hacen manipulacion sintactica (son formas procedu-rales).

Lo interesante es ver como las formas procedurales semanticas estan rela-cionadas con las sintacticas.

Una regla de inferencia es robusta/valida (sound) si S ⊢ F entonces S |=F .

Osea una coleccion de reglas de inferencia es valida si preserva la nocionde verdad bajo las operaciones de derivacion.

Una regla de inferencia es completa (complete) si S |= F entonces S ⊢ F .

Resolucion

104

Page 110: Curso en pdf

wv

u

u

w

v v

<-

< -

Figura 6.2: Un arbol de derivacion proposicional.

Resolucion solo sirve para formulas en forma de clausulas.

Idea: prueba por refutacion

Para probar: P ⊢ Q, hacer W = P ∪ {¬Q} y probar que W es insatis-facible

Ejemplo sencillo:

Sean C1 y C2 dos clausulas con literales L1 y L2 (donde L1 y L2 soncomplementarias). La resolucion de C1 y C2 produce: C = C ′

1 ∪ C ′2 donde:

C ′1 = C1 − {L1} y C ′

2 = C2 − {L2} (eliminando literales redundantes)

Para logica de primer orden: substitucion y unificacion.

Una substitucion Θ = {X1/t1, . . . , Xk/tk} es una funcion de variables aterminos. La aplicacion WΘ de una substitucion Θ a una wff W se obtieneal reemplazar todas las ocurrencias de cada variable Xj por el mismo terminotj .

Al aplicar una substitucion a una wff se genera una nueva expresion (unainstancia).

Una substitucion σ es un unificador de un conjunto de expresiones {E1, . . . , Em}si E1σ = . . . = Emσ

105

Page 111: Curso en pdf

hija(X,Y) <- femenino(X), padre(Y,X).fememino(ana).

padre(juan,ana).

hija(ana,juan).

hija(ana,Y) <- padre(Y,ana).

={X/ana}

={Y/juan}

1

2

Figura 6.3: Un arbol de derivacion lineal de primer orden.

Un unificador θ, es el unificador mas general (mgu) de un conjunto deexpresiones E, si para cada unificador σ de E, existe una substitucion λ talque σ = θλ

Para hacer resolucion en logica de primer orden tenemos que comparar sidos literales complementarias unifican. El algoritmo de unificacion construyeun mgu de un conjunto de expresiones.

Sean C1 y C2 dos clausulas con literales L1 y L2 respectivamente. Si L1 y¬L2 tienen un mgu σ, el resolvente de C1 y C2 es la clausula: (C1σ−{L1σ})∪(C2σ − {L2σ}) (ver figura 6.3).

El algoritmo de unificacion no es determinıstico (se pueden seleccionarlas clausulas de varias formas).

Existen diferentes estrategias de resolucion, e.g., semantica, lineal, SLD,etc., para restringir el numero de posibles clausulas redundantes.

Resolucion SLD

Seleccionar una literal, usando una estrategia Lineal, restringido a clausulasDefinitivas.

Resolucion lineal:

106

Page 112: Curso en pdf

• El ultimo resolvente se toma como clausula padre.

• La otra clausula padre se toma de otro resolvente o del conjunto origi-nal.

Una forma especial de resolucion lineal es: input resolution. En esta es-trategia, cada paso de resolucion, exceptuando el primero, se toma del ultimoresolvente (clausulas metas) y del conjunto original (clausulas de entrada).

Input resolution es completa para clausulas de Horn, pero no para clausulasen general.

Una variante de input resolution es resolucion SLD para clausulas deHorn. Resolucion de entrada se extiende con una regla de seleccion quedetermina en cada paso que literal de la clausula meta es seleccionada.

La estrategia de busqueda afecta el resultado.

Aunque resolucion SLD es sound y refutation complete para clausulas deHorn, en la practica (por razones de eficiencia) se hacen simplificaciones:

• eliminar el “occur check” de unificacion

• usar un orden especıfico

Esto es lo que usa basicamente PROLOG

6.2 Programacion Logica Inductiva (ILP)

Dentro de los algoritmos de aprendizaje computacional mas exitosos, se en-cuentran los que inducen arboles de decision (v.g., C4.5) o reglas de clasifi-cacion (v.g., CN2), sin embargo, su lenguaje de representacion o expresividades escencialmente proposicional.

Esto es, cada prueba que se hace sobre un atributo en un arbol o en unacondicion de una regla se puede ver como una proposicion. Por lo mismo,hablan de un solo objeto a la vez y no podemos relacionar propiedades de

107

Page 113: Curso en pdf

dos o mas objetos a menos que definamos una propiedad que exprese esarelacion para todos los objetos de nuestro dominio.

La Programacion Logica Inductiva o ILP (Inductive Logic Programming)combina los resultados experimentales y metodos inductivos del aprendizajecomputacional con el poder de representacion y formalismo de la logica deprimer orden para poder inducir conceptos representados por programaslogicos.

Para entender las ventajas que tiene aprender representaciones relaciones,supongamos que queremos aprender (y por lo tanto representar con nuestrosistema de aprendizaje) los movimientos de una torre en ajedrez. Si asumi-mos que representamos los movimientos de las piezas de ajedrez con cuatroatributos, col1, ren1, col2 y ren2, representando la columna y renglon de unapieza antes y despues del movimiento, un sistema proposicional aprenderıaalgo parecido a esto:

If col1 = 1 and col2 = 1 Then mov torre = trueIf col1 = 2 and col2 = 2 Then mov torre = true. . .If col1 = 8 and col2 = 8 Then mov torre = trueIf ren1 = 1 and ren2 = 1 Then mov torre = trueIf ren1 = 2 and ren2 = 2 Then mov torre = true. . .If ren1 = 8 and ren2 = 8 Then mov torre = true

Representando que la torre se puede mover solo sobre el mismo renglono sobre la misma columna. En una representacion relacional, si asumimosque tenemos un predicado mov(X, Y, Z,W ) cuyos argumentos representanigualmente la posicion en columna y renglon de cada pieza antes y despuesdel movimiento, nuestra sistema necesitarıa aprender lo siguiente:

mov(X, Y,X, Z) : −Y 6= Z.mov(X, Y, Z, Y ) : −X 6= Z.

Ademas de aprender una representacion mas compacta y contar con lacapacidad de relacionar propiedades de mas de un objeto a la vez, otra ven-taja de un sistema de ILP es que puede incluir conocimiento del dominiodentro del proceso de aprendizaje. Consideremos el problema de aprender

108

Page 114: Curso en pdf

el concepto de hija definida entre dos personas. hija(X, Y ) es verdadero siX es hija de Y 1. Podemos definir la relacion hija(X, Y ), en terminos de lasrelaciones como padre y femenino.

En ILP, el problema se plantea de la siguiente forma:

Ejemplos positivos (⊕) y negativos (⊖):hija(fernanda, eduardo).⊕hija(camila, rodrigo).⊕hija(eugenia, ernesto).⊖hija(valentina, roberto).⊖. . .

Conocimiento del Dominio:femenino(fernanda).femenino(camila).femenino(eugenia).femenino(valentina).. . .padre(eduardo, fernanda).padre(rodrigo, camila).padre(roberto, eugenia).padre(ernesto, valentina).. . .

Resultado:hija(X, Y ) : −femenino(X), padre(Y,X).

Finalmente, algunos sistemas de ILP pueden introducir nuevos predica-dos automaticamente durante el aprendizaje, simplificando la representacionde los conceptos aprendidos. Por ejemplo, introducir el predicado progenitorrefiriendose a padre o madre, para simplificar una representacion de un con-cepto que utilice indistintantemente a las relaciones de padre y madre. Masadelante proporcionamos un ejemplo de esto.

Estos ejemplos ilustran algunas limitaciones de muchos de los sistemasde aprendizaje actuales:

1Aquı asumimos la notacion utilizada en Prolog, donde las predicados empiezan con

minusculas y las variables con mayusculas.

109

Page 115: Curso en pdf

1 2

0 3 4

5

6

8

7

Figura 6.4: Grafo conectado.

• Representacion Restringida: inadecuados en areas que requieren expre-sar conocimiento relacional (v.g., razonamiento temporal y/o espacial,planificacion, lenguaje natural, razonamiento cualitativo, etc.).

• Conocimiento del Dominio: son incapaces de incorporar conocimientodel dominio (utilizan un conjunto fijo de atributos).

• Vocabulario Fijo: no pueden inventar nuevo vocabulario con conocimientoinsuficiente del dominio.2

Otro ejemplo (ver figura 6.4):

Ejemplos (en ILP):

conectados(0,1). +conectados(1,8). −...

Conocimiento del dominio:

liga(0,1). liga(0,3). liga(1,0). liga(1,2). liga(2,3).liga(3,2). liga(3,4). liga(4,5). liga(4,6). liga(5,4).liga(6,8). liga(7,6). liga(7,8). liga(8,7).

2Aunque existen sistemas proposicionales de feature construction que permiten inducir

nuevos atributos como combinaciones de atributos existentes.

110

Page 116: Curso en pdf

conectados(X,Y) :-liga(X,Y).

conectados(X,Y) :-liga(X,Z), conectados(Z,Y).

La idea en ILP, como en aprendizaje inductivo, es aprender una hipotesisque cubra los ejemplos positivos y no cubra los negativos. Para verificarla covertura de ejemplos en ILP, se usa normalmente algun algoritmo deinferencia basado en resolucion.

• Un programa logico P se dice completo (con respecto a E+) sii paratodos los ejemplos e ∈ E+, P ⊢ e

• Un programa logico P se dice consistente (con respecto a E−) sii paraningun ejemplo e ∈ E−, P ⊢ e

El entorno teorico de ILP lo podemos caracterizar entonces como sigue:

Dados• un conjunto de ejemplos positivos E+• un conjunto de ejemplos negativos E−• un programa logico consistente, T , tal que T 6⊢ e+ para al menos une+ ∈ E+

Encontrar un programa logico H tal que H y T sea completo y consistente:T ∪H ⊢ E+ y T ∪ H 6⊢ E−.

T normalmente se refiere a conocimiento del dominio o conocimiento apriori.

Desde un punto de vista semantico la definicion de ILP es:

• Satisfactibilidad previa: T ∧ E− 6|= 2

• Satisfactibilidad posterior (correcto o consistente): T ∧H ∧ E− 6|= 2

• Necesidad previa: T 6|= E+

111

Page 117: Curso en pdf

• Suficiencia posterior (completo): T ∧H |= E+

En la mayoria de los casos, se limita al caso de clausulas definitivas.Esto es mucho mas facil, porque una teorıa de clausulas definitivas tiene unmodelo de Herbrand mınimo unicoM+(T ) y todas las formulas logicas sono verdaderas o falsas.

Interpretaciones y Modelos de Herbrand

La teorıa de modelos nos permite asignar significado a cualquier expresionen logica. La idea es asociar valores de verdad dentro de un dominio o haceruna interpretacion.

Asignamos constantes a elementos del dominio y los sımbolos funcionalesy de predicados a funciones y relaciones del dominio.

Por ejemplo, si tenemos: gusta(juan,ana). Tenemos que asociar “juan” y“ana” a elementos del dominio, y tenemos que asociar la relacion “gusta/2”en el dominio.

Por ejemplo, “juan” con “persona-juan”, “ana” con “persona-ana” y“gusta/2” con “persona-juan, persona-juan”, “persona-ana, persona-ana” y“persona-juan, persona-ana” (por ejemplo).

Bajo esta interpretacion, la relacion: gusta(juan,ana) es verdadera. Sinembargo, si asignamos “juan” a “persona-ana” y “ana” a “persona-juan” ymantenemos la misma interpretacion de la relacion gusta(juan,ana) es falsa.

Una interpretacion que nos da un valor de verdad para una sentencialogica se dice que la satisface y a la interpretacion se le llama un modelo dela sentencia.

Para programas logicos podemos hablar de modelos e interpretaciones deHerbrand.

Por ejemplo, si tenemos:

gusta(juan,X)← gusta(X, vino).

gusta(ana, vino).

112

Page 118: Curso en pdf

Tomando, solo las constantes: juan, ana y vino, todas las instanciacionesaterrizadas (ground) del programa logico son:

gusta(juan, juan)← gusta(juan, vino).

gusta(juan, ana)← gusta(ana, vino).

gusta(juan, vino)← gusta(vino, vino).

gusta(ana, vino).

Podemos asignar valores de verdad a todos estos elementos y obtenermodelos para ciertas interpretaciones.

En particular, los modelos se pueden organizar en un lattice. Desdeasignar a todos los elementos un valor de verdad (maximo) hasta al menornumero posible (mınimo).

En el ejemplo de arriba, el modelo mınimo de Herbrand es: asignarel valor de verdad a: gusta(ana,vino). (a fuerzas) y a gusta(juan,ana) ←gusta(ana,vino). (derivado del primero).

Esto es importante, porque las consecuencias logicas aterrizadas de unprograma logico son su modelo mınimo (M) y tambien es lo que podemosderivar con resolucion SLD en programas con clausulas definitivas.

• Satisfactibilidad previa: ∀e ∈ E− son falsos enM+(T )

• Satisfactibilidad posterior (correcto o consistente): ∀e ∈ E− son falsosenM+(T ∧ H)

• Necesidad previa: algunos e ∈ E+ son falsos enM+(T )

• Suficiencia posterior (completo): ∀e ∈ E+ son verdaderos enM+(T ∧H)

Un caso especial, el que mas se usa en ILP, en cuando todos los ejemplosson hechos sin variables.

Busqueda de Hipotesis

113

Page 119: Curso en pdf

El proceso de induccion puede verse como un proceso de busqueda deuna hipotesis dentro del espacio de hipotesis H = {H1,H2, . . . ,Hn}, esto esdentro del conjunto de todas las hipotesis que el algoritmo de aprendizajeesta disenado a producir.

En ILP este espacio puede ser demasiado grande por lo que normalmentese disenan estrategias de busqueda que consideren solo un numero limitadode alternativas.

Para realizar una busqueda eficiente de hipotesis, normalmente es nece-sario estructurar el espacio de hipotesis, lo cual se puede hacer con un modelode generalizacion. Esto es, con un modelo que me diga si una hipotesis esmas general o mas especıfica que otra.

Esta estructuracion permite cortar ramas durante la busqueda sabiendoque especializaciones o generalizaciones de hipotesis hereden alguna propiedad.Las propiedades mas comunes son: incapacidad de cubrir un ejemplo cono-cido como verdadero o probar un ejemplo conocido como falso.

Por ejemplo, si sabemos que una hipotesis cubre un ejemplo negativo,podemos eliminar del espacio de busqueda todas sus generalizaciones ya quevan a seguir cubriendo ese ejemplo. Por el contrario, si una hipotesis nocubre un ejemplo positivo, podemos eliminar del espacio de busqueda todassus especializaciones ya que tampoco lo van a cubrir.

Esta estructuracion del espacio de hipotesis se puede hacer utilizando Θ−subsumption. Una clausula C, θ–subsume (o es una generalizacion de) unaclausula D si existe una substitucion θ tal que Cθ ⊆ D. Usualmente seescribe como C � D.

Por ejemplo: Sea C = hija(X, Y ) ← padre(X, Y ). Con la substitucionvacıa, C subsume a hija(X, Y )← femenino(X), padre(X, Y ).

Con la substitucion Θ = {Y/X}, C subsume a hija(X,X)← femenino(X),padre(X,X), y con la substitucion Θ = {X/ana, Y/luis}, C subsume ahija(ana, luis)← femenino(ana), padre(luis, ana), padre(luis, pepe).

Θ−subsumption introduce una nocion de generalizacion. Una clausula Ces mas general que C ′ si CΘ-subsume a C ′ y no al reves. Tambien se diceque C ′ es una especializacion (o refinamiento) de C.

114

Page 120: Curso en pdf

Si CΘ-subsume a C ′, entonces C ′ es una consecuencia logica de C, C |=C ′, pero al reves 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).

C � D sii D es una tautologıa o C es usada exactamente una vez en unaprueba de resolucion de T ⊢ C → D, donde T es un conjunto arbitrario declausulas.

En particular, C no puede aplicarse a si mismo directa o indirectamentedurante la prueba.

El uso de Θ−subsumtion se justifica por el hecho de que es decidible entreclausulas, es facil de calcular (aunque es NP) y mientras que implicacion noes decidible. crea un lattice. Esto es importante porque permite buscar enese lattice por hipotesis.

La busqueda puede hacerse: (i) de especıfico a general, buscando clausulasque subsuman a la hipotesis actual, (ii) de general a especıfico, buscandoclausulas subsumidas por la hipotesis actual, o (iii) en ambos sentidos.

Ejemplo:

Ejemplos Conocimiento del Dominioordena([2,1],[1,2]). junta([ ],L,L).ordena([0,3,1],[0,1,3]). junta([H|L1],L2,[H|L3]) ←ordena([4,2,6],[2,4,6]). junta(L1,L2,L3).ordena([1],[1]).ordena([ ],[ ]). divide(El,[H|T],Men,[H|May]) ←... El < H, divide(T,Men,May).

divide(El,[H|T],[H|Men],May) ←El >= H, divide(T,Men,May).

divide( ,[ ],[ ],[ ]).

115

Page 121: Curso en pdf

Espacio de Soluciones

Muy general: ordena(X,Y).

Solucion: ordena([ ],[ ]).ordena([H|T],LOrd) ←

divide(H,T,Men,May),ordena(Men,MenOrd),ordena(May,MayOrd),junta(MenOrd,[H|MayOrd],LOrd).

Muy especıfico: ordena([1],[1]) ←junta([],[1],[1]), junta([1],[2,3],[1,2,3]), ...,divide(1,[],[],[]), divide(2,[1,5],[1],[5]), ...ordena([],[]), ordena([4],[4]), ...

6.2.1 Generalizacion menos general.

Una forma de ir buscando hipotesis es generalizando clausulas gradualmente.La generalizacion menos general (lgg) de dos clausulas C y C ′ es la gener-alizacion mas especıfica de las clausulas C y C ′ dentro del lattice generadopor Θ−subsumtion.

C es la generalizacion menos general (lgg) de D bajo θ−subsumtion siC � D y para cualquier otra E tal que E � D, E � C. Plotkin fue uno delos pioneros en usar lgg como mecanismo de aprendizaje en logica de primerorden. El algoritmo para evaluar el lgg entre dos terminos viene descrito enla tabla 6.1.

Con respecto a atomos, lgg es el dual de mgu. Dados dos terminos f1 yf2 y el orden impuesto por �, entonces el lgg de f1 y f2 es su lımite inferiormas grande (glb) y el mgu es el lımite superior mas bajo (lub).

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 mas especıfica quesubsume a las dos literales, mientras que el mgu es la literla mas generalsubsumida por L1 y L2.

116

Page 122: Curso en pdf

Tabla 6.1: Algoritmo de lgg entre dos terminos.

Si L1 y L2 son dos terminos o literales compatibles

1. Sea P1 = L1 y P2 = L2.

2. Encuentra dos terminos, t1 y t2, en el mismo lugar en P1 yP2, tal que t1 6= t2 y o los dos tienen un nombre de funciondiferente o por lo menos uno de ellos es una variable

3. Si no existe ese par, entonces acaba. P1 = P2 = lgg(L1, L2).

4. Si existe, escoge una variable X distinta de cualquier variableque ocurra en P1 o P2, y en donde t1 y t2 aparezcan en elmismo lugar en P1 y P2, remplazalos con X .

5. Ve a 2.

lgg(L1, L2) = foo(Z, f(Z), g(W, b), V ).︷ ︸︸ ︷

L1 = foo(a, f(a), g(X, b), Z) L2 = foo(Y, f(Y ), g(c, b), Z)︸ ︷︷ ︸

mgu(L1, L2) = foo(a, f(a), g(c, b), Z).

El lgg de dos clausulas C1 y C2 esta definido por: {l : l1 ∈ C1 y l2 ∈C2 y l = lgg(l1, l2)}. Por ejemplo, si:

C1 = hija(fernanda, eduardo)← padre(eduardo, fernanda),

femenino(fernanda), pequena(fernanda).

C2 = hija(camila, rodrigo)← padre(rodrigo, camila),

femenino(camila), grande(camila).

lgg(C1, C2) = hija(X, Y )← padre(Y,X), femenino(X).

La longitud del lgg de las clausulas C1 y C2 es a lo mas | C1 | × | C2 |.

117

Page 123: Curso en pdf

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]).

El lgg entre literales es unico (renombrando variables), pero entre clausulasno necesariamente (se pueden reducir bajo Θ–subsumcion).

Esto mismo se extiende para un conjunto de clausulas.

6.2.2 RLGG o lgg relativo a una teorıa.

En general nos interesa encontrar generalizaciones de un conjunto de ejemplosen relacion a cierta teorıa o conocimiento del dominio.

Una clausula C es mas general que una D con respecto a una teorıa T siT ∧ C ⊢ D.

Una clausula C es un lgg de una clausula D con respecto a una teorıaT , si T ⊢ CΘ → D para alguna substitucion Θ. Decimos que C es lageneralizacion menos general de D relativa a T (rlgg).

Esto es equivalente a decir que C ∧ T ⊢ D′ donde D′ subsume a D y Cse usa solo una vez en la derivacion de D′.

En general, puede no existir un rlgg , pero si existe para teorıas ater-rizadas (sin variables). En particular, si T es un conjunto finito de literalesaterrizadas, el lgg de C1 y C2 con respecto a T , es: lgg(T → C1, T → C2).

Rlgg sin embargo, puede tener algunas conclusiones no intuititvas. Porejemplo, es facil de verificar que: P ← Q es mas general que R ← S,Qrelativa a R← P, S.

118

Page 124: Curso en pdf

Para mejorar esto, Buntine introdujo la nocion de subsumcion general-izada, el cual es un caso especial de rlgg , restringido a clausulas definitivas.

La idea es que C es mas general que D con respecto a T , si cada vez queD se puede usar (junto con T ) para explicar algun ejemplo, C tambien sepueda usar.

Esto lo podemos expresar mas formalmente como sigue: Una clausulaC ≡ Ccabeza ← Ccuerpo, subsume a otra clausula D ≡ Dcabeza ← Dcuerpo

con respecto a T (C �T D) si existe una substitucion mınima σ tal queCcabezaσ = Dcabeza y para cualquier substitucion aterrizada (ground) θ conconstantes nuevas para D, se cumple que: T ∪Dcuerpoθ |= ∃ (Ccuerpoσθ).

Esto lo podemos ver como sigue. Sean: (i) C y D dos clausulas convariables disjuntas, y T un programa logico, (ii) θ1 una substitucion (ground)para las variables en Ccabeza, (iii) θ2 una substitucion para el resto de lasvariables en C, y (iv) similarmente, φ1 y φ2 para D. Si lggT (C,D) existe, esequivalente 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 atomo aterrizadoconstruido con sımbolos que ocurren en T , C, θ1, θ2, y D. Similarmente paracada Bj .

Esto se puede utilizar dentro de un sistema de aprendizaje de la siguienteforma:

• Toma una clausula ejemplo (C1) y sea θ1,1 una substitucion 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 clausula saturada (NC) definida como: NC ≡C1θ1,1 ∪ {¬A1,1,¬A1,2, . . .} donde T∧ C1cuerpoθ1,1θ1,2 |= A1,i, y A1,i esuna atomo instanciado.

• Construye para cada ejemplo, su clausula saturada, y calcula el lggentre ellas.

Por ejemplo, supongamos que queremos aprender una definicion de falderoy tenemos las siguientes dos clausulas ejemplo:

119

Page 125: Curso en pdf

C = faldero(fido)← consentido(fido), pequeno(fido), perro(fido).D = faldero(morris)← consentido(morris), gato(morris). Entonces:

lgg(C,D) = faldero(X)← consentido(X).

lo cual podrıa ofender a varias personas. Si por otro lado tenemos de conocimientodel dominio:mascota(X)← perro(X).mascota(X)← gato(X).pequeno(X)← gato(X).

Podemos anadir al cuerpo de C y D lo que podamos deducir del cuerpo decada clausula con el conocimiento del dominio. Esto es, anadirmascota(fido)a C tomando perro(fido) del cuerpo de C y la primera clausula del conocimientodel dominio. De la misma forma, podemos anadir a D, mascota(morris) ypequeno(morris), con lo que nos quedarıan las siguientes dos clausulas sat-udadas:

C ′ = faldero(fido)← consentido(fido), pequeno(fido), perro(fido),

mascota(fido).

D′ = faldero(morris)← consentido(morris), gato(morris), mascota(morris),

pequeno(morris).

Entonces:rlggT (C,D) = lgg(C ′, D′) =

faldero(X)← consentido(X), pequeno(X), mascota(X).

que se acerca mas a una definicion plausible que toma en cuenta nuestroconocimiento del dominio. Sistemas como PAL y Golem estas basados enesta tecnica.

6.2.3 Inversion de Resolucion.

Otra idea para aprender programas logicos, es invertir el proceso de res-olucion. Para esto necesitamos definir una substitucion inversa Θ−1 que ma-pea terminos a variables. Por ejemplo, si C = hija(X, Y )← femenino(X),padre(Y,X), la substitucion: Θ = {X/ana, Y/juan} nos da: C ′ = CΘ =

120

Page 126: Curso en pdf

padre(juan,ana).

hija(X,Y) femenino(X), padre(Y,X).femenino(ana).

hija(ana,juan).

hija(ana,Y) padre(juan,ana).

0 = {ana/X}1

0 = {juan/Y}2

-1

-1

Figura 6.5: Un arbol de derivacion inversa.

hija(ana, juan) ← femenino(ana), padre(juan, ana) y la substitucion in-versa: Θ−1 = {ana/X, juan/Y } nos da: C ′Θ−1 = hija(X, Y )← femenino(X),padre(Y,X).

De forma similar, si conocemos hija(ana, juan) y padre(juan, ana) (figura 6.5),podrıamos aplicar un paso inverso de resolucion para obtener hija(ana, Y )← padre(Y, ana), con una substitucion inversa de Θ−1

2 = {juan/Y }.

Si ademas sabemos que femenino(ana), podrıamos aplicar otro procesoinverso de resolucion para obtener hija(X, Y )← femenino(X), padre(Y,X)con Θ−1

1 = {ana/X}.

En general, se tienen que especificar los lugares, dentro de la clausula endonde se hace la substitucion. Por ejemplo: c = quiere(X, hija(Y )). conΘ = {X/ana, Y/ana} nos da: cΘ = quiere(ana, hija(ana)). Para recuperarc necesitamos tener: Θ−1 = {(ana, {1})/X, (ana, {2, 1})/Y } para poder re-cuperar la c original.

El tratar de invertir el proceso presenta algunos problemas:

• En general no existe una solucion unica.

• Tenemos que decidir si vamos a cambiar terminos a variables y como.

Dado un arbol de derivacion de dos clausulas C1 y C2 para obtener C,el operador de absortion, construye C2, dados C y C1. De la ecuacion delresultante de aplicar resolucion podemos despejar C2:

C2 = (C − (C1 − {L1})θ1)θ−12 ∪ {L2}

121

Page 127: Curso en pdf

donde θ1 y θ2 son substituciones involucrando unicamente las variables de lasclausulas C1 y C2 respectivamente.

Para esto, se tiene que decidir que terminos y subterminos se deben deremplazar por la misma variable y cuales por variables diferentes. Cigolresuelve parcialmente esto, asumiendo que C1 es una clausula unitaria (i.e.,C1 = L1), con lo que obtenemos:

C2 = (C ∪ {¬L1}θ1)θ−12

El problema esta con θ−12 . Si C1 es una clausula aterrizada (ejemplo

positivo) entonces θ1 es vacıa. Por ejemplo, si C = menor(A, suc(suc(A))) yC1 = menor(B, suc(B)). Si definimos: θ1 = {B/suc(A)}, obtenemos: (C ∪{¬l1}θ1) = menor(A, suc(suc(A))) ← menor(suc(A), suc(suc(A))). Ahora,para calcular θ−1

2 , debemos decidir como cambiar las dos ocurrencias deltermino suc(suc(A)) en variables. Supongamos que ambas ocurrencias lascambiamos por D, entonces: C2 = (C ∪ {¬l1}θ1)θ−1

2 = menor(A,D) ←menor(suc(A), D).

Con clausulas de Horn en general, el cuerpo de C1 es absorbido en elcuerpo de C (despues de la aplicacion de una unificacion adecuada) y rem-plazada con su cabeza. Por ejemplo:

C = ave(tweety)← plumas(tweety), alas(tweety), pico(tweety).

C1 = vuela(X)← plumas(X), alas(X).

El cuerpo de C1 es absorbido en el cuerpo de C despues de la substi-tucion θ = {X/tweety} dando una posible solucion: C2 = ave(tweety) ←vuela(tweety), pico(tweety).

El problema de absoption es que es destructiva, en el sentido de quelas literales remplazadas se pierden y no pueden usarse para futuras gen-eralizaciones (es problema cuando los cuerpos de las clausulas se traslapanparcialmente), por lo que las generalizaciones dependen del orden de estas.Por ejemplo, si tenemos:

C1 = P ← Q,R.C2 = S ← R, T.C3 = V ← Q,R, T,W.

122

Page 128: Curso en pdf

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.

Este problema se puede resolver si usamos saturacion, en donde la difer-encia es que mantenemos todas las literales (las usadas en parentesis, indi-cando que son opcionales). Saturacion hace todas las posibles deduccionesen el cuerpo de una clausula de entrada usando el conocimiento del dominio,y viene la generalizacion al eliminar las literales redundantes.

C1 y C3: C4 = V ← [Q,R], P, T,W.C4 y C2: C5 = V ← [Q,R, T ],W, P, S.

Otro operador que invierte el proceso de resolucion es el operador “W”que se obtiene al combinar dos operadores “V”, como el que acabamos dever. Supongamos que C1 y C2 resuelven en una literal comun l dentro dela clausula A para producir B1 y B2. Entonces el operador W construye A,C1 y C2 dados B1 y B2. Cuando l es negativo se llama intraconstruction ycuando es positivo interconstruction.

Como la literal l en A es eliminada en la resolucion y no se encuentra enB1 o B2, se tiene que inventar un nuevo predicado.

B1 = (A− {l1})θA,1 ∪ (C1 − {l1})θC,1

B2 = (A− {l1})θA,2 ∪ (C2 − {l2})θC,2

Suponiendo otra vez que C1 y C2 son clausulas unitarias:

A = B1θ−1A,1 ∪ {l} = B2θ

−1A,2 ∪ {l} = B ∪ {l}

donde B es una generalizacion comun de las clausulas B1 y B2.

Por ejemplo, supongamos que:

B1 = abuelo(X,Z) :- padre(X, Y ), padre(Y, Z).B2 = abuelo(A,C) :- padre(A,B), madre(B,C).Podemos aplicar el operador “W” para obtener las siguientes clausulas (verfigura 6.6):A = abuelo(L,N) :- padre(L,M), nvop(M,N).C1 = nvop(Y, Z) :- padre(Y, Z).C2 = nvop(B,C) :- madre(B,C).

123

Page 129: Curso en pdf

B1: abuelo(X,Z) :- padre(X,Y),padre(Y,Z).

C1: nvop(B,C) :- madre(B,C).

A: abuelo(L,N) :- padre(L,M),nvop(M,N).

B2: abuelo(A,C) :- padre(A,B),madre(B,C).

C2: nvop(B,C) :- madre(B,C).

Figura 6.6: Un ejemplo del operador “W”.

p(juan,ana).

C= h(ana,juan) f(ana),p(juan,ana).

f(ana).

h(ana,juan).

h(ana,juan) p(juan,ana).

0 = {}1

-1

p(pepe,maria).

D = h(maria,pepe) f(maria),p(pepe,maria).

f(maria).

h(maria,pepe).

h(maria,pepe) p(pepe,maria).

0 = {}1

-1

0 = {}2

-1

0 = {}2

-1

lgg(C,D) = h(X,Y) f(X), p(Y,X).

Figura 6.7: Esquema comun de generalizacion, donde h se refiere a hija, fa femenino y p a padre.

6.2.4 Un esquema comun de generalizacion.

Muggleton establecio una forma de relacionar resolucion inversa y rlgg. Laidea es que para cada ejemplo que se tenga, realizar la resolucion inversa(derivacion inversa lineal) con la substitucion inversa mas especıfica (substi-tucion vacıa) y despues hacer el lgg de las clausulas resultantes. Esto es,las generalizaciones mas especıficas con respecto a conocimiento del dominio(rlgg) son las generalizaciones mas especıficas (lgg) de los arboles inversos dederivacion mas especıficos (ver figura 6.7).

6.2.5 Inversion de Implicacion.

Finalmente, podemos tomar una interpretacion semantica y pensar en inver-tir implicacion. Sean C y D clausulas. Decimos que C implica D, o C → D,

124

Page 130: Curso en pdf

sii todo modelo de C tambien es modelo de D, i.e., C |= D. Decimos queC es una generalizacion (bajo implicacion) de D. El problema de invertirimplicacion es que implicacion es indecidible y computacionalmente es muycostoso, a menos, que se impongan ciertas restricciones.

Lo que se quiere encontrar es una H tal que: T ∧H |= E. Por el teoremade deduccion: T ∧ ¬E |= ¬H , donde ¬E y ¬H representan conjuncionesde literales aterrizadas (Skolemizadas). Si ¬ ⊥ representa todas las literalesaterrizadas (potencialmente infinitas) ciertas en todos los modelos de: T ∧¬E, ¬H debe de ser un subconjunto de ¬ ⊥, por lo que: T∧¬E |= ¬ ⊥|= ¬Hy para toda H , H |=⊥. Con esto se puede buscar a H en clausulas quesubsumen a ⊥.

En la practica para construir ⊥ se utiliza resolucion SLD3 de profundidadlimitada (h). Al resultado se le conoce como modelos h-easy. Una forma deencontrar H es construyendo gradualmente hipotesis que sean subconjuntosde ⊥ siguiendo una estrategia de general a especıfico. Esto es basicamentelo que hace el sistema Progol.

Los algoritmos que buscan de especıfico a general pueden tener proble-mas en presencia de ruido. Lo mismo sucedio con los algoritmos de reglasproposicionales iniciales como AQ, lo que origino el proponer algoritmos degeneral a especıfico que siguen una estrategia de covering como CN2 o PART.El mismo esquema de covering se propuso en ILP para lidear con ruido comose vera en la siguiente seccion.

6.2.6 Sistemas de General a Especıfico

En general, los algoritmos de ILP de general a especıfico siguen el esquemadescrito en la tabla 6.2. La idea es ir anadiendo incrementalmente literales(condiciones a reglas) siguiendo un proceso de busqueda, generalmente tipohill-climbing, usando una medida heurıstica (ver figura 6.8). Una vez quese cumple el criterio de necesidad por la hipotesis actual, se eliminan losejemplos positivos cubiertos y se empieza a generar una nueva clausula. Elproceso continua hasta que se cumple un cierto criterio de suficiencia. En

3Seleccionar una literal, usando una estrategia Lineal, restringido a clausulas

Definitivas.

125

Page 131: Curso en pdf

Tabla 6.2: Algoritmo de construccion de clausulas de general a especıfico.

Inicializa Eactual := EInicializa H := ∅repite % covering

Iniciaiza C := T ←repite % especializa

Encuentra el mejor refinamiento (Cmejor) de CSea C := Cmejor

hasta criterio de paro (necesidad)Anade C a H , H := H ∪ {C}Elimina ejemplos positivos cubiertos por C de Eactual

hasta criterio de paro (suficiencia)Regresa H

dominios sin ruido, el criterio de necesidad es de consistencia, esto es, nocubrir ningun ejemplo negativo, y el de suficiencia es de covertura, esto es,hasta cubrir todos los ejemplos positivos. En dominios con ruido, se deja deexigir que las hipotesis sean completas y consistentes y se utilizan medidasheurısticas. Estas medidas se basan en el numero de ejemplos positivos ynegativos cubiertos por las hipotesis, como se vera mas adelante.

En esta forma de construccion de programas logicos se tiene que especi-ficar el criterio a utilizar para seleccionar una nueva literal y el criterio de

hija(X,Y) padre(Y,X).

hija(X,Y)

hija(X,Y) femenino(Y)

hija(X,Y) femenino(X)

hija(X,Y) padre(X,Y).

hija(X,Y) femenino(X), femenino(Y).

hija(X,Y) femenino(X), padre(Y,X).

...

...

Figura 6.8: Proceso de construccion de programas logicos siguiendo un es-quema de general-a-especıfico.

126

Page 132: Curso en pdf

paro.

Para anadir una nueva literal (especializar una clausula) se puede hacercon operadores de refinamiento (refinement operators).

A grandes rasgos, Q es un refinamiento de T si T implica Q y tamano(T )< tamano(Q), donde tamano es una funcion que hace un mapeo de clausulasa numeros naturales.

Un operador de refinamiento se dice completo sobre un conjunto declausulas, si podemos obtener todas las clausulas por medio de refinamien-tos sucesivos a partir de la clausula vacıa. Un operador de refinamientoinduce un orden parcial sobre el lenguaje de hipotesis. Al igual que conΘ−subsumption, se puede hacer una grafo en donde nodos en capas inferi-ores son especializaciones de nodos en capas superiores.

Dado un operador de refinamiento completo para su lenguaje de hipotesis,estos sistemas recorren su grafo de refinamiento hasta encontrar la hipotesisdeseada. Uno de los primeros sistemas en usar operadores de refinamientofue MIS. La diferencia entre muchos de los sistemas de ILP radica en queoperador de refinamiento utilizan y como recorren su grafo de refinamiento.Por ejemplo, el operador de refinamiento de Foil considera anadir al cuerpo dela clausula alguna de las siguientes literales: (i) Xj = Xk, (ii) Xj 6= Xk, (iii)P (V1, V2, . . . , Vn) y (iv) ¬P (V1, V2, . . . , Vn), donde las Xs y V s son variablesy P en uno de los predicados del conocimiento del dominio.

Ganacia de Informacion y FOIL

Se utilizan medidas, como ganacia en informacion para apoyar una es-pecializacion bajo la capacidad de discriminar entre ejemplos positivos ynegativos.

Se puede ver como una extension “natural” de algoritmos tipo ID3.

Muchos sistemas, empiezan con una teorıa en forma de clausulas unitariasinstanciadas representando ejemplos positivos, negativos y la teorıa del do-minio y aprenden incrementalmente clausulas hasta cubrir todos los ejemplospositivos y ninguno de los negativos.

Para entender a Foil, definimos: Un tuple (o tupla) como una secuencia

127

Page 133: Curso en pdf

finita de constantes.

Una tupla satisface una clausula si existe un mapeo de las variables de lacabeza de la clausula hacia la tupla y una extension de todos las variablesdel cuerpo a constantes satisfaciendo el cuerpo.

Foil empieza con tuplas positivas y negativas satisfaciendo el conceptometa y con una clausula muy general, la cual es gradualmente especializadaanadiendole literales al cuerpo.

Si la literal anadida usa solo variables existentes en la clausula actual, elnuevo conjunto de tuplas positivas y negativas es un subconjunto de aquellastuplas que satisfacen el predicado adicional.

Si se introduce una nueva variable en una nueva literal, las tuplas setienen que extender para incluir los valores de esa variable. Esto se hace demanera automatica en Foil.

La asignacion de valor a las tuplas (positiva o negativa) se toma de laasignacion original.

Ejemplo:

ligados(X, Y ).

⊕: (0,1), (0,2), (0,3), (0,4), ..., (7,8)⊖: (0,0), (0,7), (1,0), (1,1), ..., (8,8)

ligados(X, Y ) :- liga(X, Y ).

Elimina 10 tuplas de ⊕

ligados(X, Y ) :- liga(X,Z).

Introduce una nueva variable y las nuevas tuplas serıan:

⊕: (0,2,1), (0,2,3), (0,4,1), ..., (4,8,6)⊖: (0,0,1), (0,0,3), (0,7,1), ..., (7,7,8)

128

Page 134: Curso en pdf

ligados(X, Y ) :- liga(X,Z), ligados(Z, Y ).

cubre las otras tuplas positivas.

Cada literal del cuerpo de la clausula puede tomar una de las siguientes4 formas (refinamientos):(i) Xj = Xk

(ii) Xj 6= Xk

(iii) P (V1, V2, . . . , Vn)(iv) ¬P (V1, V2, . . . , Vn)

donde Xi’s son variables existentes, Vi’s son variables existente o nuevas, yT es alguna relacion.

Las nuevas literales en Foil deben de contener por lo menos una variableexistente.

Foil usa una metrica de ganacia de informacion para anadir nuevas lit-erales:

Gain(literal) = T++ ∗ [log2 (P1

P1 +N1)− log2 (

P0

P0 +N0)]

donde

• P0 y N0 es el numero de tuplas negativas y positivas antes de anadir lanueva literal

• P1 y N1 son el numero de tuplas positivas y negativas despues de anadirla literal a la clausula

• T++ es el numero de tuplas positivas antes de anadir la literal quesatisfacen la nueva literal

La heurıstica de ganacia de informacion no garantiza encontrar una solucioncuando existen varias posibles literales con ganacia aproximadamente igual.De igual forma puede hacer decisiones locales optimas pero globalmentemalas.

De hecho Foil puede cambiar de hipotesis si se le dan los mismos ejemplospositivos dos veces.

129

Page 135: Curso en pdf

• Dado un conjunto de tuplas positivas y negativas y tuplas deconocimiento del dominio

• repeat until todas las tuplas positivas esten cubiertas

– sea clausula actual = la cabeza del predicado mas generalcon cuerpo vacıo

– repeat until no se cubren tuplas negativas

∗ calcula la ganancia de informacion de todas las posi-bles literales que pueden anadirse a la clausula ac-tual

∗ selecciona la literal con mas ganancia de informacion

∗ anade la literal al cuerpo de la clausula actual

∗ elimina las tuplas de ejemplos positivos satisfechospor la nueva clausula

Tabla 6.3: Algoritmo de Foil

Extensiones (Foil2) utiliza un tipo de back–up primitivo.

Foil no tiene sımbolos funcionales y se ve afectado por el numero deargumentos en el predicado meta.

Medidas de calidad

Ademas de utilizar un operador de refinamiento para especializar unahipotesis, se tiene que determinar la calidad de las hipotesis generadas. Den-tro de las diferentes medidas, podemos mencionar las siguientes:

• Precision: A(c) = p(⊕|c). Se pueden usar diferentes medidas para esti-mar esta probabilididad. La mas usada, aunque no necesariamente la

mejor es: p(⊕|c) = n⊕(c)n(c)

. Donde n⊕(c) se refiere a los ejemplos posi-

tivos cubiertos por la clausula c y n(c) se refiere a todos los ejemploscubiertos por la clausula c. Mas adelante describiremos otras medidaspara estimar probabilidades.

• Basada en informacion: I(c) = −log2p(⊕|c).

130

Page 136: Curso en pdf

• Ganancia en precision: Se puede medir el aumento de precision que seobtiene al anadir una literal a la clausula c para obtener c′, AG(c′, c′) =A(c′)− A(c) = p(⊕|c′)− p(⊕|c).

• Ganancia de informacion: Similarmente, se puede medir la disminucionen informacion, IG(c′, c) = I(c)− I(c′) = log2p(⊕|c′)− log2p(⊕|c).

• Ganancia en precision o en informacion pesada: Se pueden pesar las

medidas anteriores por el siguiente factor n⊕(c′)n⊕(c)

, para estimar lo que segana en ejemplos positivos cubiertos por una especializacion particular.Una medida parecida a esta es empleada por Foil.

• Ganancia de informacion mejorada: una variante de ganacia de infor-

macion es como sigue: IG(c) =n⊕(c)+(|N⊖|−n⊖(c)

|N|∗(I(⊤)−I(c))

|c| donde |N⊖| esel numero de ejemplos negativos, n⊖(c) es el numero de ejemplos neg-ativos cubiertos por la hipotesis c, |N | es el numero total de ejemplos,y |c| es el numero de literales en el cuerpo de c.

Para estimar las probabilidades usadas en estas medidas, se pueden uti-lizar diferentes estimadores. Los mas comunes son:

• Frecuencia relativa, que como ya vimos antes es: p(⊕|c) = n⊕(c)n(c)

. Estoes adecuado cuando se cubren muchos ejemplos. Cuando existen pocosejemplos, esta medida deja de ser confiable.

• Estimador Laplaciano: p(⊕|c) = n⊕(c)+1n(c)+2

. Esta medida aplica cuandose tienen dos clases. Esta medida tambien asume que se tiene unadistribucion uniforme de las dos clases.

• Estimador-m: p(⊕|c) = n⊕(c)+m×pa(⊕)n(c)+m

donde pa(⊕) = n⊕

n, es la proba-

bilidad a priori de la clase ym expresa nuestra confianza en la evidencia(ejemplos de entrenamiento). Se define subjetivamente de acuerdo alruido en los ejemplos, entre mas ruido mas grande tiene que se ser elvalor de m. Si m = 0 regresamos a frecuencia relativa y si m = 2 ypa(⊕) = 1

2regresamos al estimador Laplaciano.

Existe una gran cantidad de algoritmos de ILP que utilizan una estrategiatop-down de general a especıfico (v.g., Tilde, ICL, mFoil, Foil, entre otros).

131

Page 137: Curso en pdf

Los sistemas que usan estrategias de general a especıfico tienden a tenerdificultades con clausulas que involucran muchas literales. Por otro lado, alutilizar una estrategia de busqueda tipo hill climbing (como la mayorıa delos sistemas de aprendizaje), pueden caer en mınimos locales y no llegar aencontrar la mejor hipotesis.

Se han propuesto varios esquemas en ILP para aliviar el problema demiopıa que se origina por el esquema de busqueda utilizado. Por ejem-plo, Pena-Castillo y Wrobel proponen utilizar macro-operadores para poderanadir mas de una literal al mismo tiempo. Otros sistemas, como m-Foile ICL utilizan beam-search para tratar de aliviar el problema de la miopıa.Tambien se ha utilizado fixed-depth look-ahead, esto es, continuar el refi-namiento varios pasos adelante. Esto puede ser utilizando templates parahacer la busqueda mas selectiva.

6.2.7 Restricciones y Tecnicas Adicionales

En general todos los sistemas ILP introducen ciertas restricciones para generarsus hipotesis:

• Se le dice al sistema que argumentos estan determinados (argumentosde salida) en un predicado si el resto de los argumentos son conocidos(argumentos de entrada). Se pueden formar grafos que ligan entradas ysalidas guiando la construccion de las hipotesis. Se puede restringir aunmas utilizando tipos, esto es, solo puede existir una liga de variablesde entrada - salida si los argumentos son del mismo tipo (v.g., Progol,Aleph).

• Considera solo clausulas en que todas las variables aparescan por lomenos 2 veces en la clausula, o introduce una literal con al menos unavariable existente (v.g., Foil).

• Construye hipotesis solo de una clase de clausulas definidas con esque-mas o modelos de reglas o gramaticas (v.g., Mobal).

• Construye hipotesis siguiendo un operador de refinamiento particular(v.g., MIS).

132

Page 138: Curso en pdf

• Utiliza predicados adicionales para determinar que predicados del conocimientodel dominio son relevantes para la hipotesis actual (v.g., Tracy).

Los programas logicos pueden tener terminos complejos usando sımbolosfuncionales. Muchos sistemas de ILP usan una representacion aplanadao flattened para eliminar los sımbolos funcionales. Esto es, cada terminof(X1, . . . , Xn) en cada clausula C de un programa, se cambia por una nuevaclausula con variables X y se anade al cuerpo de C un nuevo predicadoPf(X1, . . . , Xn, X) representando la funcion f .

6.2.8 Proposicionalizacion.

La idea de proposicionalizacion es la de transformar un problema relacionalen una representacion de atributo-valor que pueda ser usada por algoritmosmas convencionales de aprendizaje computacional como son C4.5 y CN2.Lasrazones principales son: (i) utilizar algoritmos mas eficientes de aprendizaje,(ii) contar con una mayor cantidad de opciones de algoritmos, y (iii) utilizartecnicas mas maduras, por ejemplo, en el uso de funciones y regresiones,en el manejo de ruido, etc. Durante el proceso de transformacion se con-struyen atributos a partir del conocimiento del dominio y de las propiedadesestructurales de los individuos. Este proceso puede ser completo o parcial(heurıstico). Una proposicionalizacion completa no pierde informacion. Enla parcial o incompleta se pierde informacion y el objetivo es el generarautomaticamente un conjunto pequeno pero relevante de atributos estruc-turales. Este ultimo enfoque es el mas utilizado debido a que a veces elconjunto completo puede llegar a ser infinito.

Dedibo al incremento exponencial de atributos con respecto a factorescomo el numero de predicados usados y el numero maximo de literales a uti-lizar, algunos sistemas limitan el numero de literales, de variables y de posi-bles valores por los tipos de atributos, ası como la longitud de las clausulasy el numero de ocurrencias de ciertos predicados.

Otro enfoque recientemente utilizado es emplear funciones de agregacioncomo las usadas en bases de datos. Se aplican agregaciones a columnas detablas y se obtienen atributos como promedios, maximos, mınimos, y sumas,los cuales alimentan a un sistema proposicional.

133

Page 139: Curso en pdf

Tabla 6.4: Transformacion a una representacion proposicional para aprenderla relacion de hija.Variables Atributos proposicionales ClX Y f(X) f(Y) P(X,X) P(X,Y) P(Y,X) P(Y,Y) X=Yfer 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 ⊖

Para ilustrar mas claramente el proceso de proposicionalizacion, la tabla 6.4muestra como se podrıa expresar con Linus, el problema de aprender unadefinicion para la relacion hija, visto al inicio del capıtulo, donde f(X) sig-nifica femenino y p(X, Y ) significa progenitor.

El resultado serıa:

IF f(X) = true AND p(Y,X) = trueTHEN Clase = ⊕.

lo que se puede transformar de regreso a una representacion relacional comosigue: hija(X, Y )← femenino(X), progenitor(Y,X).

El problema con este enfoque esta en como generar un conjunto adecuadode atributos que sean manejables y la incapacidad de inducir definicionesrecursivas.

6.2.9 Algunas extensiones recientes

El uso de representaciones relacionales ha permeado a practicamente todaslas areas de aprendizaje computacional. Dentro de los desarrollos mas im-portantes podemos mencionar:

• Aprendizaje de arboles de decision relacionales. Se aprenden arbolesbinarios, donde cada nodo contiene una conjuncion logica y los nodosdentro de un camino del arbol, pueden compartir variables entre sı. El

134

Page 140: Curso en pdf

probar un nodo significa probar la conjuncion en el nodo y las conjun-ciones en el camino del nodo raız hasta nodo que se esta probando.Esto mismo se ha extendido a arboles de regresion.

• Definicion de una medida de distancia relacional que permite calcularla similaridad entre dos objetos. Esta distancia puede tomar en cuentala similaridad entre objetos relacionados, por ejemplo, entre “hijos”al comparar a dos personas. Esto se puede utilizar para aprendizajebasado en instancias relacional y para realizar clustering.

• Aprendizaje de reglas de asociacion de primer orden. Esto extiende laexpresividad de las reglas de asociacion y permite encontrar patronesmas complejos.

• Aprendizaje por refuerzo relacional con lo que se puede aprender unapolıtica optima de acciones relacionales en un ambiente relacional. Porejemplo, aprender que movidas realizar en ajedrez, como jugar Titris,etc.

• Aprendizaje de lenguajes logicos (LLL) o gramaticas aprovechando laexpresividad de la logica de predicados.

• Combinar ideas de programacion logica inductiva con probabilidad ILPse puede extender para considerar aspectos probabilısticos, en particu-lar, aprendizaje basado en implicacion probabilısta, aprendizaje basadoen interpretaciones probabilısticas y finalmente, aprendizaje basado enpruebas logicas probabilısticas.

• Inducir ensambles de clasificadores, tales como Bagging y Boosting enILP. La idea es combinar los resultados de varios clasificadores induci-dos con algoritmos de ILP.

6.2.10 Aplicaciones

Aunque no se ha tenido el auge de otras areas de aprendizaje, ILP hatenido algunos resultados importantes que son difıciles de obtener con otrastecanicas. Dentro de las aplicaciones principales, podemos mencionar:

135

Page 141: Curso en pdf

• Prediccion de relaciones en estructura-actividad, incluyendo la mu-tagenesis de compuestos moleculares que pueden causar cancer.

• Prediccion de la estructura tridimensional secundaria de proteinas apartir de su estructura primara o secuencia de aminoacidos.

• Diseno de elemento finito de malla para analizar tension en estructurasfısicas.

• Aprendizaje de reglas para diagnostico temprano de enfermedades dereumatismo.

• Construccion de programas a partir de especificaciones de alto nivel.

• Aprendizaje de reglas de control para sistemas dinamicos a partir detrazas.

• Clasificacion biologica de calidad de agua de rıos.

• Aprendizaje de modelos cualitativos de sistemas dinamicos.

136

Page 142: Curso en pdf

Capıtulo 7

Descubrimiento deConocimiento Basado en Grafos

7.1 Introduccion

Representacion de Conocimiento:

En un sistema de descubrimiento de conocimiento basado en grafos, el al-goritmo de minerıa de datos utiliza grafos como representacion de conocimiento.Esto significa que la fase de preparacion de datos incluye una transformacionde los datos a un formato de grafo.

Espacio de Busqueda:

El espacio de busqueda el algoritmo basado en grafos consiste en todos lossub-grafos que se pueden derivar a partir del grafo de entrada. Esto quieredecir que el espacio de busqueda es exponencial, de la misma manera quees el tiempo de ejecucion de estos algoritmos, al menos que se restrinjan dealguna manera para que corran en tiempo polinomial.

Criterio de Evaluacion:

Una parte muy importante del algoritmo de minerıa de datos es el criteriode evaluacion. Este criterio se utiliza para determinar cuales subgrafos del

137

Page 143: Curso en pdf

espacio de busqueda son relevantes y pueden ser considerados como partede los resultados. El metodo basado en grafos Subdue utiliza el principio delongitud de descripcion mınima (MDL) para evaluar los subgrafos descubier-tos. El principio MDL dice que la mejor descripcion del conjunto de datoses aquella que minimiza la longitud de la descripcion de todo el conjuntode datos. En el metodo basado en grafos, el principio MDL se utiliza paradeterminar que tan bien un grafo comprime al grafo de entrada. De estamanera, todos los subgrafos que se generan durante el proceso de busquedase evaluan de acuerdo al principio MDL y los mejores subgrafos se eligencomo parte del resultado.

7.2 Implementacion en el sistema Subdue

El metodo basado en grafos descrito anteriormente fue implementado en elsistema Subdue (Cook and Holder 1994). Subdue es un sistema de apren-dizaje relacional utilizado para encontrar subestructuras (subgrafos) queaparecen repetidamente en la representacion basada en grafos de bases dedatos. Una vez que la base de datos esta representada con grafos, Subduebusca la subestructura que mejor comprime al grafo utilizando el principioMDL. Despues de encontrar esta subestructura, Subdue comprime el grafo ypuede iterar repitiendo este proceso. Subdue tiene la capacidad de realizar unmacheo inexacto que permite descubrir subestructuras con pequenas varia-ciones. Otra caracterıstica importante de Subdue es que permite utilizarconocimiento previo representado como subestructuras predefinidas.

7.2.1 Representacion de Conocimiento

El modelo de representacion que utiliza Subdue es un grafo etiquetado. Losobjetos se representan con vertices y la relaciones con arcos. Las etique-tas se utilizan para describir el significado de los arcos y vertices. Cuandose trabaja con bases de datos relacionales, cada renglon se puede considerarcomo un evento y los atributos como objetos. Los eventos tambien se puedenligar a otros eventos por medio de arcos. Los atributos de los eventos se de-scriben mediante un conjunto de vertices y arcos, donde los arcos identifican

138

Page 144: Curso en pdf

los atributos especıficos y los vertices especifican el valor de ese atributo parael evento. Una representacion basada en grafos es lo suficientemente flexiblepara permitir tener mas de una representacion para un dominio dado, per-mitiendo al investigador experimentar para obtener la mejor representacionpara su dominio. La definicion de los grafos tiene un formato especıfico quese da como entrada al sistema Subdue. Para esta seccion definiremos lossiguientes terminos.

Algunos Terminos :

• Un subgrafo G′ de G es un grafo conectado cuyos vertices y arcos sonsubconjuntos de G.

• Una subestructura S es un subgrafo que tiene asociada una de-scripcion y un conjunto de instancias en el grafo de entrada.

• Una instancia es una ocurrencia de una subestructura S en un grafoG.

7.2.2 Metodo de Busqueda

Subdue utiliza una busqueda tipo beam (restringida computacionalmente)para encontrar subestructuras. Una subestructura es un subgrafo contenidoen el grafo de entrada. El algoritmo inicia con un solo vertice como sube-structura inicial y en cada iteracion expande las instancias de aquella sube-structura anadiendo un arco en cada posible manera. De esta forma generanuevas subestructuras que podrıan considerarse para expansion. El metodode busqueda tambien puede sesgarse utilizando conocimiento previo (p.e.subestructuras que creemos que pueden existir en los datos, pero que quer-emos estudiar con mayor detalle) dadas por el usuario (Cook and Holder1994). En este caso, el usuario provee subestructuras de conocimiento previocomo entrada a Subdue. Subdue encuentra instancias de las subestructuras deconocimiento previo en el grafo de entrada y continua buscando extensionesde aquellas subestructuras. El algoritmo de busqueda de Subdue se muestraen la tabla 7.1.

139

Page 145: Curso en pdf

Tabla 7.1: Algoritmo de Busqueda de Subdue

Subdue(Graph, Limit, Beam, NumBestSubs)ProcessedSubs = 0ParentList = All substructures of one vertex in Graphwhile(ProcessedSubs ≤ Limit)

ChildList = {}while(ParentList 6= {})

Parent = (RemoveSubstructure(ParentList)Instances = Extend(Parent) en todas las maneras posiblesChildSubs = Group(Instances)Evaluate(ChildSubs)Insert substructures in ChildSubs into ChildList mod BeamProcessedSubs = ProcessedSubs + 1Insert Parent into BestList mod NumBestSubs

end whileParentList = ChildList

end whilereturn BestList

end

140

Page 146: Curso en pdf

El algoritmo de busqueda inicia con la creacion de una subestructura decada etiqueta de vertice y sus instancias asociadas, las cuales se insertanen ParentList. Despues, cada subestructura de ParentList se extiende encada posible manera anadiendo un vertice y un arco o solo un arco (en elcaso de que el arco ligue dos vertices que ya existan en la subestructura).Las instancias resultantes de la extension se agrupan en subestructuras. Laprimera aparicion de cada instancia se convierte en la definicion de sube-structura, y el resto se asocia a esa subestructura como instancias. Despues,todas las subestructuras producidas se evaluan de acuerdo al principio MDLy se insertan en ChildList ordenadas por su valor. ChildList mantiene tantassubestructuras como el valor del parametro Beam. Posteriormente, la sube-structura Parent se inserta en BestList (la cual mantiene solo NumBestSubssubestructuras), y este proceso continua hasta que ParentList se vacıe. Eneste momento ParentList y ChildList se intercambian y se repite el proceso.El numero de subestructuras Parent consideradas en la busqueda esta re-stringido por el parametro Lımite. El valor por default de este lımite sederiva de el numero de arcos y vertices en el grafo de entrada ( el numero devertices mas el numero de arcos dividido por dos). BestList esta restringidapor default a tener el mismo tamano que la longitud del beam Beam, pero lasrestricciones de longitud se pueden modificar independientemente utilizandolos parametros del sistema.

7.2.3 Criterio de Evaluacion

En Subdue se implemento un criterio de evaluacion para decidir cuales pa-trones se van a elegir como conocimiento importante o estructuras. El metododel modelo de evaluacion se llama Codificacion Mınima (Minimum Encod-ing), una tecnica derivada el Principio de Longitud de Descripcion MınimaMDLP (Rissanen 1989), el cual dice que la mejor descripcion de un conjuntode datos es aquella que minimiza la longitud de la descripcion de todo elconjunto de datos.

En relacion a Subdue, la mejor descripcion del conjunto de datos es aquellaque minimiza I(S) + I(G|S), donde S es la subestructura utilizada paradescribir el grafo de entrada G, I(S) es la longitud (en numero de bits)requerido para codificar S, e I(G|S) es la longitud del grafo codificado G

141

Page 147: Curso en pdf

despues de ser comprimido utilizando la subestructura S.

Cada vez que Subdue encuentra una subestructura, la evalua utilizando elprincipio MDL y compara su valor con el de las otras subestructuras. Subdueelige la subestructura que mejor comprime el grafo en terminos del principioMDL. Despues, reemplazaa las instancias de la subestructura con un solovertice que la representa atraves del grafo e inicia una nueva iteracion enbusca de nuevas subestructuras que incluso pueden contener subestructurasencontradas en iteraciones previas. El numero de iteraciones es un parametrode entrada a Subdue.

Existen varias formas de limitar la busqueda de Subdue. Una es utilizandouna tecnica de podado (tambien es un parametro de entrada a Subdue) quetermina la busqueda cuando la evaluacion MDL ya no mejora. Otra formade limitar la busqueda es definir un tamano maximo para las subestructurasque Subdue busca en terminos del numero de vertices. Es posible combinarestas tecnicas para delimitar la busqueda de Subdue.

7.2.4 Subestructuras Predefinidas

Es posible guiar a Subdue para que encuentre subestructuras que creemos queestan en la base de datos. Para esto especificamos a Subdue subestructuraspredefinidas en un archivo separado y tambien en su representacion basadaen grafos.

La ventaja de utilizar subestructuras predefinidas es que guiamos la busquedahacia una meta especıfica y al mismo tiempo se reduce la complejidad de labusqueda.

Por supuesto que esto solo funciona si la subestructura predefinida existeen la base de datos, por lo que esta caracterıstica la explota mejor el expertoen el dominio.

142

Page 148: Curso en pdf

7.2.5 Macheo Inexacto de Grafos

Subdue tiene la capacidad de encontrar subestructuras con ligeras diferen-cias en sus instancias. Estas diferencias pueden ser causa de ruido o por lanaturaleza de la informacion. Algunas de estas pequenas diferencias puedenser un vertice adicional o uno mejor, una etiqueta diferente en un vertice, unarco que no existe en una instancia, etc.

La manera en que Subdue maneja el macheo inexacto es asignando uncosto a cada diferencia que encuentra en la nueva instancia y lleva un registrodel costo total de las diferencias de la nueva instancia con respecto a la origi-nal. Si el costo es menos que un umbral (este umbral se da como parametro),entonces se considera que la nueva instancia hace un macheo con la original.Se utilizan reglas para asignar un costo a cada tipo de diferencia, estas reglasse ajustan de acuerdo al dominio. El procedimiento de macheo de grafosesta restringido a ser polinomial con respecto al tamano de los grafos que secomparan.

7.3 Aprendizaje de Conceptos basado en Grafos

Los sistemas basados en logica han dominado el area de aprendizaje de con-ceptos relacional, en especial los sistemass de programacion logica inductivaInductive Logic Programming (ILP) (Muggleton and Feng 1992).

Sin embargo, la logica de primer orden tambien se puede representar comoun grafo y de hecho, la logica de primer orden es un subconjunto de lo que sepuede representar utilizando grafos (Sowa 1992). Entonces, los sistemas deaprendizaje que utilizan representaciones graficas tambien tienen el potencialde aprender conceptos ricos si pueden manejar el incremento en el tamanodel espacio de hipotesis.

7.3.1 Modelo

Como se ha mencionado, el aprendizaje de conceptos es un proceso que con-siste en la induccion de una funcion concepto a partir de ejemplos de entre-

143

Page 149: Curso en pdf

namiento positivos y negativos. Para el aprendizaje de conceptos basado engrafos, se utiliza un conjunto de ejemplos positivos y negativos en su repre-sentacion con grafos para entrenar y encontrar el concepto que describe eldominio.

La meta es que el concepto encontrado debe ser capaz de predecir si unnuevo ejemplo (uno que no fue utilizado durante el entrenamiento) perteneceal concepto o no. Los grafos son una buena representacion para datos es-tructurales y capaz de representar FOPC.

El espacio de hipotesis consiste de todos los subgrafos que se puedenderivar a partir de los grafos de ejemplos positivos; este espacio es exponencialcon respecto al tamano de los grafos (numero de vertices y arcos).

El criterio de evaluacion se basa en el numero de ejemplos positivos ynegativos que describe la hipotesis a partir del conjunto de entrenamiento.Una buena hipotesis es aquella que describe a los ejemplos positivos pero noa los ejemplos negativos.

El metodo de aprendizaje de conceptos SubdueCL sigue el paradigmaset-covering. Esto implica que el concepto resultante puede consistir de unconjunto de subconceptos.

El proceso de aprendizaje inicia con el conjunto de ejemplos positivos ynegativos. Cuando se encuentra un sub-concepto, todos los ejemplos pos-itivos cubiertos por el se quitan del conjunto de entrenamiento y se iniciauna busqueda de un nuevo sub-concepto. Este proceso se repite hasta quetodos los ejemplos positivos se han descrito a traves de cualquiera de lossub-conceptos encontrados. La hipotesis resultante es un conjunto de sub-conceptos en DNF (Disjunctive Normal Form).

El concepto resultante se utiliza para clasificar nuevos ejemplos (no in-cluidos en el conjunto de entrenamiento). El ejemplo se prueba por el primersub-concepto en la DNF. Si el ejemplo descrito por el sub-concepto, entoncesel ejemplo se clasifica como positivo. Si el ejemplo no fue descrito por elprimer sub-concepto, se prueba con el segundo sub-concepto. Si el segundosub-concepto describe el ejemplo, entonces el ejemplo es positivo, y si no, seutiliza el siguiente sub-concepto para probar el nuevo ejemplo. Este procesocontinua hasta que uno de los sub-conceptos en la DNF clasifica al ejemplo

144

Page 150: Curso en pdf

como positivo o todos los sub-conceptos se probaron sin ningun resultadopositivo, lo cual significa que el ejemplo se clasifica como negativo.

7.3.2 Implementacion

Para extender Subdue para poder realizar la tarea de aprendizaje de concep-tos se incluyo el manejo de ejemplos negativos al proceso. Las subestructurasque describen ejemplos positivos, pero no ejemplos negativos, son las quetienen mas posibilidades de representar el concepto deseado. Por lo tanto, laversion de aprendizaje de conceptos de Subdue, que conocemos como Sub-dueCL, acepta ejemplos positivos y negativos en formato de grafo.

Como Subdue CL es una extension de Subdue, utiliza el nucleo de fun-ciones de Subdue para realizar operaciones con grafos, pero el proceso deaprendizaje cambia. SubdueCL trabaja como un algoritmo de aprendizajesupervizado, que diferencıa ejemplos positivos de los negativos utilizandouna metodo set-covering en lugar de compresion de grafos. La hipotesisencontrada por SubdueCL consiste de un conjunto de disyunciones de con-junciones (subestructuras, por ejemplo, el concepto puede contener varias re-glas). SubdueCL forma una de esas conjunciones (reglas) en cada iteracion.Los grafos de ejemplos positivos descritos por la subestructura encontradaen una iteracion anteriorse eliminan del grafo de entrada para las iteracionessiguientes.

7.3.2.1 Evaluacion de Subestructuras

La manera en que SubdueCL decide si las subestructuras (o reglas) formaranparte del concepto o no es diferente a Subdue. SubdueCL utiliza una formulade evaluacion para asignar un valor a cada una de las subestructuras gen-eradas. Esta formula asigna un valor a una subestructura de acuerdo a quetan bien describe a los ejemplos positivos (o subconjunto de los ejemplospositivos) sin describir ejemplos negativos. De esta manera, los ejemplospositivos cubiertos por la subestructura incrementan el valor de la mismamientras que los ejemplos negativos decrementan su valor. En esta formulalos ejemplos positivos que no son cubiertos y los negativos cubiertos por la

145

Page 151: Curso en pdf

subestructura se consideran errores poruq la subestructua ideal seria unaque cubre todos los ejemplos positivos sin cubrir ningun ejemplo negativo.El valor de la subestructura se calcula con la siguiente ecuacion:

value = 1− Error

donde el error se calcula con respecto a los ejemplos positivos y negativoscubiertos por la subestructura utilizando la siguiente formula:

Error =#PosEgsNotCovered+#NegEgsCovered

#PosEgs+#NegEgs

Utilizando esta ecuacion, SubdueCL elige reglas que maximizan el valorde las subestructuras y de esta manera minimiza el numero de errores hechospor la subestructura utilizada para formar el concepto. Los ejemplos posi-tivos no cubiertos por la subestructura y los ejemplos negativos cubiertos porella se consideran errores. #PosEgsNotCovered es el numero de ejemplospositivos no cubiertos y #NegEgsCovered es el numero de ejemplos cubier-tos cubiertos. #PosEgs es el numero de ejemplos positivos que quedan enel conjunto de entrenamiento (recordando que los ejemplos positivos que yafueron cubiertos en alguna de las iteraciones anteriores ya fueron removidosdel conjunto de entrenamiento), y #NegEgs es el numero total de ejemp-los negativos. Este numero no cambia porque los ejemplos negativos no seremueven del conjunto de entrenamiento.

El problema de la ecuacion 2 es que cuando dos subestructuras tienen elmismo error, nos gustarıa elegir aquella que cubra mas ejemplos positivos.Por ejemplo, suponiendo que tenemos 10 ejemplos positivos y 10 negativos.La subestructura S1 cubre 5 ejemplos positivos y 0 negativos, y la sube-structura S2 cubre 10 ejemplos positivos y 5 negativos. En este caso ambassubestructuras tienen un error de 1

4de acuerdo a la ecuacion 2 pero preferi-

mos elegir S1 porque no cubre ningun ejemplo negativo. Para hacer esto, seasigna una penalizacion (sea k) a los errores negativos. Despues de algunamanipulacion matematica expresamos el error con la formula 3, donde k es unpeso de penalizacio y k ≥ 2. El valor por default de k es de 3. Ahora el errorde S1 y S2 de acuerdo a la formula 3 (y con el valor por default de k = 3) esde 5

4y 7

4respectivamente. Con esta formula, SubdueCL preferira S1 sobre

S2. Los resultados de un analisis empırico mostraron que esta ecuacion paraevaluar subestructuras funciona muy bien.

146

Page 152: Curso en pdf

Tabla 7.2: Algoritmo Principal de Subdue

Main(Gp, Gn, Limit, Beam)H={}repeat

repeatBestSub = SubdueCL(Gp, Gn, Limit, Beam)if BestSub = {}

then Beam = Beam * 1.1until(BestSub 6= {})Gp = Gp - {p ∈ Gp|BestSubcoversp }H = H + BestSub

until Gp = {}return

end

7.3.3 Algoritlmo SubdueCL

El algoritmo SubdueCL se muestra en las tablas 7.2 y 7.3. La funcionprincipal toma como parametros los ejemplos positivos Gp, los ejemplos neg-ativos Gn, el tamano del beam (porque el algoritmo de SubdueCL utilizauna busqueda beam), y un lımite limit sobre el numero de subestructurasa incluir en su busqueda. La funcion principal hace llamadas a la funcionSubdueCL para formar la hipotesis H que describa los ejemplos positivos.

Cada vez que se hace una llamada a la funcion SubdueCL se anade unasubestructura a H . En el caso en que SubdueCL regresa NULL, el Beamse incrementa en 10%, de tal modo que SubdueCL pueda explorar un espa-cio de busqueda mas amplio. Elegimos hacer incrementos del beam de 10%porque ese valor fue suficiente para encontrar una subestructura en la sigu-iente iteracion para la mayorıa de los experimentos. Ademas, despues de queSubdueCL encuentra una subestructura, los ejemplos positivos cubiertos porella se eliminan del grafo positivo.

En la tabla 7.3 se muestra la funcion SubdueCL, la cual empieza a con-

147

Page 153: Curso en pdf

Tabla 7.3: Algoritmo SubdueCL.

SubdueCL(Gp, Gn, Limit, Beam)ParentList = (All substructures of one vertex in Gp) mod BeamRepeat

BestList = {}Exhausted = TRUEi = Limitwhile ((i ¿ 0 ) and (ParentList 6= {}))

ChildList = {}foreach substructure in ParentList

C = Expand(Substructure)Evaluate(C, Gp, Gn)if CoversOnePos(C, Gp)

then BestList = BestList ∪ CChildList = (ChildList ∪ C) mod Beami = i - 1

endforParentList = ChildList mod Beam

endwhileif BestList = {} and ParentList 6= {}

then Exausted = FALSELimit = Limit * 1.2

until(Exhausted = TRUE)return first(BestList)

end

148

Page 154: Curso en pdf

struir una ParentList creando una subestructura para cada vertice en elgrafo con una etiqueta diferente, pero manteniendo solo tantas subestructurascomo lo permita el tamano del Beam. El operador “mod Beam” significa quelas listas contienen tantas subestructuras como el tamano del Beam. Poste-riormente se expande cada una de las subestructuras en la lista ParentListcon un arco o un vertice y un arco en todos los modos posibles y se evaluade acuerdo a la ecuacion presentada anteriormente. Aquellas subestructurasque cubran al menos un ejemplo positivo y caen dentro de los lımites deltamano del Beam se quedan en la lista BestList. La lista ChildList mantienetodas las subestructuras que fueron obtenidas de la expansion de las sube-structuras de la lista ParentList y tambien se esta restringida por el tamanodel Beam.

El parametro Limit se utiliza para expandir tantas subestructuras comosu valor, pero si la lista BestList esta vacıa despues de expandir tantas sube-structuras como el valor de Limit de la lista ParentList, entonces Limit seincrementa en 20% hasta que se encuentre una. Elegimos un valor de in-cremento del lımite de 20% porque usualmente era suficiente para encontraruna subestructura positiva en el siguiente intento para nuestros experimentos.Finalmente la funcion SubdueCL regresa lo mejor de la lista BestList con-teniendo todas las subestructuras que cubren al menos un ejemplo positivo.Es importante mencionar que todas las listas estan ordenadas de acuerdo alvalor de evaluacion de las subestructuras.

149

Page 155: Curso en pdf

Capıtulo 8

Aprendizaje Bayesiano

8.1 Probabilidad

Existen diferentes interpretaciones de probabilidad, las mas comunes son:

• Clasica: P (A) = N(A)/N

• Frecuencia relativa: P (A) = limN→∞N(A)/N

• Subjetiva: P(A) = “creencia en A” (factor de apuesta)

Definicion: Dado un experimento E y el espacio de muestreo S respectivo,a cada evento A le asociamos un numero real P (A), el cual es la probabilidadde A y satisface las siguientes propiedades:

1. 0 ≤ P (A) ≤ 1

2. P (S) = 1

3. P (A ∪ B) = P (A) + P (B), si A y B mutuamente exclusivos

Teorema 1: P (∅) = 0

150

Page 156: Curso en pdf

Teorema 2: P (A) = 1− P (A)

Teorema 3: P (A ∪ B) = P (A) + P (B)− P (A ∩ B)

Probabilidad Condicional

Si A y B son dos eventos en S, la probabilidad de que ocurra A dado queocurrio el evento B es la probabilidad condicional de A dado B, y se denotaP (A | B).

La probabilidad condicional por definicion es: P (A | B) = P (A∩B)/P (B),dado P (B) > 0

Ejemplo: Para un dado, si se que cayo impar, cual es la probabilidad de 3?

Similarmente: P (B | A) = P (A ∩B)/P (A)

De donde: P (B | A) = P (B)P (A | B)/P (A)

Esta expresion se conoce como el Teorema de Bayes, que en su forma masgeneral es:

P (Bj | Ai) = P (Bj)P (Ai | Bj)/∑

j P (Ai | Bj)P (Bj)

El denominador se le conoce como el teorema de la probabilidad total.

Teorema 4: Si B1, B2, . . . , Bk representan una particion (exclusivos, exhaus-tivos y mayores a cero) de S, y A es un evento respecto a S, entonces laprobabilidad de A la podemos escribir como:

P (A) =∑

j P (A | Bj)P (Bj)

Eventos independientes

Dos eventos, A y B, son independientes si la ocurrencia de uno no tieneque ver con la ocurrencia de otro.

Por definicion, A es independiente de B si y solo si: P (A∩B) = P (A)P (B)

Esto implica que: P (A | B) = P (A) y que P (B | A) = P (B)

Independientes es diferente a mutuamente exclusivos.

151

Page 157: Curso en pdf

Independencia condicional

Un evento A es condicionalmente independiente de otro B dado un tercerevento C, si el conocer C hace que A y B sean independientes. Es decir, siconozco C, B no tiene influencia en A. Esto es: P (A | B,C) = P (A | C)

Ejemplo:

• A - regar el jardın

• B - prediccion del clima

• C - lluvia

De la definicıon de probabilidad condicional, podemos obtener una ex-presıon para evaluar la probabilidad conjunta de N eventos:

P (A1, A2, ..., An) = P (A1 | A2, ..., An)P (A2 | A3, ..., An) · · ·P (An)

Variables Aleatorias

Si a cada posible evento A le asignamos un valor numerico real, X(A),obtenemos una variable aleatoria. A cada valor de la variable le correspondeuna probabilidad, P (X = k).

Las variables aleatorias pueden ser de dos tipos: discretas y continuas.Nosotros nos enfocaremos a variables discretas.

Ejemplos de variables aleatorias discretas: lanzar una moneda, lanzar undado, numero de fallas antes de darle al blanco.

Funcion acumulativa de probabilidad

Para una variable aleatoria X , se define la funcion acumulativa de prob-abilidad como la probabilidad de que la variable aleatoria sea menor a unvalor x:

F (x) = P{X ≤ x}

Es decir, corresponde a la sumatoria de la funcion de probabilidad de −∞ ax:

152

Page 158: Curso en pdf

F (x) =∑x

−∞ p(X)

Propiedades:

1. 0 ≤ F (x) ≤ 1

2. F (x1) ≤ F (x2) , si x1 ≤ x2 (funcion siempre creciente)

3. F (−∞) = 0

4. F (+∞) = 1

Estadısticas de una variable aleatoria

Valores caracterısticos de una variable aleatoria:

• Modo: valor de probabilidad maxima

• Media: valor medio (divide el area en 2 partes iguales)

Momentos

• promedio (valor esperado o primer momento): E{X} = M1(X) =∑

xiP (xi)

• valor promedio-cuadrado (segundo momento): M2(X) =∑

x2iP (xi)

• momento N: Mn(X) =∑

xni P (xi)

Momentos “centrales”

• varianza: σ2(X) =∑(xi −E{X})2P (xi)

• desviacion estandar: σ(x) =√σ2(x)

Variables Aleatorias de 2-Dimensiones

153

Page 159: Curso en pdf

Definicion: Dado un experimento E con espacio de muestreo S. Si X y Yson dos funciones que le asignan numeros reales a cada resultado posible,entonces (X, Y ) es una variable aleatoria bidimensional .

Dadas dos variables aleatorias (discretas), X, Y , deben satisfacer lo sigu-iente:

1. P (xi, yj) ≥ 0

2.∑

i

j P (xi, yj) = 1

Ejemplos: numero de artıculos terminados en dos lıneas de produccion,numero de pacientes con cancer y numero de fumadores, etc.

Probabilidad marginal

Es la probabilidad particular de una de las variables dada un variablealeatoria bidimensional, y se define como:

P (X) =∑

y P (xi, yj)

Probabilidad condicional

Dada la probabilidad conjunta y marginal, la probabilidad condicional sedefine como:

P (X | Y ) = P (X, Y )/P (Y )

Variables independientes

Dos variables aleatorias son independientes si su probabilidad conjuntaes igual al producto de las marginales, esto es:

P (xi, yj) = P (xi)P (yj), ∀(i.j)

Correlacion

El coeficiente de correlacion (ρ) denota el grado de linearidad entre dosvariables aleatorias y se define como:

ρxy = E{[X −E{X}][Y − E{Y }]}/σxσy

154

Page 160: Curso en pdf

La correlacion esta dentro del intervalo: ρ ∈ [−1, 1], donde un valor de 0indica no-correlacionadas, y un valor de -1 o 1 indica una relacion lineal.

• Independencia → no-correlacion (pero no viceversa).

Distribucion Binomial

Una distribucion binomial de la probabilidad de observar r eventos (e.g.,soles) de n muestras independientes con dos posibles resultados (e.g., tirarmonedas).

P (r) =n!

r!(n− r)!pr(1− p)(n−r)

El valor esperado es: E{x} = np

La varianza es: V ar(x) = np(1− p)

La desviacion estandar es: σx =√

np(1− p)

Si n es grande, se aproxima a una distribucion Normal

Distribucion Normal o Gaussiana

p(x) =1√2πσ2

e−12(x−µ

σ)2

El valor esperado es: E{x} = µ

La varianza es: V ar(x) = σ2

La desviacion estandar es: σx = σ

El Teorema Central del Lımite dice que la suma de un numero grandede variables aleatorias independientes identicamente distribuidas siguen unadistribucion Normal.

155

Page 161: Curso en pdf

8.2 Aprendizaje Bayesiano

Aprendizaje Bayesiano es importante por:

• ser practico

• provee un enfoque de comprension (y diseno) de otros algoritmos

Algunas caracterısticas:

• Cada nuevo ejemplo puede aumentar o disminuir la estimacion de unahipotesis (flexibilidad - incrementalidad)

• Conocimiento a priori se puede combinar con datos para determinarla probabilidad de las hipotesis

• Da resultados con probabilidades asociadas

• Puede clasificar combinando las predicciones de varias hipotesis

• Sirve de estandar de comparacion de otros algoritmos

Problemas:

• Se requieren conocer muchas probabilidades

• Es computacionalmente caro (depende linealmente del numero de hipotesis)

Lo que normalmente se quiere saber en aprendizaje es cual es la mejorhipotesis (mas probable) dados los datos.

Si denotamos P (D) como la probabilidad a priori de los datos (i.e., cualesdatos son mas probables que otros), P (D | h) la probabilidad de los datosdada una hipotesis, lo que queremos estimar es: P (h | D), la probabilidadposterior de h dados los datos. Esto lo podemos estimar con Bayes.

Teorema de Bayes:

P (h | D) =P (D | h)P (h)

P (D)

156

Page 162: Curso en pdf

Para estimar la hipotesis mas probable o MAP (maximum a posteriorihypothesis):

hMAP = argmaxh∈H (P (h | D))

= argmaxh∈H(P (D|h)P (h)

P (D)

)

= argmaxh∈H (P (D | h)P (h))

Ya que P (D) es una constante independiente de h.

Si asumimos que todas las hipotesis son igualmente probables, entoncesnos queda la hipotesis de maxima verosimilitud o ML (maximum likelihood):

hML = argmaxh∈H (P (D | h))

Ejemplo: Se tienen dos hipotesis, el paciente tiene un tipo de cancer o notiene cancer.

Sabemos que solo el 0.008% de la poblacion tiene ese tipo de cancer. Laprueba sobre cancer no es infalible, y nos da resultados positivos correctosen el 98% de los casos y nos da resultados negativos correctos en el 97% delos casos.

Esto es:P (cancer) = 0.008 y P (¬cancer) = 0.992P (⊕|cancer) = 0.98 y P (⊖|cancer) = 0.02P (⊕|¬cancer) = 0.03 y P (⊖|¬cancer) = 0.97

Si a un paciente le dieron un resultado positivo en la pruebra:

P (cancer|⊕) = P (cancer)P (⊕|cancer) = 0.008 ∗ 0.98 = 0.0078P (¬cancer|⊕) = P (¬cancer)P (⊕|¬cancer) = 0.992 ∗ 0.03 = 0.0298

Que al normalizar, nos da:P (cancer|⊕) = 0.21P (¬cancer|⊕) = 0.69

Por lo que sigue siendo mas probable que no tenga cancer.

157

Page 163: Curso en pdf

Una forma de implantar un algoritmo Bayesiano es calculando para to-das las posibles hipotesis su P (h | D) = P (D|h)P (h)

P (D)y quedandose con la de

mayor probabilidad. Obviamente esto es impractico cuando se tienen muchasposibles hipotesis.

Tambien para hacerlo, necesitamos especificar los valores para P (h) ypara P (D | h).

Si asumimos que no hay ruido y que todas las hipotesis son igualmenteprobables (i.e., P (h) = 1

|H|∀h ∈ H), P (D | h) = 1 sii D es consistente con h.Esto es:

P (h | D) =1

| V SH,D |donde, V SH,D es el subconjunto de hipotesis de H que es consistente con D(su espacio de versiones).

Por lo mismo, toda hipotesis consistente es una hipotesis MAP.

Lo que quiere decir, es que cualquier sistema de aprendizaje que nos dehipotesis consistentes, asumiendo que no hay ruido y que todas las hipotesisson igualmente probables, nos esta dando hipotesis MAP.

Si tenemos un sistema de aprendizaje de general a especıfico (o al reves)que busca especializaciones mas generales (o generalizaciones mas especıficas),lo podemos caracterizar asumiendo que las hipotesis mas generales (o es-pecıficas) son mas probables que las otras.

En general, podemos caracterizar varios algoritmos de aprendizaje con unenfoque Bayesiano, al caracterizar sus distribuciones de probabilidad P (h) yP (D | h).

Variables Continuas y Ruido

Los metodos mas usados para buscar funciones con variables continuasa partir de datos con cierto ruido, son regresiones lıneales, ajustes de poli-nomios y redes nueronales.

La idea es aprender funciones h : X → R lo mas cercanas a f , en dondelos datos estan descritos por: di = f(xi) + ei, donde f(xi) es la funcion sinruido y ei es una variable aleatoria representando el error.

158

Page 164: Curso en pdf

Asumimos que la distribucion de probabilidad de ei esta dada por unadistribucion Gaussiana (normal) con media cero.

De nuevo lo que queremos es encontrar la hipotesis mas probable:

hML = argmaxh∈H (p(D | h))

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 cadadato:

hML = argmaxh∈H

(m∏

i=1

p(di | h))

Como el ruido sigue una distribucion Gaussiana con media cero y vari-anza σ2, cada di debe de seguir la misma distribucion pero ahora centradaalrededor de f(xi).

hML = argmaxh∈H

(m∏

i=1

1√2πσ2

e−1

2σ2 (di−µ)2)

hML = argmaxh∈H

(m∏

i=1

1√2πσ2

e−1

2σ2 (di−h(xi))2)

Podemos maximizar tomando su logartimo (dado que es una funcionmonotonica creciente):

hML = argmaxh∈H

(m∑

i=1

ln(1√2πσ2

)− 1

2σ2(di − h(xi))

2

)

Eliminando el primer termino (que no depende de h):

hML = argmaxh∈H

(m∑

i=1

− 1

2σ2(di − h(xi))

2

)

Que es igual a minimizar lo mismo con el signo contrario. Al cambiarsigno y eliminar constantes que no dependen de h nos queda:

159

Page 165: Curso en pdf

hML = argminh∈H

(m∑

i=1

(di − h(xi))2

)

Lo que nos dice que la hipotesis de maxima verosimilitud es la que min-imiza la suma de los errores al cuadrado entre los datos observados (di) ylos datos predichos (h(xi)), siempre y cuando el error siga una distribucionNormal con media cero.

Todo esto asume que el error esta dado unicamente en el valor meta y noen los atributos que describen la meta.

Principio de Longitud de Descripcion Mınima

Como el proceso inductivo no es seguro se necesita alguna medida decalidad.

Normalmente se hace en base a evaluaciones con los ejemplos de entre-namiento y prueba.

Una alternativa es encontrar la hipotesis mas probable dados los datos.

El MDL esta motivado al interpretar la definicion de hMAP en base aconceptos de teorıa de informacion.

hMAP = argmaxh∈H (P (D | h)P (h))

= argmaxh∈H (log2(P (D | h)) + log2(P (h)))

= argminh∈H (−log2(P (D | h))− log2(P (h)))

Lo cual puede pensarse como el problema de disenar el mensaje de trans-mision de informacion mas compacto para transmitir la hipotesis y los datosdada la hipotesis.

MDL recomienda seleccionar la hipotesis que minimiza la suma de estasdos descripciones:

hMDL = argminh∈H (L(h) + L(D | h))

160

Page 166: Curso en pdf

Si lo queremos aplicar a un arbol de decision, tenemos que buscar unacodificacion para los arboles de decision y una para los ejemplos mal clasifi-cados junto con su clasificacion.

Esto permite establecer un balance entre complejidad de la hipotesis(L(h)) y numero de errores o calidad de la hipotesis (L(D | h)).

La idea es detectar regularidades en los datos para que el codigo de trans-mision de la hipotesis con los datos sea menor que el de los datos solos.

Clasificador Bayesiano Optimo

En lugar de preguntarnos cual es la hipotesis mas probable, podemospreguntar, cual es la clasificacion mas probable para un ejemplo.

La clasificacion mas probable se puede obtener combinando las clasifica-ciones de todas las hipotesis aplicables pesadas por su probabilidad.

Si la clasificacion puede tomar un valor vj :

P (vj | D) =∑

hi∈HP (vj | hi)P (hi | D)

Y la clasificacion optima sera:

argmaxvj∈V

hi∈HP (vj | hi)P (hi | D)

Ejemplo:

Supongamos que tenemos dos clases 3 hipotesis (h1, h2, h3) y que susprobabilidades dados los datos son (0.4, 0.3, 0.3) respectivamente. Si se tieneun nuevo ejemplo x que se clasifica como positivo por h1 pero negativo por h2

y h3, su clasificacion por la hipotesis MAP serıa positivo, pero considerandotodas las hipotesis serıa negativo.

P (h1|D) = 0.4, P (⊖|h1) = 0, P (⊕|h1) = 1P (h2|D) = 0.3, P (⊖|h2) = 1, P (⊕|h2) = 0P (h3|D) = 0.3, P (⊖|h3) = 1, P (⊕|h3) = 0

161

Page 167: Curso en pdf

hi∈HP (⊕ | hi)P (hi | D) = 0.4

hi∈HP (⊖ | hi)P (hi | D) = 0.6

argmaxvj∈{⊕,⊖}

hi∈HP (vj | hi)P (hi | D)

= ⊖

Aplicar el clasificador Bayesiano optimo puede ser muy costoso.

Una posibilidad es seleccionar una hipotesis (h) aleatoriamente de acuerdocon la distribucion de probabilidad de las probabilidades posteriores de H , yusar h para predecir (Gibbs).

Se puede mostrar que el error esperado es a lo mas el doble del erroresperado del clasificador Bayesiano optimo.

8.3 Clasificador Bayesiano naive

Se utiliza cuando queremos clasificar una instancia descrita por un conjuntode atributos (ai’s) en un conjunto finito de clases (V ).

Clasificar un nuevo ejemplo de acuerdo con el valor mas probable dadoslos valores de sus atributos.

vMAP = argmaxvj∈V (P (vj | a1, . . . , an))

Usando Bayes:

vMAP = argmaxvj∈V(P (a1,...,an|vj)P (vj)

P (a1,...,an)

)

= argmaxvj∈V (P (a1, . . . , an | vj)P (vj))

162

Page 168: Curso en pdf

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, tambienllamado a veces idiot Bayes , asume que los valores de los atributos son condi-cionalmente independientes dado el valor de la clase.

Osea: P (a1, . . . , an | vj) =∏

i P (ai | vj)

Por lo que:

vNB = argmaxvj∈V

(

P (vj)∏

i

P (ai | vj))

Los valores P (ai | vj) se estiman con la frecuencia de los datos observados.

Nota: no se hace busqueda de hipotesis, simplemente se cuentan frecuen-cias de ocurrencias.

Ejemplo:

Si tomamos el ejemplo de la tabla 2.2 (de jugar golf), supongamos quetenemos el siguiente ejemplo que lo queremos clasificar con un naive Bayes :

Ambiente=soleado, Temperatura=baja, Humedad=alta, Viento=si

vNB = argmaxvj∈{P,N}P (vj) (P (Ambiente = soleado | vj)P (Temperature = baja | vj)P (Humedad = alta | vj)P (V iento = si | vj))

P (Clase = P ) = 9/14P (Clase = N) = 6/14P (V iento = si | P ) = 3/9 = 0.33P (V iento = si | N) = 3/5 = 0.60

P (P )P (soleado | P )P (baja | P )P (alta | P )P (si | P ) = 0.0053P (N)P (soleado | N)P (baja | N)P (alta | N)P (si | N) = 0.0206

Que normalizando nos da: 0.02060.0206+0.0053

= 0.795.

163

Page 169: Curso en pdf

Estimacion de Probabilidades

Hasta ahora hemos asumido que la probabilidad de un evento se puedeestimar por su frecuencia (nc

n).

A pesar de ser una buena aproximacion, da estimaciones malas cuandotenemos pocos ejemplos.

Una alternativa es utilizar la estimacion m (m-estimate):

nc +m ∗ pn+m

donde p es una estimacion a priori de lo que queremos estimar y m es unaconstante llamada “tamano de muestra equivalente” (equivalent sample size).

Una valor tıpico para p es asumir que se tiene una distribucion uniforme,por lo que: p = 1

kcuando existen k posibles valores.

m tambien se usa como estimador de ruido.

Ejemplo

Podemos usar un clasificador Bayesiano naive para aprender a clasificartextos de acuerdo a las preferencias de un usuario.

Suponemos que los ejemplos son documentos en texto asociados con unaclase (e.g., me interesa y no me interesa, o polıtica, deportes, espectaculos,sociales, etc.). Suponiendo que las palabras son idependientes entre sı y desu posicion en el texto (lo cual no es cierto, pero de todos modos se tienenbuenos resultados):

Vocabulario = todas las palabras distintivas (eliminando palabras muy co-munes y poco distintivas como artıculos, puntuaciones, etc.)

Para cada clase:doc(clase) = subconjunto de textos de esa clase

P (clase) = |doc(clase)|Ejemplos

Texto = concatenacion de todos los textos en doc(clase)n = numero de palabras distintas en TextoPara cada palabra (w) en Vocabulario:

164

Page 170: Curso en pdf

nk = numero de veces que aparece la palabra w en TextoP (w|clase) = nk+1

n+|V ocabulario|(se calcula la probabilidad considerando el estimador m, nc+mp

n+m

con probabilidad uniforme en las clases (Laplace) y m = |V ocabulario|

Para clasificar un nuevo documento (considerando solo las palabras en elnuevo documento que teniamos en Vocabulario):

vNB = argmaxvj∈V

(

P (vj)∏

i

P (ai | vj))

8.4 Aprendizaje en Redes Bayesianas

Introduccion

Las redes bayesianas o probabilısticas son una representacion grafica dedependencias para razonamiento probabilıstico en sistemas expertos, en lacual los nodos y arcos representan:

• Nodo: Variable proposicional.

• Arcos: Dependencia probabilıstica.

Definicion:

Una red probabilıstica (RP) es un grafo acıclico dirigido (DAG) en lacual cada nodo representa una variable y cada arco una dependencia proba-bilıstica, en la cual se especifica la probabilidad condicional de cada variabledados sus padres.

La variable a la que apunta el arco es dependiente (causa–efecto) de laque esta en el origen de este.

Podemos interpretar a una RP de dos formas:

1. Distribucion de probabilidad: Representa la distribucion de la proba-bilidad conjunta de las variables representadas en la red. Por ejemplo:

165

Page 171: Curso en pdf

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 asocianlas variables involucradas, Por ejemplo:

Si C, D entonces F

Dichas reglas estan cuantificadas por las probabilidades respectivas.

La topologıa o estructura de la red nos da informacion sobre las depen-dencias probabilısticas entre las variables.

La red tambien representa las independencias condicionales de una vari-able (o conjunto de variables) dada(s) otra(s) variable(s).

Ej.: {E} es cond. indep. de {A,C,D,F,G} dado {B}

Esto es: P (E|A,C,D, F,G,B) = P (E|B)

Esto se representa graficamente por el nodo B separando al nodo E delresto de las variables.

En general, el conjunto de variables A es independiente del conjunto Bdado C si al remover C hace que A y B se desconecten . Es decir, NOexiste una trayectoria entre A y B en que las siguientes condiciones seanverdaderas.

1. Todos los nodos con flechas convergentes estan o tiene descendientesen C.

2. Todos los demas nodos estan fuera de C.

Esto se conoce como Separacion–D.

En una RP todas la relaciones de independencia condicional representadasen el grafo corresponden a relaciones de independencia en la distribucion deprobabilidad.

Dichas independencias simplifican la representacion del conocimiento (menosparametros) y el razonamiento (propagacion de las probabilidades).

166

Page 172: Curso en pdf

Propagacion de Probabilidades

El razonamiento probabilıstico o propagacion de probabilidades consisteen propagar la evidencia a traves de la red para conocer la probabilidada posteriori de las variables. La propagacion consiste en darle valores aciertas variables (evidencia), y obtener la probabilidad posterior de las demasvariables dadas las variables conocidas (instanciadas)

Los algoritmos de propagacion dependen de la estructura de la red:

• Arboles

• Poliarboles

• Redes multiconectadas

No vamos a ver los procesos de propagacion de probabilidad en redesbayesianas. Para arboles y poli–arboles la derivacion resulta en una formarecursiva que se puede implantar mediante un esquema de paso de mensajes(se propaga evidencia). Para redes multi–conectadas se han propuesto difer-entes esquemas basados en condicionamiento, simulacion y agrupamiento.

8.4.1 Redes Bayesianas en Minerıa de Datos

Las redes bayesianas son una alternativa para minerıa de datos, la cual tienevarias ventajas:

• Permiten aprender sobre relaciones de dependencia y causalidad.

• Permiten combinar conocimiento con datos.

• Evitan el sobre-ajuste de los datos.

• Pueden manejar bases de datos incompletos.

El obtener una red bayesiana a partir de datos es un proceso de apren-dizaje,el cual se divide, naturalmente, en dos aspectos:

167

Page 173: Curso en pdf

1. Aprendizaje parametrico: 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.

Las tecnicas de aprendizaje estructural dependen del tipo de estructura dered: arboles, poliarboles y redes multicomectadas. Otra alternativa es com-binar conocimiento subjetivo del experto con aprendizaje. Para ello se partede la estructura dada por el experto, la cual se valida y mejora utilizandodatos estadısticos.

Aprendizaje Parametrico

El aprendizaje parametrico consiste en encontrar los parametros asociadosa una estructra dada de una red bayesiana. Dichos parametros consisten enlas probabilidades a priori de los nodos raız y las probabilidades condicionalesde las demas variables, dados sus padres.

Si se conocen todas las variables, es facil obtener las probabilidades re-queridas. Las probabilidades previas corresponden a las marginales de losnodos raız, y las condicionales se obtienen de las conjuntas de cada nodo consu(s) padre(s).

Para que se actualizen las probabilidades con cada caso observado, estasse pueden representar como razones enteras, y actualizarse con cada obser-vacion. En el caso de un arbol, las formulas para modificar las probabilidadescorrespondientes son:

Probabilidades previas

P (Ai) = (ai + 1)/(s+ 1)

i = kP (Ai) = ai/(s+ 1)

i 6= k

Probabilidades condicionales

P (Bj | Ai) = (bj + 1)/(ai + 1)

168

Page 174: Curso en pdf

i = k y j = lP (Bj | Ai) = bj/(ai + 1)

i = k y j 6= lP (Bj | Ai) = bj/ai

i 6= k

Donde s corresponde al numero de casos totales, i, j los ındices de lasvariables, k, l los ındices de las variables observadas.

Aprendizaje Estructural

Naıve Bayes

Como vimos antes, el clasificar Bayesiano Naive (CBN) asume indepen-dencia entre los atributos dada la clase y su estructura ya esta dada, porlo que solo se tienen que aprender las probabilidades de los valores de losatributos dada la clase.

Una forma de mejorar la estructura de un CBN es anadiendo entre losnodos o atributos que tengan cierta dependencia. Existen dos estructurasbasicas:

• TAN: clasificador bayesiano simple aumentado con un arbol.

• BAN: clasificador bayesiano simple aumentado con una red.

Otra forma es realizando operaciones locales hasta que no mejore laprediccion:

1. eliminar un atributo,

2. unir dos atributos en una nueva variable combinada,

3. introducir un nuevo atributo que haga que dos atributos dependientessean independientes (nodo oculto).

Se pueden ir probando cada una de las opciones anteriores midiendo ladependencia de los atributos dada la clase:

I(Xi, Xj | C) =∑

Xi,Xj

P (Xi, Xj | C)log(P (Xi, Xj | C)/P (Xi | C)P (Xj | C))

169

Page 175: Curso en pdf

En base a lo anterior puede integrarse el siguiente algoritmo.Algoritmo de Mejora Estructural:

1. Obtener la informacion mutua condicional (IMC) entre cada par deatributos.

2. Seleccionar el par de atributos de IMC mayor.

3. Probar las 3 operaciones basicas (i) eliminacion, (ii) union, (iii) in-sercion.

4. Evaluar las 3 estructuras alternativas y la original, y quedarse con la“mejor” opcion.

5. Repetir 2–4 hasta que ya no mejore el clasificador.

Para evaluar las estructuras resultantes se pueden usar datos de pruebao una medida basada en MDL.

Arboles

El metodo para aprendizaje estructural de arboles se basa en el algo-ritmo desarrollado por Chow y Liu (68) para aproximar una distribucion deprobabilidad por un producto de probabilidades de segundo orden, lo quecorresponde a un arbol. La probabilidad conjunta de n variables se puederepresentar (aproximar) como:

P (X1, X2, . . . , Xn) =n∏

i=1

P (Xi)P (Xi | Xj(i)))

donde Xj(i) es la causa o padre de Xi.

Se plantea el problema como uno de optimizacion y lo que se desea esobtener la estructura en forma de arbol que mas se aproxime a la distribucion“real”. Para ello se utiliza una medida de la diferencia de informacion entrela distribucion real (P ) y la aproximada (P ∗):

I(P, P ∗) =∑

x

P (X)log(P (X)/P ∗(X))

170

Page 176: Curso en pdf

Entonces el objetivo es minimizar I. Para ello se puede definir dichadiferencia en funcion de la informacion mutua entre pares de variables, quese define como:

I(Xi, Xj) =∑

x

P (Xi, Xj)log(P (Xi, Xj)/P (Xi)P (Xj))

Se puede demostrar (Chow 68) que la diferencia de informacion es unafuncion del negativo de la suma de las informaciones mutuas (pesos) de todoslos pares de variables que consituyen el arbol. Por lo que encontrar el arbolmas proximo equivale a encontrar el arbol con mayor peso. Basado en loanterior, el algoritmo para determinar arbol Bayesiano optimo a partir dedatos es el siguiente:

1. Calcular la informacion mutua entre todos los pares de variables (n(n−1)/2).

2. Ordenar las informaciones mutuas de mayor a menor.

3. Seleccionar la rama de mayor valor como arbol inicial.

4. Agregar la siguiente rama mientras no forme un ciclo, si es ası, desechar.

5. Repetir (4) hasta que se cubran todas las variables (n− 1 ramas).

El algoritmo NO provee la direccionalidad de los arcos, por lo que esta sepuede asignar en forma arbitraria o utilizando semantica externa (experto).

Por ejemplo, para el ejemplo de la tabla 2.2 para jugar golf nos queda latabla 8.1.

Poliarboles

Rebane y Pearl [89] extendieron el algoritmo de Chow y Liu para poliarboles.Para ello parten del esqueleto (estructura sin direcciones) obtenido con el al-goritmo anterior y determinan las direccion de los arcos utilizando pruebasde dependencia entre tripletas de variables.

171

Page 177: Curso en pdf

Tabla 8.1: Informacion mutua entre pares de variables para el ejemplo delgolf.

No. Var 1 Var 2 Info. mutua1 temp. ambiente .28562 juega ambiente .07433 juega humedad .04564 juega viento .00745 humedad ambiente .00606 viento temp. .00527 viento ambiente .00178 juega temp. .00039 humedad temp. 010 viento humedad 0

De esta forma se obtiene una red bayesiana en forma de poliarbol. En elcaso de un poliarbol, la probabilidad conjunta es:

P (X) =n∏

i=1

P (Xi | Xj1(i), Xj2(i), ..., Xjm(i))

donde {Xj1(i), Xj2(i), ..., Xjm(i)} es el conjunto de padres de la variable Xi.

El algoritmo de Rebane y Pearl se basa en probar las relaciones de de-pendencia entre todas las tripletas de variables en el esqueleto. Dadas 3variables, existen 3 casos posibles:

• Arcos divergentes: X ← Y → Z.

• Arcos secuenciales: X → Y → Z.

• Arcos convergentes: X → Y ← Z.

Los primeros dos casos son indistinguibles, pero el tercero es diferente, yaque las dos variables “padre” son marginalemente independientes. Entoncesel algoritmo consiste en:

172

Page 178: Curso en pdf

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-.

3. A partir de un nodo multipadre determinar las direcciones de los arcosutilizando la prueba de tripletas hasta donde sea posible (base causal).

4. Repetir 2-3 hasta que ya no se puedan descubrir mas direcciones.

5. Si quedan arcos sin direccionar utilizar semantica externa para obtenersu direccion.

El algoritmo esta restringido a poliarboles y no garantiza obtener todaslas direcciones. Desde el punto de vista practico, un problema es que gen-eralmente no se obtiene independencia absoluta (informacion mutua cero),por lo que habrıa que considerar una cota empırica.

Redes Generales

Existen dos clases de metodos para el aprendizaje generico de redesbayesianas, que incluyen redes multiconectadas. Estos son:

1. Metodos basados en medidas de ajuste y busqueda.

2. Metodos basados en pruebas de independencia.

Dentro de los metodos basados en ajsute y busqueda, se generan diferentesestructuras y se evaluan respecto a los datos utilizando alguna medida deajuste. Estos metodos tienen dos aspectos principales:

1. Una medida para evaluar que tan buena es cada estructura respecto alos datos.

2. Un metodo de busqueda que genere diferentes estructuras hasta encon-trar la optima, de acuerdo a la medida seleccionada.

Existen varias medidas pero dos son las mas utilizadas:

173

Page 179: Curso en pdf

• Medida bayesiana: estima la probabilidad de la estrutura dado los datosla cual se trata de maximizar. La medida bayesiana busca maximizarla probabilidad de la estructura dados los datos, esto es:

P (Es | D)

Donde Es es la estructura y D son los datos. La cual podemos escribiren terminos relativos al comparar dos estructuras, i y j como:

P (Esi | D)/P (Esj | D) = P (Esi, D)/P (Esj, D)

Considerando variables discretas y que los datos son independientes, lasestructuras se pueden comparar en funcion del numero de ocurrencias(frecuencia) de los datos predichos por cada estructura.

• Longitud de descripcion mınima (MDL): estima la longitud (tamanoen bits) requerida para representar la probabilidad conjunta con ciertaestructura, la cual se compone de dos partes:

1. Representacion de la estructura,

2. Representacion del error de la estructura respecto a los datos.

La medida MDL hace un compromiso entre la exactitud y la compleji-dad del modelo. La exactitud se estima midiendo la informacion mutuaentre los atributos y la clase; y la complejidad contando el numero deparametros.

Una constante, α, en [0, 1], se utiliza para balancear el peso de cadaaspecto, exactitud contra complejidad. Ası, la medida de calidad estadada por:

MC = α(W/Wmax) + (1− α)(1− L/Lmax)

Donde W representa la exactitud del modelo y L la complejidad, mien-tras que Wmax y Lmax representan la maxima exactitud y compleji-dad, respectivamente.

Para determinar estos maximoa normalmente se considera una lim-itacion en cuanto al numero de padres maximo permitido por nodo.

174

Page 180: Curso en pdf

La complejidad esta dada por el numero de parametros requeridospara representar el modelo, la cual se puede calcular con la siguienteecuacion:

L = Si[kilog2n+ d(Si − 1)Fi]

Donde, n es el numero de nodos, k es el numero de padres por nodo, Si

es el numero de valores promedio por variable, Fi el numero de valorespromedio de los padres, y d el numero de bits por parametro.

La exactitud se puede estimar en base al “peso” de cada nodo, en formaanaloga a los pesos en el metodo de aprendizaje de arboles. En estecaso el peso de cada nodo se estima en base a la informacion mutuacon sus padres:

w(xi, Fxi) =∑

xi

P (xi, Fxi)log[P (xi, Fxi)/P (xi)P (Fxi)]

Y el peso (exactitud) total esta dado por la suma de los pesos de cadanodo:

W =∑

i

w(xi, Fxi)

Para utilizar la medida MDL se puede hacer un hill-climbing iniciandocon una estructura simple (por ejemplo un arbol construido con Chow-Liu)y agregando las ligas que mejoren la medida MDL hasta alcanzar un mınimolocal.

Algoritmo - busqueda de la mejor estructura:

1. Generar estructura incial - arbol.

2. Calcular medida de calidad de la estructura inicial.

3. Agregar / invertir un arco en la estructura actual.

4. Calcular medida de calidad de nueva estructura.

5. Si se mejor la calidad conservar el cambio, si no dejar estructura ante-rior.

6. Repetir 3 a 5 hasta que ya no haya mejoras.

175

Page 181: Curso en pdf

Otra posibilidad es empezar con una estructura compleja y eliminar ligasque reduzcan la medida MDL hasta llegar a un mınimo local.

Una ultima posibilidad es combinar los dos enfoques.

A diferencia del enfoque basado en una medida global, el enfoque basadoen pruebas de independiencia usa medidas de dependencia local entre sub-conjuntos de variables.

El caso mas sencillo es el del algoritmo de Chow y Liu, en el cual se midela informacion mutua entre pares de variables. A partir de estas medidas,como se vio previamente, se genera una red bayesiana en forma de arbol.Analizando dependencias entre tripletas de variables, el metodo se extiendea poliarboles.

Este enfoque se puede generalizar para el aprendizaje de redes multi-conectadas, haciendo pruebas de dependencia entre subconjunto de variables,normalmente dos o tres variables. Por ejemplo, se puede continuar el metodode Chow y Liu agregando mas arcos aunque se formen ciclos, hasta un cierteumbral mınimo de informacion mutua.

La desventaja es que pueden generarse muchos arcos “innecesarios”, por loque se incorporan formas de luego eliminar arcos. Hay diferentes variantes deeste enfoque que consideran diferentes medidas de dependencia y diferentesetrategias para eliminar arcos innecesarios.

176

Page 182: Curso en pdf

Capıtulo 9

Aprendizaje Basado enInstancias

En este tipo de aprendizaje, se almacenan los ejemplos de entrenamientoy cuando se quiere clasificar un nuevo objeto, se extraen los objetos masparecidos y se usa su clasificacion para clasificar al nuevo objeto.

Contrario a los otros esquemas vistos, el proceso de aprendizaje es trivialy el de clasificacion es el que consume el mayor tiempo.

Este tipo de aprendizaje tambien se conoce como lazy learning o memory-based learning donde los datos de entrenamiento se procesan solo hasta quese requiere (cuando se requiere constestar alguna pregunta), y la relevanciade los datos se mide en funcion de una medida de distancia.

9.1 Vecinos mas cercanos

El algoritmo de k-NN (k-nearest neighbours) es el mas simple.

El algoritmo es robusto con ejemplos que tienen ruido.

Los vecinos mas cercanos a una instancia se obtienen, en caso de atributoscontinuos, utilizando la distancia Euclideana sobre los n posibles atributos

177

Page 183: Curso en pdf

Tabla 9.1: El algoritmo de los k vecinos mas cercanos.

Entrenamiento:almacena todos los ejemplos de entrenamiento (x, f(x))

Clasificacion:Dada una instancia xq:

Sean x1, . . . , xk los k vecinos mas cercanos a xq.Entonces:

f(xq) = argmaxv∈Vk∑

i=1

δ(v, f(xi))

donde: δ(a, b) = 1 si a = b y 0 en caso contrario.

(luego veremos otro tipo de distancias):

d(xi, xj) =

√√√√

n∑

r=1

(ar(xi)− ar(xj))2

El resultado de la clasificacion de k-NN puede ser discreto o continuo.

En el caso discreto, el resultado de la clasificacion es la clase mas comunde los k-vecinos (ver tabla 9.1).

La forma que se genera con k = 1 es un diagrama de Voronoi alrededor delas instancias almacenadas. A una nueva instancia se le asigna la clasificaciondel vecino mas cercano.

Para clasificaciones continuas, se puede tomar la media de las clasifica-ciones.

f(xq) =

∑ki=1 f(xi)

k

Un extension obvia al algoritmo es pesar las clasificaciones de los vecinosde acuerdo a su distancia con el objeto a clasificar (la clasificacion de vecinos

178

Page 184: Curso en pdf

mas cercanos tienen mas peso). Promedio ponderado (weigthed average)promedia la salida de los puntos pesados inversamente por su distancia.

Para clases discretas:

f(xq) = argmaxv∈Vk∑

i=1

wiδ(v, f(xi))

donde: wi =1

d(xq ,xi)2(si la distancia es 0 entonces w = 0).

Para clase continuas:

f(xq) =

∑ki=1wif(xi)∑k

i=1wi

Una suposicion es que los vecinos mas cercanos nos dan la mejor clasifi-cacion y esto se hace utilizando todos los atributos.

El problema es que es posible que se tengan muchos atributos irrelevantesque dominen sobre la clasificacion (e.g., 2 atributos relevantes dentro de 20irrelevantes no pintan).

Una posibilidad es pesar las distancias de cada atributo, dandole maspeso a los atributos mas relevantes.

Otra posibilidad es tratar de determinar estos pesos con ejemplos cono-cidos de entrenamiento. Alterando los pesos para minimizar el error.

Finalmente, tambien se pueden eliminar los atributos que se consideranirrelevantes.

Un elemento practico adicional, tiene que ver con el almacenamientode los ejemplos. En este caso se han sugerido representaciones basadas enarboles (kd-trees) donde las instancias estan distribuidas en base a su cerca-nia.

179

Page 185: Curso en pdf

9.2 Regresion pesada local

Locally weigthed regression es una generalizacion que construye una funcionque ajusta los datos de entrenamiento que estan en la vecindad de xq.

Se pueden usar funciones lineales, cuadraticas, redes neuronales, etc. Siutilizamos una funcion lineal:

f(x) = w0 + w1a1(x) + . . .+ wnan(x)

Podemos usar gradiente descendiente para ajustar los pesos que mini-mizan el error.

El error lo podemos expresar por diferencias de error al cuadrado de lasiguiente forma:

E(W ) =1

2

x∈D(f(x)− f(x))2

Lo que queremos es determinar el vector de pesos que minimice el errorE. Esto se logra alterando los pesos en la direccion que produce el maximodescenso en la superficie del error.

La direccion de cambio se obtiene mediante el gradiente. El gradientenos especifica la direccion que produce el maximo incremento, por lo que elmayor descenso es el negativo de la direccion.

La regla de actualizacion de pesos es entonces:

W ← W +∆W

∆W = −α∇E

donde α es el factor de aprendizaje (que tanto le creemos al error para ajustarnuestos pesos).

∂E∂wi

= ∂∂wi

12

x∈D(f(x)− f(x))2

=∑

x∈D(f(x)− f(x)) ∂∂wi

(f(x)− ~w · ~ax)=∑

x∈D(f(x)− f(x))(−ai,x)

180

Page 186: Curso en pdf

Por lo que:∆wi = α

x∈D(f(x)− f(x))(−ai,x)

Para modificar los pesos se puede hacer:

1. Minimizar el error cuadrado usando los k vecinos mas cercanos.

E(W ) =1

2

x∈k vecinas mas cercanos(f(x)− f(x))2

2. Minimizar el error cuadrado usando todos los ejemplos pesados por sudistancia a xq.

E(W ) =1

2

x∈D(f(x)− f(x))2K(d(xq, x))

3. Minimizar el error cuadrado usando los k vecinos mas cercanos pesadospor su distancia a xq.

E(W ) =1

2

x∈k vecinas mas cercanos

(f(x)− f(x))2K(d(xq, x))

Para el ultimo caso, la regla de actualizacion es entonces:

∆wi = α∑

x∈k vecinas mas cercanosK(d(xq, x))(f(x)− f(x))(−ai,x)

9.3 Funciones de Distancia

Las funciones de distancia las podemos clasificar en:

• Funciones globales: se usa la misma funcion de distancia en todo elespacio.

181

Page 187: Curso en pdf

• Funciones basadas en el query. Los parametros de la funcion de dis-tancia se ajustan con cada query, tıpicamente minimizando el error convalidacion cruzada.

• Funciones basadas en puntos. Cada dato tiene asopciado su propiafuncion de distancia

El cambiar/ajustar la funcion de distancia puede mejorar las predicciones.

Las funciones de distancia tıpicas para datos continuos son:

• Euclideana

dE(x,q) =√∑

j

(xj − qj)2 =√

(x− q)T (x− q)

• Euclideana pesada diagonalmente

dm(x,q) =√∑

j

(mj(xj − qj)2) =√

(x− q)TMTM(x− q) = dE(Mx,Mq)

donde mj es el factor de escala en la dimension j y M es una matrizdiagonal con Mjj = mj .

• Euclideana completa o Mahalanobis

dM(x,q) =√

(x− q)TMTM(x− q) = dE(Mx,Mq)

donde M puede ser arbitraria.

• Normal o Minkowski

dp(x,q) = (∑

i

|xi − qi)|p)1p

• Normal pesada diagonal o completa. Igual que la Minkowski pero in-cluyendo pesos.

182

Page 188: Curso en pdf

Matrices (M) diagonales hacen escalas radiales simetricas. Se puedencrear elipses con orientaciones arbitrarias incluyendo otras elementos fuerade la diagonal.

Tambien se puede incluir un rango o escala en donde aplicar la funcionde generalizacion. Algunas opciones son:

• Seleccion de ancho de banda fijo. h es un valor constante, por lo quese usan valores constantes de datos y forma.

• Seleccion de los vecinos mas cervanos. h se pone como la distancia alos k vecinos mas cercanos y el volumen de datos cambia de acuerdo ala densidad de los datos mas cercanos.

• Seleccion de banda global. h se ajusta globalmente por un proceso deoptimizacion.

• Basado en el query. h se selecciona de acuerdo al query siguiendo unproceso de optimizacion.

• Basada en puntos. Cada dato tiene asociado su propia h.

9.4 Funciones de pesos o Kernels

Las funciones de peso deben de ser maximas a distancia cero y decaer suave-mente con la distancia.

No es necesario normalizar el kernel, tampoco tiene que ser unimodal, ytiene que ser positivo siempre.

Algunos ejemplos son:

• Elevar la distancia a una potencia negativa

K(d) =1

dp

183

Page 189: Curso en pdf

• Para evitar infinitos (inverse distance):

K(d) =1

1 + dp

• Uno de los mas populares, es el kernel Gaussiano:

K(d) = exp(−d2)

• Uno relacionado es el exponencial:

K(d) = exp(−|d|)Los dos ultimos tienen una extension infinita que se puede truncardespues de un cierto umbral.

• Kernel cuadratico o Epanechnikov o Bartlett-Priestley:

K(d) =

{

(1− d2) si |d| < 10 de otra forma

el cual ignora datos mas alejados que 1 unidad.

• El kernel tricube:

K(d) =

{

(1− |d|3)3 si |d| < 10 de otra forma

• Kernel de uniform weighting :

K(d) =

{

1 si |d| < 10 de otra forma

• Kernel triangular:

K(d) =

{

1− |d| si |d| < 10 de otra forma

• Variante del triangular:

K(d) =

{1−|d||d| si |d| < 1

0 de otra forma

Se pueden crear nuevos kernels. Segun los autores la definicion del kernelno es tan crıtica.

184

Page 190: Curso en pdf

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 seleccion devariables.

La eficiencia de LWR depende de cuantos datos se tengan. Se puede usaruna representacion de kd-trees para accesar datos cercanos mas rapidamente.

En general, LWR es mas caro que vecinos mas cercanos y promediospesados.

Por otro lado, cualquier representacion se puede usar para construir elmodelo local (e.g., arboles de decision, reglas, redes neuronales, etc.).

Una forma sencilla de hacerlo, es tomar los vecinos mas cercanos y entre-nar un modelo/clasificador con ellos.

Lo que se requiere para implantar un LWR es:

• Una funcion de distancia. Aquı la suposicion mas grande de LWR esque datos mas cercanos son los mas relevantes. La funcion de distanciano tiene que cumplir con los requerimientos de una metrica de distancia.

• Criterio de separabilidad. Se calcula un peso para cada punto dado porel kernel aplicado a la funcion de distancia. Este criterio es aparte dela funcion de prediccion (C =

i[L(yi, yi)K(d(xi,q))]

• Suficientes datos para construir los modelos

• Datos con salida yi.

• Representacion adecuada.

Algunas posibles direcciones futuras de investigacion incluyen:

• Combinar datos continuos y discretos

• Mejores formas de sintonizacion de parametros

185

Page 191: Curso en pdf

• Sintonizacion local a multiples escalas

• Usar gradientes para sintonizar parametros

• Definir cuanta validacion cruzada es suficiente

• Usar metodos probabilısticos

• Olvidar datos

• Mejorar aspectos computacionales con muchos datos

• No hacer el aprendizaje completamente lazy

9.6 Funciones de bases radiales

Radial basis functions (RBF) utilizan una combinacion de funciones Kernelque decrecen con la distancia (corresponderıa aK(d(xq, x)) en las expresionesde arriba).

f(x) = w0 +k∑

u=1

wuKu(d(xu, x))

Para cada instancia xu existe una funcion Kernel que decrece con la dis-tancia a xu.

Lo mas comun es escoger funciones normales o Gaussianas para las Ks.

Ku(d(xu, x)) =1√2πσ2

e−1

2σ2 d2(xu,x)

La funcion f(x) consiste basicamente de dos elementos: uno que calculalas funciones Kernel y otro los pesos de estas.

Estas se pueden aprender dentro de una red neuronal de dos capas (verfigure 9.1).

186

Page 192: Curso en pdf

1

0w

2w kw

na (x)a (x)2a (x)1

1w

Figura 9.1: Una red de funciones bases radiales.

El entrenamiento se lleva en dos pasos. Se buscan las xu y σ para cadafuncion y despues de buscan los pesos para las funciones minimizando el errorglobal.

Posibilidades:

1. Centrar cada funcion en cada punto y a todas darles la misma desviacionestandar.

2. Seleccionar un numero limitado de funciones distribuidas uniforme-mente en el espacio de instancias.

3. Seleccionar funciones no distribuirlas uniformemente (sobretodo si lasinstancias no estan distribuidas uniformemente).

• Se puede hacer un muestreo sobre las instancias o tratar de inden-tificar prototıpos (posiblemente con un algoritmo de clustering).

• Se puede utilizar EM para escoger k medias de las distribucionesGaussianas que mejor se ajusten a los datos.

En el caso de RBF, se realiza un aprendizaje previo con las instanciasde entrenamiento (como en los sistemas de aprendizaje que se han visto) yluego se trata de clasificar a las nuevas instancias.

187

Page 193: Curso en pdf

9.7 Razonamiento Basado en Casos

Una alternativa para aprendizaje basado en instancias, es utilizar una repre-sentacion simbolica mucho mas rica para representar cada instancia.

Un Razonador Basado en Casos resuelve problemas nuevos mediante laadaptacion de soluciones previas usadas para resolver problemas similares.

Las instancias o casos tienen normalmente representado el problema quesolucionan, una descripcion de como lo solucionaron, y el resultado obtenido.

Obviamente, las medidas de distancia se vuelven mas complejas.

Las combinaciones de las instancias tambien se complica y generalmenteinvolucra conocimiento del dominio y mecanismos de busqueda y razon-amiento sofisticados.

188

Page 194: Curso en pdf

Capıtulo 10

Clustering

Clustering es el proceso de agrupar datos en clases o clusters de tal formaque los objetos de un cluster tengan una similaridad alta entre ellos, y baja(sean muy diferentes) con objetos de otros clusters.

La medida de similaridad esta basada en los atributos que describen a losobjetos.

Los grupos pueden ser exclusivos, con traslapes, probabilısticos, jerarquicos.

Clustering puede ser aplicado, por ejemplo, para caracterizar clientes,formar taxonomıas, clasificar documentos, etc.

Retos:

• Escalabilidad: normalmente corren con pocos datos.

• Capacidad de manejar diferentes tipos de atributos: numericos (lo mascomun), binarios, nominales, ordinales, etc.

• Clusters de formas arbitrarias: lo basados en distancias numericas tien-den a encontrar cluster esfericos.

• Requerimientos mınimos para especificar parametros, como el numerode clusters.

189

Page 195: Curso en pdf

• Manejo de ruido: muchos son sensibles a datos erroneos.

• Independiendentes del orden de los datos.

• Poder funcionar eficientemente con alta dimensionalidad.

• Capacidad de anadir restricciones.

• Que los clusters interpretables y utilizables.

La medida de similaridad se define usualmente por proximidad en unespacio multidimensional.

Para datos numericos, usualmente se pasa primero por un proceso deestandarizacion.

La medida z (z-score) elimina las unidades de los datos:

Zif =xif − µf

σf

donde, σf es la desviacion media absoluta de la variable f , µf es su media yxif es el i-esimo valor de f .

σf =1

n(|x1f − µf |+ |x2f − µf |+ . . .+ |xnf − µf |)

µf =1

n(x1f + x2f + . . .+ xnf )

Medidas de similaridad

Las medidas mas utilizadas son:

1. Para variables numericas (lineales):

190

Page 196: Curso en pdf

• Distancia Euclideana:

d(i, j) =√

|xi1 − xj1|2 + |xi2 − xj2|2 + . . .+ |xin − xjn|2

• Distancia Manhattan:

d(i, j) = |xi1 − xj1|+ |xi2 − xj2|+ . . .+ |xin − xjn|

• Distancia Minkowski:

d(i, j) = (|xi1 − xj1|q + |xi2 − xj2|q + . . .+ |xin − xjn|q)1/q

Si q = 1 es Manhattan y si q = 2 es Euclideana.

• Distancia Pesada (e.g., Euclideana):

d(i, j) =√

w1|xi1 − xj1|2 + w2|xi2 − xj2|2 + . . .+ wn|xin − xjn|2

Propiedades de las distancias: (i) d(i, j) ≥ 0, (ii) d(i, i) = 0, (iii)d(i, j) = d(j, i), y (iv) d(i, j) ≤ d(i, h) + d(h, j).

2. Variables Binarias (0,1):

• Simetricas (ambos valores tienen el mismo peso):

d(i, j) =r + s

q + r + s+ t

donde: q = numero de valores que son 1 en las dos, r = numerode valores que son 1 en i y 0 en j, s = numero de valores que son0 en i y 1 en j, y t = numero de valores que son 0 en las dos.

• No-simetricas (el mas importante y mas raro vale 1), conocidocomo el coeficiente Jaccard:

d(i, j) =r + s

q + r + s

3. Variables nominales (e.g., color):

d(i, j) =p−m

p

191

Page 197: Curso en pdf

donde: m = numero de valores iguales, p = numero total de casos.

Se pueden incluir pesos para darle mas importancia a m.

Se pueden crear nuevas variables binarias asimetricas a partir de lasnominales (e.g., es amarillo o no).

4. Variables ordinales: nominales con un orden relevante. El orden esimportante, 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 mas alto de la variable.

(b) Mapeo el ranqueo entre 0 y 1 para darle igual peso

zif =rif − 1

Mf − 1

(c) Usa cualquiera de las medidas numericas anteriores.

5. Variables escalares no lineales, por ejemplo, variables que siguen unaescala exponencial.

Posibilidades:

(a) Tratalas como numerica normal.

(b) Obten su logaritmo (o alguna otra transformacion) antes paraconvertirlas en lineales.

(c) Consideralas como variables ordinales.

6. Variables mixtas:

Una posibilidad es escalar todas las variables a un intervalo comun(entre 0 y 1):

d(i, j) =

∑pf=1 δ

(f)ij d

(f)ij

∑pf=1 δ

(f)ij

donde:

δ(f)ij = 0 si xif o xjf se desconocen o si los dos valores son 0 y la variablees asimetrica binaria. En caso contrario vale 1.

d(f)ij depende del tipo:

192

Page 198: Curso en pdf

• Si f es binaria o nominal: d(f)ij = 0 si xif = xjf , si no, d

(f)ij = 1.

• Si f es numerica lineal: d(f)ij =

|xif−xjf |maxhxhf−minhxhf

• Si f es ordinal o numerica no lineal: calcula los ındices rif y

zif =rif−1

Mf−1y toma a zif como numerica lineal.

Existe una gran cantidad de algoritmos de clustering (solo vamos a veralgunos):

1. Metodos basados en paticiones: construyen k particiones de los datos,donde cada particion representa un grupo o cluster. Cada grupo tieneal menos un elemento y cada elemento pertenece a un solo grupo.

Estos metodos, crean una particion inicial e iteran hasta un criterio deparo. Los mas populares son k-medias y k-medianas (otros: CLARAy CLARANS).

2. Metodos jerarquicos: crean descomposiciones jerarquicas.

El metodo aglomerativo o bottom-up, empieza con un grupo por cadaobjeto y une los grupos mas parecidos hasta llegar a un solo grupo uotro criterio de paro (e.g., AGNES, BIRCH, CURE, ROCK).

El metodo divisorio o top-down, empieza con un solo grupo y lo divideen grupos mas pequenos hasta llegar a grupos de un solo elemento uotro criterio de paro (e.g., DIANA, MONA).

3. Metodos basados en densidades: Se agrupan objetos mientras su den-sidad (numero de objetos) en la “vecindad” este dentro de un ciertoumbral (e.g., DBSCAN, DENCLUE).

4. Metodos basados en rejillas: se divide el espacio en rejillas a diferentesniveles (e.g, STING, CLIQUE).

5. Metodos basados en modelos: se encuentra un modelo para cada clusterque mejor ajuste los datos de ese grupo (e.g., COBWEB, AutoClass).

6. Metodos basados en teorıa de grafos:utilizan representaciones basadasen grafos (e.g., Chameleon, Delaunay triangulation graph (DTG), highlyconnected subgraphs (HCS), clustering identification via connectivitykernels (CLICK), cluster affinity search technique (CAST))

193

Page 199: Curso en pdf

7. Tecnicas basadas en Busqueda Combinatoria (e.g., Genetically guidedalgorithm (GGA), TS clustering, SA clustering)

8. Tecnicas Fuzzy, (e.g., Fuzzy c-means (FCM), mountain method (MM),possibilistic c-means clustering algorithm (PCM), fuzzy c-shells (FCS))

9. Tecnicas basadas en Redes Neuronales (e.g., Learning vector quantiza-tion (LVQ), self-organizing feature map (SOFM), ART, simplified ART(SART), hyperellipsoidal clustering network (HEC), self-splittting com-petitive learning network (SPLL))

10. Tecnicas basadas en Kernels (e.g. Kernel K-means, support vectorclustering (SVC))

11. Tecnicas para Datos Secuenciales (e.g. Similaridad secuencial, cluster-ing secuencial indirecto, clustering secuencial estadıstico)

12. Tecnicas para grandes conjuntos de datos (e.g., CLARA, CURE, CLARANS,BIRCH, DBSCAN, DENCLUE, WaveCluster, FC, ART)

10.1 k-Means

Toma como parametro k que es el numero de clusters que forma.

Selecciona k elementos aleatoriamente, los cuales representan el centro omedia de cada cluster. A cada objeto restante se le asigna el cluster con elcual mas se parece, basandose en una distancia entre el objeto y la media delcluster. Despues calcula la nueva media del cluster e itera hasta no cambiarde medias.

Normalmente se utiliza un medida de similaridad basada en el errorcuadratico:

E =k∑

i=1

p∈Ci

|p−mi|2

donde: p representa al objeto y mi a la media del cluster Ci (ambos sonobjetos multidimensionales).

194

Page 200: Curso en pdf

Tabla 10.1: Algoritmo de k-means.

selecciona k objetos aleatoriamenterepeat

re(asigna) cada objeto al cluster mas similar con el valor medioactualiza el valor de las medias de los clusters

until no hay cambio

k-means es susceptible a valores extremos porque distorcionan la dis-tribucion de los datos.

Tambıen se pueden utilizar las modas (k-modes) para agrupar objetoscategoricos.

Otra posibilidad es usar medianas (k-medoids) para agrupar en base alobjeto mas representativo del cluster. La idea basica es encontrar un objetorepresentativo. La estrategia es reemplazar una de las medianas por otroobjeto en forma aleatoria y medir si la calidad de los clusters resultantesmejoran.

La calidad se evalua con base a una funcion de costo que mide la disimi-laridad promedio entre un objeto y la mediana en su cluster.

Para ver si un objeto aleatorio (Oalea) es un buen reemplazo de la mediana(Oactu) se consideran todos los objetos que no sean medianas y se analiza lare-distribucion de los objetos a partir de la cual se calcula un costo basado,por ejemplo, en el error cuadratico. Esto se repite hasta que no exista mejora.

Como en muchos de los metodos vistos, este no garantiza encontrar elmınimo global, por lo que se recomiendo correr varias veces el algoritmo condiferentes valores iniciales.

Otra variante es hacer un k-means jerarquico, en donde se empieza conk = 2 y se continua formando clusters sucesivos en cada rama.

Si queremos escalarlo a grandes bases de datos, podemos tomar unicamentemuestras de los datos.

195

Page 201: Curso en pdf

10.2 COBWEB

Crea un cluster jerarquico con un arbol de clasificacion.

En un arbol de clasificacion cada nodo es un concepto que tiene unadescipcion probabilıstica de ese concepto que resume los objetos clasificadosbajo ese nodo.

La descripcion probabilıstica incluye la probabilidad del concepto (P (Ci))y las probabilidades condicionales de pares atributos-valor dado el concepto(P (Ai = Vij|Ck)).

COBWEB utiliza una medida llamada utilidad de la categoria para con-struir el arbol:

CU =

∑nk=1 P (Ck)

[∑

i

j P (Ai = Vij|Ck)2 −∑i

j P (Ai = Vij)2]

n

donde: n es el numero de clases en un nivel del arbol.

La utilidad de la categoria mide el valor esperado de valores de atributosque pueden ser adivinados a partir de la particion sobre los valores que sepueden adivinar sin esa particion.

Si la particion no ayuda en esto, entonces no es buena particion.

Entre mas grande es la proporcion de elementos de la clase que tienen eseatributo-valor, ese atributo-valor es mas predictivo sobre la clase.

COBWEB desciende el arbol buscando el mejor lugar o nodo para cadaobjeto. Esto se basa en poner el objeto en cada nodo y en un nodo nuevo ymedir en cual se tiene la mayor ganancia de utilidad de categorıa.

COBWEB tambien considera en cada iteracion unir los dos mejores nodosevaluados y dividir el mejor nodo evaluado. Esto es, cada vez que se consideraun lugar en un nivel para un nuevo objeto, se consideran los dos mejoresobjetos (de mayor utilidad) y se considera juntarlos.

El caso contrario, sucede una vez que se encuentra el mejor lugar para un

196

Page 202: Curso en pdf

nuevo objeto, pero el unir nodos no resulta beneficioso, entonces se consideradividir ese nodo.

COBWEB depende del orden de los objetos, por lo que a veces es conve-niente probarlo con obejtos en diferente orden.

La division entre el numero de cluster sirve para incentivar tener clusterscon mas de un elemento.

COBWEB asume que la distribucion de probabilidad de los atributos esindependiente de las demas.

El algoritmo se puede extender a valores numericos usando distribucionesgaussianas (CLASSIT).

f(a) =1√2πσ2

e−(a−µ)2

2σ2

El equivalente a la sumatoria de probabilidades es ahora:

j

P (Ai = Vij)2 ∼

f(ai)2dai =

1

2√πσi

Ahora se estima la desviacion estandar del atributo numerico con losdatos en el cluster y en los datos para todos los clusters :

CU =1

k

n∑

k=1

P (Ck)1

2√π

i

(1

σik

− 1

σi

)

Si la desviacion estandar es cero el valor de utilidad se vuelve infinito,por lo que se impone un valor de varianza mınimo en cada atributo (acuity).

El otro parametro que se usa en COBWEB es el de corte (cutoff ), quebasicamente se usa para parar la generacion de nuevos nodos.

197

Page 203: Curso en pdf

10.3 Clustering basado en probabilidades

Desde el punto de vista bayesiano, lo que buscamos es el grupo de clustersmas probables dados los datos.

Ahora los objetos tienen cierta probabilidad de pertenecer a un grupo ocluster.

La base de un clustering probilıstico esta basado en un modelo estadısticollamado finite mixtures (mezcla de distribuciones).

Una mezcla es un conjunto de k distribuciones, representando k clusters.

Cada distribucion nos da la probabilidad de que un objeto tenga un con-junto particular de pares atributo-valor si se supiera que fuera miembro deese cluster.

La mezcla mas sencilla es cuando tenemos puros atributos numericos condistribuciones gaussianas con diferentes medias y varianzas.

La idea es, dado un conjunto de datos, determinar las k distribucionesnormales (medias y varianzas) y las probabilidades particulares de cada dis-tribucion (pueden ser diferentes).

Por ejemplo, si tuvieramos dos distribuciones A y B con µA, σA y µB, σB,y PA (PA + PB = 1), podemos generar un conjunto de datos.

Si supieramos de que distribucion salio cada dato, es facil calcular sumedia y varianza, y las PA y PB.

µ =x1 + x2 + . . . xn

n

σ2 =(x1 − µ)2 + (x2 − µ)2 + . . . (xn − µ)2

n− 1

Calcular la probabilidad de que un objeto (x) pertenezca a un cluster(e.g., A), es:

198

Page 204: Curso en pdf

P (A|x) = P (x|A)P (A)

P (x)=

f(x;µA, σA)PA

P (x)

donde f(x;µA, σA) es una distribucion normal:

f(x;µA, σA) =1√2πσ2

e−(x−µ)2

2σ2

Podemos ignorar P (x) y al final normalizar.

10.4 Algoritmo EM

El problema es que no sabemos de que distribucion viene cada dato y noconcemos los parametros de las distribuciones.

El algoritmo EM (Expectation Maximization) empieza adivinando losparametros de las distribuciones y los usa para calcular las probabilidadesde que cada objeto pertenezca a un cluster y usa esas probabilidades parare-estimar los parametros de las probabilidades, hasta converger (se puedeempezar adivinando las probabilidades de que un objeto pertenezca a unaclase).

El calculo de las probabilidades de las clases o los valores esperados delas clases es la parte de expectation.

El paso de calcular los valores de los parametros de las distribuciones, esmaximization, maximar la verosimilitud de las distribuciones dados los datos.

Para estimar los parametros, tenemos que considerar que tenemos unicamentelas probabilidades de pertenecer a cada cluster y no los clusters en si. Estasprobabilidades actuan como pesos:

µA =w1x1 + w2x2 + . . . wnxn

w1 + w2 + . . . wn

199

Page 205: Curso en pdf

σ2A =

w1(x1 − µ)2 + w2(x2 − µ)2 + . . . wn(xn − µ)2

w1 + w2 + . . . wn

donde wi es la probabilidad de que el objeto i pertenezca al cluster A y sesuma sobre todos los objetos (no solo los de A).

El algoritmo tiende a converger pero nunca llega a un punto fijo.

Podemos ver que tanto se acerca calculando la versorimilitud general delos datos con esos parametros, multiplicando las probabilidades de los objetosindividuales (i):

i

(PAP (xi|A) + PBP (xi|B))

Esta medida crece en cada iteracion, y se itera hasta que el crecimientoes despreciable.

Aunque EM garantiza convergencia, esta puede ser a un maximo local,por lo que se recomienda repetir el proceso varias veces.

10.5 Extensiones

Extender a mas de dos distribuciones es practicamente directo.

Extenderlo a instancias con atributos multiples, si se asume independen-cia de los atributos, se puede hacer multiplicando las probabilidades paraobtener una distribucion de probabilidad conjunta.

Si existen dos atributos correlacionados, se pueden analizar con una dis-tribucion normal bi-variable en donde se utiliza una matriz de covarianza.El numero de parametros crece al cuadrado del numero de atributos que seconsideren correlacionados entre si.

Se pueden especificar diferentes distribuciones (cada una con sus propiosparametros) para diferentes tipos de datos.

200

Page 206: Curso en pdf

Se puede penalizar el modelo que instroduzca parametros y el que definaun numero mayor de clusters.

10.6 AutoClass

Realiza un descubrimiento automatico de clases en datos (P. Cheeseman, J.Stutz).

Una vez que las clases han sido identificadas, estas pueden servir paraclasificar nuevos datos.

La idea es encontrar la hipotesis mas probable, dados los datos e infor-macion a priori.

Normalmente se busca un balance entre que tan bien se ajustan los datosa las clases y complejidad de las clases (casos extremos, una clase por datoo una sola clase para todos los datos).

En AutoClass los datos se pueden representar por valores discretos, en-teros y reales.

El modelo es una mezcla finita de distribuciones de probabilidad, cadauna con su conjunto de parametros.

Para cada dato se asigna una probabilidad de pertenencia a una clase (oun peso).

Dado un conjunto de datos se busca:

1. Los valores mas probables (MAP) de los parametros (para las distribu-ciones y clases dadas), dada una distribucion de probabilidad.

2. La distribucion de probabilidad mas probable (numero de clases y mod-elos alternativos), independientemente de los parametros.

Se asume que los datos son condicionalmente independientes dada la clase,por lo que la distribucion conjunta de los datos es el producto de las proba-bilidades individuales.

201

Page 207: Curso en pdf

Cada dato pertenece a una y solo una clase (de un conjunto disjunto

de clases) con probabilidad P (Xi ∈ Cj | ~Vc, Tc), donde ~Vc es el vector deparametros de la distribucion y Tc es la distribucion particular).

Las clases representan una particion discreta de los datos y por lo tantola distribucion mas apropiada es una distribucion Bernoulli o binomial

Asume que los atributos son independientes dada la clase.

Los modelos individuales de los atributos tienen sus propios parametrosde distribucion.

AutoClass trata de encontrar los parametros de las distribuciones de prob-abilidad dependiendo del tipo de valores de las variables:

• Discretos: Bernoulli

• Reales: Gaussianas

• Reales - Escalares (e.g., edad, peso): log-Gaussianas

• Enteros: Poisson

En general se debe de establecer cuantas clases y correr el proceso. Alcorrerlo, existen muchos maximos locales, por lo que hay que correr el procesovarias veces a partir de diferentes valores iniciales para los parametros.

10.7 Cuantos Clusters?

Para algunas aplicaciones es facil determinar el numero de clusters, ”K”, deacuerdo al conocimiento del dominio. Sin embargo, para la mayorıa de loscasos, ”K” se desconoce y se estima a partir de los datos.

Muchos algoritmos de clustering preguntan ”K” como parametro de en-trada y la calidad de los resultados esta fuertemente ligada a este valor.

Una division con muchos clusters complica los resultados porque los hacedifıciles de interpretar y analizar.

202

Page 208: Curso en pdf

Una division con muy pocos clusters lleva a una perdida de informaciony puede llevar a tomar malas decisiones.

Al problema de determinar el numero de clusters se le conoce como ”elproblema fundamental de la validez del cluster”.

Algunos metodos que se han utilizado para encontrar el numero adecuadode clusters son:

• Visualizacion del conjunto de datos, lo que funciona bien para dosdimensiones pero generalmente nuestros conjuntos de datos son muchomas complicados.

• Construccion de ındices (o reglas de paro). En este caso se utilizanındices para enfatizar la compactes intra-cluster e isolacion inter-clusterconsiderando efectos tales como: el error cuadratico, propiedades geometricaso estadısticas de los datos, el numero de patrones, la disimilaridad osimilaridad, numero de clusters.

• Optimizacion de alguna funcion de criterio bajo el marco del modelode mezcla de probabilidades. En este caso se utiliza el algoritmo EM(usualmente), para encontrar el valor de ”K” que maximize o minimizeel criterio definido como optimo.

– Criterio de Informacion de Akaike (AIC).

– Criterio de Inferencia Bayesiana.

• Otros metodos heurısticos basados en una variedad de tecnicas y teorıas.

Referencias

Survey of Clustering Algorithms. Rui Xu and Donald Wunsch II. IEEETransactions on Neural Networks, Vol. 16, No. 3, May 2005.

203

Page 209: Curso en pdf

Capıtulo 11

Aprendizaje por Refuerzo

11.1 Introduccion

Uno de los enfoques mas usados dentro de aprendizaje es el aprendizajesupervisado a partir de ejemplos (pares entradas – salida provistos por elmedio ambiente), para despues predecir la salida de nuevas entradas.

Cualquier sistema de prediccion puede verse dentro de este paradigma, sinembargo, ignora la estructura secuencial del mismo.

En algunos ambientes, muchas veces se puede obtener solo cierta retroali-mentacion o recompensa o refuerzo (e.g., gana, pierde).

El refuerzo puede darse en un estado terminal y/o en estados intermedios.

Los refuerzos pueden ser componentes o sugerencias de la utilidad actual amaximizar (e.g., buena movida).

En aprendizaje por refuerzo (RL) el objetivo es aprender como mapear situa-ciones a acciones para maximizar una cierta senal de recompensa.

Promesa: programar agentes mediante premio y castigo sin necesidad deespecificar como realizar la tarea.

Diferencias con otro tipo de aprendizaje:

204

Page 210: Curso en pdf

Figura 11.1: Aprendizaje por Refuerzo.

• No se le presentan pares entrada - salida.

• El agente tiene que obtener experiencia util acerca de los estados, ac-ciones, transiciones y recompensas de manera activa para poder actuarde manera optima.

• La evaluacion del sistema ocurre en forma concurrente con el apren-dizaje.

En RL un agente trata de aprender un comportamiento mediante interac-ciones de prueba y error en un ambiente dinamico e incierto.

En general, al sistema no se le dice que accion debe tomar, sino que el debede descubrir que acciones dan el maximo beneficio.

En un RL estandar, un agente esta conectado a un ambiente por medio depercepcion y accion (ver figura 11.1). En cada interaccion el agente recibecomo entrada una indicacion de su estado actual (s ∈ S) y selecciona unaaccion (a ∈ A). La accion cambia el estado y el agente recibe una senal derefuerzo o recompensa (r ∈ R).

El comportamiento del agente debe de ser tal que escoga acciones que tiendana incrementar a largo plazo la suma de las recompensas totales.

205

Page 211: Curso en pdf

Figura 11.2: Ejemplo de problema.

El objetivo del agente es encontrar una polıtica (π), que mapea estados aacciones que maximice a largo plazo el refuerzo.

En general el ambiente es no-determinıstico (tomar la misma accion en elmismo estado puede dar resultados diferentes).

Sin embargo, se asume que el ambiente es estacionario (esto es, las probabil-idades de cambio de estado no cambian o cambian muy lentamente).

Aspectos importantes: (i) se sigue un proceso de prueba y error, y (ii) larecompensa puede estar diferida.

Otro aspecto importante es el balance entre exploracion y explotacion. Paraobtener buena ganancia uno prefiere seguir ciertas acciones, pero para sabercuales, se tiene que hacer cierta exploracion. Muchas veces depende de cuantotiempo se espera que el agente interactue con el medio ambiente.

La caracterizacion de esta problematica esta dada por procesos de decisionde Markov o MDP.

Un MDP modela un problema de decision sequencial en donde el sistemaevoluciona en el tiempo y es controlado por un agente.

La dinamica del sistema esta determinada por una funcion de transicion deprobabilidad que mapea estados y acciones a otros estados.

206

Page 212: Curso en pdf

Formalmente, un MDP es una tupla M =< S,A,Φ, R >. Los elementos deun MDP son:

• Un conjunto finito de estados S({1, ..., n}).• Un conjunto finito de acciones A, que pueden depender de cada estado.

• Funcion de recompensa (R): define la meta. Mapea cada estado–acciona un numero (recompensa), indicando lo deseable del estado.

• Modelo del ambiente (opcional): imita el comportamiento del ambi-ente. Se puede usar para hacer planeacion al considerar posibles situa-ciones futuras basadas en el modelo.

Φ : A× S → S es una funcion de transicion de estados dada como unadistribucion de probabilidad. La probabilidad de alcanzar el estados′ ∈ S al realizar la accion a ∈ A en el estado s ∈ S, que se puededenotar como Φ(a, s, s′).

• Polıtica (π): define como se comporta el sistema en cierto tiempo. Esun mapeo (a veces estocastico) de los estados a las acciones.

• Funcion de valor (V ): indica lo que es bueno a largo plazo. Es larecompensa total que un agente puede esperar acumular empezandoen ese estado (predicciones de recompensas). Se buscan hacer accionesque den los valores mas altos, no la recompensa mayor.

Las recompensas estan dadas por el ambiente, pero los valores se debende estimar (aprender) en base a las observaciones.

Aprendizaje por refuerzo aprende las funciones de valor mientras in-teractua con el ambiente.

11.1.1 Modelos de Comportamiento Optimo

Dado un estado st ∈ S y una accion at ∈ A(st), el agente recibe una recom-pensa rt+1 y se mueve a un nuevo estado st+1.

El mapeo de estados a probabilidades de seleccionar una accion particular essu polıtica (πt). Aprendizaje por refuerzo especifica como cambiar la polıticacomo resultado de su experiencia.

207

Page 213: Curso en pdf

No trata de maximizar la recompensa inmediata, sino la recompensa a largoplazo (acumulada).

La recompensa debe de mostrar lo que queremos obtener y se calcula por elambiente.

Si las recompensas recibidas despues de un tiempo t se denotan como: rt+1,rt+2, rt+3, . . ., lo que queremos es maximizar lo que esperamos recibir derecompensa (Rt) que en el caso mas simple es:

Rt = rt+1 + rt+2 + rt+3 + . . .+ rT

Si se tiene un punto terminal se llaman tareas episodicas , si no se tiene sellaman tareas continuas . En este ultimo caso, la formula de arriba presentaproblemas, ya que no podemos hacer el calculo cuando T no tiene lımite.

Podemos usar una forma alternativa en donde se van haciendo cada vez maspequenas las contribuciones de las recompensas mas lejanas:

Rt = rt+1 + γrt+2 + γ2rt+3 + . . . =∞∑

k=0

γkrt+k+1

donde γ se conoce como la razon de descuento y esta entre: 0 ≤ γ < 1

Si γ = 0 se trata solo de maximizar tomando en cuenta las recompensasinmediatas.

En general, podemos pensar en los siguientes modelos:

1. Horizonte finito: el agente trata de optimizar su recompensa esperadaen los siguientes h pasos, sin preocuparse de lo que ocurra despues:

E(h∑

t=0

rt)

donde rt significa la recompensa recibida t pasos en el futuro.

Este modelo se puede usar de dos formas: (i) polıtica no estacionaria:donde en el primer paso se toman los h siguientes pasos, en el siguientelos h − 1, etc., hasta terminar. El problema principal es que no siem-pre se conoce cuantos pasos considerar. (ii) receding-horizon control :siempre se toman los siguientes h pasos.

208

Page 214: Curso en pdf

2. Horizonte infinito: las recompensas que recibe un agente son reducidasgeometricamente de acuerdo a un factor de descuento γ (0 ≤ γ ≤ 1):

E(∞∑

t=0

γtrt)

3. Recompensa promedio: optimizar a largo plazo la recompensa prome-dio:

limh→∞E(1

h

h∑

t=0

rt)

Problema: no hay forma de distinguir polıticas que reciban grandesrecompensas al principio de las que no.

En general, se utiliza la de horizonte infinito.

11.1.2 Recompensa diferida y modelo Markoviano

En general, las acciones del agente determinan, no solo la recompensa in-mediata, sino tambien (por lo menos en forma probabilıstica) el siguienteestado del ambiente.

Los problemas con refuerzo diferido se pueden modelar como procesos dedecision de Markov (MDPs).

El modelo es Markoviano si las transiciones de estado no dependen de estadosanteriores.

En aprendizaje por refuerzo se asume que se cumple con la propiedad Marko-viana y las probabilidades de transicion estan dadas por:

Pass′ = Pr{st+1 = s′ | st = s, at = a}

El valor de recompensa esperado es:

Rass′ = E{rt+1 | st = s, at = a, st+1 = s′}

Lo que se busca es estimar las funciones de valor. Esto es, que tan bueno esestar en un estado (o realizar una accion).

209

Page 215: Curso en pdf

La nocion de “que tan bueno” se define en terminos de recompensas futuraso recompensas esperadas.

La polıtica π es un mapeo de cada estado s ∈ S y accion a ∈ A(s) a laprobabilidad π(s, a) de tomar la accion a estando en estado s. El valor deun estado s bajo la polıtica π, denotado como V π(s), es el refuerzo esperadoestando en estado s y siguiendo la polıtica π.

Este valor esperado se puede expresar como:

V π(s) = Eπ{Rt | st = s} = Eπ

{ ∞∑

k=o

γkrt+k+1 | st = s

}

y el valor esperado tomando una accion a en estado s bajo la polıtica π(Qπ(s, a)):

Qπ(s, a) = Eπ{Rt | st = s, at = a} = Eπ

{ ∞∑

k=o

γkrt+k+1 | st = s, at = a

}

Las funciones de valor optimas se definen como:

V ∗(s) = maxπVπ(s) y Q∗(s, a) = maxπQ

π(s, a)

Las cuales se pueden expresar como las ecuaciones de optimalidad de Bell-man:

V ∗(s) = maxa

s′Pa

ss′[Rass′ + γV ∗(s′)]

yQ∗(s, a) =

s′Pa

ss′[Rass′ + γV ∗(s′)]

oQ∗(s, a) =

s′Pa

ss′[Rass′ + γmaxa′Q

∗(s′, a′)]

11.2 Metodos de Solucion de MDPs

Existen tres formas principales de resolver MDPs: (i) usando metodos deprogramacion dinamica, (ii) usando metodos de Monte Carlo, y (iii) usandometodos de diferencias temporales o de aprendizaje por refuerzo.

210

Page 216: Curso en pdf

11.2.1 Programacion Dinamica

Si se conoce el modelo del ambiente, osea las transiciones de probabilidad(Pa

ss′) y los valores esperados de recompensas (Rass′), las ecuaciones de op-

timalidad de Bellman nos representan un sistema de |S| ecuaciones y |S|incognitas.

Consideremos primero como calcular la funcion de valor V π dada una polıticaarbitraria π.

V π(s) = Eπ{Rt | st = s}= Eπ {rt+1 + γrt+2 + γ2rt+3 + . . . | st = s}= Eπ {rt+1 + γV π(st+1) | st = s}=

a π(s, a)∑

s′ Pass′[Ra

ss′ + γV π(s′)]

donde π(s, a) es la probabilidad de tomar la accion a en estado s bajo lapolıtica π.

Podemos hacer aproximaciones sucesivas, evaluando Vk+1(s) en terminos deVk(s).

Vk+1(s) =∑

a

π(s, a)∑

s′Pa

ss′[Rass′ + γVk(s

′)]

Podemos entonces definir un algoritmo de evaluacion iterativa de polıticascomo se muestra en la tabla 11.1.

Una de las razones para calcular la funcion de valor de una polıtica es paratratar de encontrar mejores polıticas. Dada una funcion de valor para unapolıtica dada, podemos probar una accion a 6= π(s) y ver si su V (s) es mejoro peor que el V π(s).

En lugar de hacer un cambio en un estado y ver el resultado, se pueden con-siderar cambios en todos los estados considerando todas las acciones de cadaestado, seleccionando aquella que parezca mejor de acuerdo a una polıticagreedy.

Podemos entonces calcular una nueva polıtica π′(s) = argmaxaQπ(s, a) y

continuar hasta que no mejoremos.

211

Page 217: Curso en pdf

Tabla 11.1: Algoritmo iterativo de evaluacion de polıtica.

Inicializa V (s) = 0 para toda s ∈ SRepite

∆← 0Para cada s ∈ S

v ← V (s)V (s)← ∑

a π(s, a)∑

s′ Pass′[Ra

ss′ + γV (s′)∆← max(∆, |v − V (s)|)

Hasta que ∆ < θ (numero positivo pequeno)Regresa V ≈ V π

Esto sugiere, partir de una polıtica (π0) y calcular la funcion de valor (V π0),con la cual encontrar una mejor polıtica (π1) y ası sucesivamente hasta con-verger a π∗ y V ∗.

A este procedimiento se llama iteracion de polıticas y viene descrito en latabla 11.2.

Uno de los problemas de iteracion de polıticas es que cada iteracion involucraevaluacion de polıticas que requiere recorrer todos los estados varias veces.

Sin embargo, el paso de evaluacion de polıtica lo podemos truncar de variasformas, sin perder la garantıa de convergencia. Una de ellas es pararla de-spues de recorrer una sola vez todos los estados. A esta forma se le llamaiteracion de valor (value iteration). En particular se puede escribir combi-nando la mejora en la polıtica y la evaluacion de la polıtica truncada comosigue:

Vk+1(s) = maxa

s′Pa

ss′[Rass′ + γVk(s

′)]

Se puede ver como expresar la ecuacion de Bellman en una regla de actual-izacion. Es muy parecido a la regla de evaluacion de polıticas, solo que seevalua el maximo sobre todas las acciones (ver tabla 11.3).

Para espacios muy grandes, el ver todos los estados puede ser computacional-mente muy caro. Una opcion es hacer estas actualizaciones al momento de

212

Page 218: Curso en pdf

Tabla 11.2: Algoritmo de iteracion de polıtica.

1. Inicializacion:V (s) ∈ R y π(s) ∈ A(s) arbitrariamente ∀s ∈ S

2. Evaluacion de polıtica:Repite

∆← 0Para cada s ∈ S

v ← V (s)

V (s)← ∑

s′ Pπ(s)ss′ [Rπ(s)

ss′ + γV (s′)]∆← max(∆, |v − V (s)|)

Hasta que ∆ < θ (numero positivo pequeno)3. Mejora de polıtica:

pol-estable ← truePara cada s ∈ S:

b← π(s)π(s)← argmaxa

s′ Pass′[Ra

ss′ + γV (s′)]if b 6= π, then pol-estable ← false

If pol-estable, then stop, else go to 2.

Tabla 11.3: Algoritmo de iteracion de valor.

Inicializa V (s) = 0 para toda s ∈ SRepite

∆← 0Para cada s ∈ S

v ← V (s)V (s)← maxa

s′ Pass′[Ra

ss′ + γV ∗(s′)]∆← max(∆, |v − V (s)|)

Hasta que ∆ < θ (numero positivo pequeno)Regresa una polıtica determinıstica tal que:

π(s) = argmaxa∑

s′ Pass′[Ra

ss′ + γV ∗(s′)]

213

Page 219: Curso en pdf

Tabla 11.4: Algoritmo de Monte Carlo para estimar V π.

RepiteGenera un episodio usando πPara cada estado s en ese episodio:

R← recompensa despues de la primera ocurrencia de sAnade R a recomp(s)V (s)← promedio(recomp(s))

estar explorando el espacio, y por lo tanto determinando sobre que estadosse hacen las actualizaciones.

El hacer estimaciones en base a otras estimaciones se conoce tambien comobootstrapping.

11.2.2 Monte Carlo

Los metodos de Monte Carlo, solo requieren de experiencia y la actualizacionse hace por episodio mas que por cada paso.

El valor de un estado es la recompensa esperada que se puede obtener a partirde ese estado.

Para estimar V π y Qπ podemos tomar estadısticas haciendo un promediode las recompensas obtenidas. El algoritmo para V π esta descrito en latabla 11.4.

Para estimar pares estado-accion (Qπ) corremos el peligro de no ver todoslos pares, por lo que se busca mantener la exploracion. Lo que normalmentese hace es considerar solo polıticas estocasticas que tienen una probabilidaddiferente de cero de seleccionar todas las acciones.

Con Monte Carlo podemos alternar entre evaluacion y mejoras en base a cadaepisodio. La idea es que despues de cada episodio las recompensas observadasse usan para evaluar la polıtica y la polıtica se mejora para todos los estadosvisitados en el episodio. El algoritmo viene descrito en la tabla 11.5.

214

Page 220: Curso en pdf

Tabla 11.5: Algoritmo de Monte Carlo.

RepiteGenera un episodio usando π con exploracionPara cada par s, a en ese episodio:

R← recompensa despues de la primera ocurrencia de s, aAnade R a recomp(s, a)Q(s, a)← promedio(recomp(s, a))

Para cada s en el episodio:π(s)← argmaxaQ(s, a)

Existen dos formas para asegurar que todas las acciones pueden ser selec-cionadas indefinidamente:

• Los algoritmos on-policy : Estiman el valor de la polıtica mientras lausan para el control. Se trata de mejorar la polıtica que se usa paratomar decisiones.

• Los algoritmos off-policy : Usan la polıtica y el control en forma sep-arada. La estimacion de la polıtica puede ser por ejemplo greedy y lapolıtica de comportamiento puede ser ǫ-greedy. Osea que la polıtica decomportamiento esta separada de la polıtica que se quiere mejorar.

Esto es lo que hace Q-learning, lo cual simplifica el algoritmo.

Ejemplos de polıticas de seleccion de acciones son:

• ǫ−greedy : en donde la mayor parte del tiempo se selecciona la accionque da el mayor valor estimado, pero con probabilidad ǫ se seleccionauna accion aleatoriamente.

• softmax, en donde la probabilidad de seleccion de cada accion dependede su valor estimado. La mas comun sigue una distribucion de Boltz-mann o de Gibbs, y selecciona una accion con la siguiente probabilidad:

eQt(a)/τ

∑nb=1 e

Qt(b)/τ

215

Page 221: Curso en pdf

donde τ es un parametro positivo (temperatura).

11.2.3 Diferencias Temporales (Temporal Difference)

Los metodos de TD combinan las ventajas de los dos anteriores: permitehacer bootstrapping (como DP) y no requiere tener un modelo del ambiente(como MC).

Metodos tipo TD solo tienen que esperar el siguiente paso.

TD usan el error o diferencia entre predicciones sucesivas (en lugar del errorentre la prediccion y la salida final) aprendiendo al existir cambios entrepredicciones sucesivas.

Ventajas:

• Incrementales y por lo tanto faciles de computar.

• Convergen mas rapido con mejores predicciones.

El mas simple TD(0) es:

V (st)← V (st) + α [rt+1 + γV (st+1)− V (st)]

El algoritmo de TD(0) viene descrito en la tabla 11.6.

La actualizacion de valores tomando en cuenta la accion serıa:

Q(st, at)← Q(st, at) + α[rt+1 + γQ(st+1, at+1)−Q(st, at)]

y el algoritmo es practicamente el mismo, solo que se llama SARSA, y vienedescrito en la tabla 11.7.

Uno de los desarrollos mas importantes en aprendizaje por refuerzo fue eldesarrollo de un algoritmo “fuera-de-polıtica” (off-policy) conocido como Q-learning.

216

Page 222: Curso en pdf

Tabla 11.6: Algoritmo TD(0).

Inicializa V (s) arbitrariamente y π a la polıtica a evaluarRepite (para cada episodio):

Inicializa sRepite (para cada paso del episodio):

a← accion dada por π para sRealiza accion a; observa la recompensa, r, y el siguiente estado, s′

V (s)← V (s) + α [r + γV (s′)− V (s)]s← s′

hasta que s sea terminal

Tabla 11.7: Algoritmo SARSA.

Inicializa Q(s, a) arbitrariamenteRepite (para cada episodio):

Inicializa sSelecciona una a a partir de s usando la polıtica dada por Q

(e.g., ǫ–greedy)Repite (para cada paso del episodio):

Realiza accion a, observa r, s′

Escoge a′ de s′ usando la polıtica derivada de QQ(s, a)← Q(s, a) + α [r + γQ(s′, a′)−Q(s, a)]s← s′; a← a′;

hasta que s sea terminal

217

Page 223: Curso en pdf

Tabla 11.8: Algoritmo Q-Learning.

Inicializa Q(s, a) arbitrariamenteRepite (para cada episodio):

Inicializa sRepite (para cada paso del episodio):

Selecciona una a de s usando la polıtica dada por Q(e.g., ǫ–greedy)Realiza accion a, observa r, s′

Q(s, a)← Q(s, a) + α [r + γmax′aQ(s′, a′)−Q(s, a)]

s← s′;hasta que s sea terminal

La idea principal es realizar la actualizacion de la siguiente forma (Watkins,89):

Q(st, at)← Q(st, at) + α[rt+1 + γmaxaQ(st+1, at+1)−Q(st, at)]

El algoritmo viene descrito en la tabla 11.8.

11.3 Trazas de Elegibilidad (eligibility traces)

Estan entre metodos de Monte Carlo y TD de un paso.

Los metodos Monte Carlo realizan la actualizacion considerando la secuenciacompleta de recompensas observadas.

La actualizacion de los metodos de TD la hacen utilizando unicamente lasiguiente recompensa.

La idea de las trazas de elegibilidad es considerar las recompensas de n es-tados posteriores (o afectar a n anteriores).

Si recordamos:

Rt = rt+1 + γrt+2 + γ2rt+3 + . . .+ γT−t−1rT

218

Page 224: Curso en pdf

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 terminos siguientes(γrt+2 + γ2rt+3 . . .).

Sin embargo, hace igual sentido hacer:

Rt = rt+1 + γrt+2 + γ2Vt(st+2)

y, en general, para n pasos en el futuro.

En la practica, mas que esperar n pasos para actualizar (forward view), serealiza al reves (backward view). Se guarda informacion sobre los estados porlos que se paso y se actualizan hacia atras las recompensas (descontadas porla distancia). Se puede probar que ambos enfoques son equivalentes.

Para implementar la idea anterior, se asocia a cada estado o par estado-accionuna variable extra, representando su traza de elegibilidad (eligibility trace)que denotaremos por et(s) o et(s, a).

Este valor va decayendo con la longitud de la traza creada en cada episodio.La figura 11.3 muestra este comportamiento.

Para TD(λ):

et(s) =

{

γλet−1(s) si s 6= stγλet−1(s) + 1 si s = st

Para SARSA se tiene lo siguiente:

et(s, a) =

{

γλet−1(s, a) si s 6= stγλet−1(s, a) + 1 si s = st

El algoritmo para SARSA(λ) viene descrito en la tabla 11.9.

Para Q-learning como la seleccion de acciones se hace, por ejemplo, sigu-iendo una polıtica ǫ−greedy, se tiene que tener cuidado, ya que a veces losmovimientos, son movimientos exploratorios.

219

Page 225: Curso en pdf

Figura 11.3: Comportamiento de las trazas de elegibilidad.

Tabla 11.9: SARSA(λ) con trazas de elegibilidad.

Inicializa Q(s, a) arbitrariamente y e(s, a) = 0 ∀s, aRepite (para cada episodio)

Inicializa s, aRepite (para cada paso en el episodeo)

Toma accion a y observa r, s′

Selecciona a′ de s′ usando una polıtica derivada de Q (e.g., ǫ−greedy)δ ← r + γQ(s′, a′)−Q(s, a)e(s, a)← e(s, a) + 1Para todos s, a

Q(s, a)← Q(s, a) + αδe(s, a)e(s, a)← γλe(s, a)

s← s′; a← a′

hasta que s sea terminal

220

Page 226: Curso en pdf

Aquı se puede mantener historia de la traza solo hasta el primer movimientoexploratorio, ignorar las acciones exploratorias, o hacer un esquema un pocomas complicado que considera todas las posibles acciones en cada estado.

11.4 Planeacion y Aprendizaje

Asumamos que tenemos un modelo del ambiente, esto es, que podemos pre-decir el siguiente estado y la recomepensa dado un estado y una accion.

La prediccion puede ser un conjunto de posibles estados con su probabilidadasociada o puede ser un estado que es muestreado de acuerdo a la distribucionde probabilidad de los estados resultantes.

Dado un modelo, es posible hacer planificacion. Lo interesante es que pode-mos utilizar los estados y acciones utilizados en la planificacion tambienpara aprender. De hecho al sistema de aprendizaje no le importa si los paresestado-accion son dados de experiencias reales o simuladas.

Dado un modelo del ambiente, uno podrıa seleccionar aleatoriamente un parestado–accion, usar el modelo para predecir el siguiente estado, obtener unarecompensa y actualizar valores Q. Esto se puede repetir indefinidamentehasta converger a Q∗.

El algoritmo Dyna-Q combina experiencias con planificacion para aprendermas rapidamente una polıtica optima.

La idea es aprender de experiencia, pero tambien usar un modelo para simularexperiencia adicional y ası aprender mas rapidamente (ver tabla 11.10).

El algoritmo de Dyna-Q selecciona pares estado-accion aleatoriamente depares anteriores. Sin embargo, la planificacion se puede usar mucho mejor sise enfoca a pares estado-accion especıficos.

Por ejemplo, enfocarnos en las metas e irnos hacia atras o mas generalmente,irnos hacia atras de cualquer estado que cambie su valor.

Los cambios en las estimaciones de valor V o Q pueden cambiar, cuando seesta aprendiendo o si el ambiente cambia y un valor estimado deja de ser

221

Page 227: Curso en pdf

Tabla 11.10: Algoritmo de Dyna-Q.

Inicializa Q(s, a) y Modelo(s, a) ∀s ∈ S, a ∈ ADO forever

s← estado actuala← ǫ−greedy(s, a)realiza accion a observa s′ y rQ(s, a)← Q(s, a) + α[r + γmaxa′Q(s′, a′)−Q(s, a)]Modelo(s, a)← s′, rRepite N veces:

s← estado anterior seleccionado aleatoriamentea← accion aleatoria tomada en ss′, r ←Modelo(s, a)Q(s, a)← Q(s, a) + α[r + γmaxa′Q(s′, a′)−Q(s, a)]

cierto.

Lo que se puede hacer es enfocar la simulacion al estado que cambio su valor.Esto nos lleva a todos los estados que llegan a ese estado y que tambiencambiarıan su valor.

Esto proceso se puede repetir sucesivamente, sin embargo, algunos estadoscambian mucho mas que otros. Lo que podemos hacer es ordenarlos y cam-biar solo los que rebacen un cierto umbral. Esto es precisamente lo que hacerel algoritmo de prioritized sweeping (ver tabla 11.11).

11.5 Generalizacion en Aprendizaje por Re-

fuerzo

Hasta ahora hemos asumido que se tiene una representacion explıcita enforma de tabla (i.e., una salida por cada tupla de entradas). Esto fun-ciona para epacios pequenos, pero es impensable para dominios como ajedrez(10120) o backgammon (1050).

222

Page 228: Curso en pdf

Tabla 11.11: Algoritmo de Prioritized sweeping.

Inicializa Q(s, a) y Modelo(s, a) ∀s ∈ S, a ∈ A y ColaP = ∅DO forever

s← estado actuala← ǫ−greedy(s, a)reaiza accion a onserva s′ y rModelo(s, a)← s′, rp←| r + γmaxa′Q(s′, a′)−Q(s, a) |if p > θ, then inserta s, a a ColaP con prioridad pRepite N veces, mientras ColaP 6= ∅:

s, a← primero(ColaP )s′, r ←Modelo(s, a)Q(s, a)← Q(s, a) + α[r + γmaxa′Q(s′, a′)−Q(s, a)]Repite ∀s, a que se predice llegan a s:

r ← recomensa predichap←| r + γmaxaQ(s, a)−Q(s, a) |if p > θ, then inserta s, a a ColaP con prioridad p

223

Page 229: Curso en pdf

Una forma de hacerlo es con una representacion implıcita, i.e., una funcion.

Por ejemplo en juegos, una funcion de utilidad estimada se puede representarcomo una funcion lineal pesada sobre un conjunto de atributos (Fi’s):

V (i) = w1f1(i) + w2f2(i) + . . .+ wnfn(i)

En ajedrez se tienen aproximadamente 10 pesos, por lo que es una compresionbastante significativa.

La compresion lograda por una representacion implıcita permite al sistemade aprendizaje, generalizar de estados visitados a estados no visitados.

Por otro lado, puede que no exista tal funcion. Como en todos los sistemasde aprendizaje, existe un balance entre el espacio de hipotesis y el tiempoque toma aprender una hipotesis aceptable.

Muchos sistemas de aprendizaje supervisado tratan de minimizar el errorcuadrado (MSE) bajo cierta distribucion P de las entradas.

Si ~Θt representa el vector de parametros de la funcion parametrizada quequeremos aprender:

MSE(~Θt) =∑

s∈SP (s)[V π(s) − Vt(s)]

2

donde P (s) es una distribucion pesando los errores de diferentes estados.

Para ajustar los parametros del vector de la funcion que queremos optimizar,las tecnicas de gradiente ajustan los valores en la direccion que produce lamaxima reduccion en el error:

~Θt+1 = ~Θt − 12α∇ ~Θt

[V π(st) − Vt(st)]2

= ~Θt + α[V π(st) − Vt(st)]∇ ~ΘtVt(st)

donde α es un parametro positivo 0 ≤ α ≤ 1 y ∇ ~Θtf(Θt) denota un vector

de derivadas parciales.

Como no sabemos V π(st) lo tenemos que aproximar. Podemos hacerlo contrazas de elegibilidad y actualizar la funcion Θ como sigue:

~Θt+1 = ~Θt + αδt~et

224

Page 230: Curso en pdf

donde δt es el error:

δt = rt+1 + γVt(st+1)− Vt(st)

y ~et es un vector de trazas de elegibilidad, una por cada componente de ~Θt,que se actualiza como:

~et = γλ~et−1 +∇~ΘtVt(st)

con ~e0 = 0.

11.6 Aplicaciones a Juegos y Control

La primera aplicacion en aprendizaje por refuerzo fue el programa para jugardamas de Samuel. Uso una funcion lineal de evaluacion con pesos usandohasta 16 terminos. Su programa era parecido a la ecuacion de actualizacionde pesos, pero no usaba recompensa en los estados terminales. Esto hace quepuede o no converger y puede aprender a perder.

Logro evitar esto haciendo que el peso para ganancia de material fuera siem-pre positivo.

Se han hecho aplicaciones a control de robots. Una de las mas conocidas es elcontrol del pendulo invertido. Controlar la posicion x para que se mantengaaproximadamente derecho (θ ≈ π/2), manteniendose en los lımites de lapista. X, θ, X y θ son continuas. El control es de tipo bang–bang.

Boxes (Michie, Chambers ’68) balanceaba el pendulo por mas de una horadespues de 30 intentos (no simulado). Idea: discretizar el espacio en cajas.Se corria el sistema hasta que se caıa el pendulo o se salia de los lımites.Entonces se daba un refuerzo negativo a la ultima “caja” y se propagabaa la secuencia de “cajas” por las que paso. Sin embargo, los resultadosmas impresionantes (un pendulo invertido triple) se lograron derivando unalgoritmo con teorıa de control clasica (simulado).

TD-gammon (Tesauro ’92) ilustra la potencialidad de tecnicas de aprendizajepor refuerzo. Tesauro primero trato de aprender Q(s, a) directamente conuna red neuronal (Neurogammon) con poco exito. Despues represento una

225

Page 231: Curso en pdf

funcion de evaluacion con una sola capa intermedia con 40 nodos. Despuesde 200,000 juegos de entrenamiento mejoro notablemente su desempeno.Anadiendo atributos adicionales a una red con 80 nodos escondidos, despuesde 300,000 juegos de entrenamiento, juega como los 3 mejores jugadores delmundo.

Recientemente (2000), se desarrollo un algoritmo de RL que actualiza lasfunciones de evaluacion en un arbol de busqueda en juegos (TDLeaf(λ).

Aplicado a ajedrez, mejora el puntaje de un programa (KnightCap) de 1,650a 2,150 despues de 308 juegos en 3 dıas.

Se ha aplicado recientemente para controlar aviones y helicopteros

11.7 Algunos desarrollos recientes

Uno de los problemas principales de las tecnicas usadas en aprendizaje porrefuerzo, y para resolver MDP en general, es la aplicacion a espacios grandes(muchos estados y acciones).

Aunque el algoritmo converge en teorıa, en la practica puede tomar untiempo inaceptable.

Dentro de los enfoques que atacan, en parte, esta problematica, podemosmencionar:

• Agregacion de estados, en donde se juntan estados “parecidos” y atodos ellos se les asigna el mismo valor, reduciendo con esto el espaciode estados. Algunos ejemplos de esto son: tile-coding, coarse coding,radial basis functions, Kanerva coding, y soft-state aggregation.

• Abstracciones basadas en maquinas de estado finito, en donde el apren-dizaje por refuerzo tiene que decidir que maquina utilizar (por ejemplo,HAM y PHAM).

• Definicion de jerarquıas, en donde se divide el espacio en subproblemas,se aprenden polıticas a los espacios de mas bajo nivel y estas se usanpara resolver problemas de mas alto nivel (e.g., MAXQ, HEXQ). Algo

226

Page 232: Curso en pdf

parecido se usa con Macros y Options, en donde se aprenden polıticasde subespacios que se usan para resolver problemas mas grandes.

• Otra opcion es utilizar un sistema de planificacion que decida la se-cuencias de submetas que se tienen que cumplir para resolver ciertoproblema (por ejemplo usando TOPs) y despues aprender por apren-dizaje por refuerzo las acciones a realizar para resolver cada submeta(e.g., RL-TOP).

• Tambien se ha buscado utilizar representaciones relacionales dentro deaprendizaje por refuerzo, ya sea para representar las funciones de valory/o para representar los estados y las acciones.

• Tambien se han utilizado soluciones conocidas como guıas o trazas quese usan para aprender mas rapidamente las funciones de valor o paraaprender un subconjunto de acciones relevantes.

227