Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INGENIERIA DE SISTEMAS
UNIVERSIDAD DEL MAGDALENA
Santamarta
Colombia
TABLA DE CONTENIDO
1. Introduccin................................................................................................................................3
1.1 Motivacin.................................................................................................................................3
1.2 Areas relacionadas....................................................................................................................4
1.3 Componentes.............................................................................................................................5
1.4 Proceso de Descubrimiento......................................................................................................6
1.5 Metas de Minera de Datos......................................................................................................8
1.6 Aplicaciones.............................................................................................................................13
1.7 Retos.........................................................................................................................................15
1.8 Otros aspectos relacionados...................................................................................................15
2. Aprendizaje...............................................................................................................................16
3. Aprendizaje Basado en Similaridades (SBL).........................................................................18
3.1 Induccin de rboles de Decisin.........................................................................................19
4. Aprendizaje de Reglas..............................................................................................................30
5. Reglas de Asociacin.................................................................................................................37
6.1 Probabilidad............................................................................................................................43
6.2 Aprendizaje Bayesiano...........................................................................................................49
6.3 Clasificador Bayesiano naive.................................................................................................56
SOFTWARE
1. WEKA. http://www.cs.waikato.ac.nz/~ml/weka/index.html
2. APRIORI. http://fuzzy.cs.uni-magdeburg.de/~borgelt/software.html
3. Bases de datos para pruebas. http://ftp.ics.uci.edu/pub/machine-learning-databases/
ARTICULOS
1.
From data mining to knowledge discovery in databases, Usama Fayyad, Gregory PiatetskyShapiro y Padhraic Smyth. http://dii.uchile.cl/~in65a/download/2001/fayyad.pdf
1. Introduccin
1.1 Motivacin
La tecnologa actual nos permite capturar y almacenar una gran cantidad de datos.
Tratar de encontrar patrones, tendencias y anomalas es uno de los grandes retos de vida moderna.
Cdigo de barras, automatizacin de procesos en general, avances tecnolgicos en
almacenamiento de informacin y abaratamiento de precios en memoria, son algunos de los
factores que han contribuido a la generacin msiva de datos.
Se ha estimado que la cantidad de datos almacenados en el mundo en bases de datos se duplica
cada 20 meses.
Las tcnicas tradicionales de anlisis de informacin no han tenido un desarrollo equivalente.
La velocidad en que se almacenan datos es muy superior a la velocidad en que se analizan.
Existe un gran interes comercial por explotar los grandes volumenes de informacin almacenada.
Se cree que se est perdiendo una gran cantidad de informacin y conocimiento valioso que se
podra extraer de los datos.
Al Descubrimiento de Conocimiento de Bases de Datos (KDD) a veces tambin se le conoce
como minera de datos (Data Mining).
Sin embargo, muchos autores se refieren al proceso de minera de datos como el de la aplicacin
de un algoritmo para extraer patrones de datos y a KDD al proceso completo (pre-procesamiento,
minera, post-procesamiento).
Descubrimiento de Conocimiento en Bases de Datos:
Proceso de extraccin no trivial para identificar patrones que sean vlidos, novedosos,
potencialmente tiles y entendibles, a partir de datos
Proceso: KDD involucra varios pasos y es iteractivo, al encontrar informacin til en los
datos, se realizan mejores preguntas
Vlido: se utilizan principalmente los datos y se espera que los patrones puedan aplicarse
en el futuro
Entendible: que nos lleve a la comprensin, muchas veces medido por el tamao
A veces se hace una mezcla de medidas de utilidad, novedad, simplicidad y validez para
establecer que tan interesantes pueden ser los patrones. Esta medida, generalmente est definida
por el usuario, y es parte de los parmetros de operacin de los algoritmos de minera.
En este sentido, podemos decir que un patrn representa conocimiento si su medida de interesante
rebasa un cierto umbral.
El proceso de KDD consiste en usar mtodos de minera de datos (algoritmos) para extraer
(identificar) lo que se considera como conocimiento de acuerdo a la especificacin de ciertos
parmetros usando una base de datos junto con pre-procesamientos y post-procesamientos.
Se estima que la extraccin de patrones (minera) de los datos ocupa solo el 15% - 20% del
esfuerzo total del proceso de KDD.
Metas:
(i) Procesar automticamente grandes cantidades de datos crudos,
(ii) identificar los patrones ms significativos y relevantes, y
(iii) presentarlos como conocimiento apropiado para satisfacer las metas del usuario.
KDD es un nuevo campo interdisciplinario que involucra investigacin de reas tales como:
1.3 Componentes
Figure 1.2: Componentes de KDD.
Foco de atencin: Especifica qu tablas, campos y registros accesar. Tiene que tener
mecanismos de seleccin aleatoria de registros tomando muestras estadsticamente
significativas, puede usar predicados para seleccionar un subconjunto de los registros que
comparten cierta caracterstica, etc.
Algunas tcnicas para enfocar la atencin incluyen:
o
Particin de datos: en base a valores de atributos (por ejemplo, slo aquellos datos
que tengan ciertos valores)
Extraccin de patrones: Donde patrn se refiere a cualquier relacin entre los elementos
de la base de datos. Pueden incluir medidadas de incertidumbre. Aqu se aplican una gran
cantidad de algoritmos de aprendizaje y estadsticos.
Clasificacin: Los datos son objetos caracterizados por atributos que pertenecen a
diferentes clases (etiquetas discretas).
La meta es inducir un modelo para poder predecir una clase dados los valores de
los atributos.
Se usan por ejemplo, rboles de decisin, reglas, anlisis de discriminantes, etc.
Se puede utilizar con otras tcnicas de minera de datos: considerar cada subgrupo de
datos por separado, etiquetarlos y utilizar un algoritmo de clasificacin.
Se usan algoritmos de clustering, SOM (self-organization maps), EM (expectation
maximization), k-means, etc.
Normalmente el usuario tiene una buena capacidad de formar las clases y se han
desarrollado herramientas visuales interactivas para ayudar al usuario.
Componentes bsicas:
Las componentes bsicas de los mtodos de minera son:
1. Lenguaje de representacin del modelo: es muy importante que se sepan las suposiciones y
restricciones en la representacin empleada para construir modelos.
2. Evaluacin del modelo: En cuanto a predictividad se basa en tcnicas de validacin cruzada
(cross validation) en cuanto a calidad descriptiva del modelo se basan en principios como el
de mxima verosimilitud (maximum likelihood) o en el principio de longitud de descripcin
mnima o MDL (minimum description length).
3. Mtodo de bsqueda: se puede dividir en bsqueda de parmetros y bsqueda del modelo y
determinan los criterios que se siguen para encontrar los modelos (hiptesis).
Algunas de las tcnicas ms comunes:
Arboles de decisin y reglas de clasificacin: realizan cortes sobre una variable (lo cual
limita su expresividad, pero facilita su comprensin). Generalmente se usan tcnicas
heursticas en su construccin (e.g., ID3, C4.5, CN2). Ver figura 1.4.
Reglas de Asociacin: reglas que relacionan un conjunto de pares atributo-valor con otros
pares atributo-valor. Por ejemplo:
1.6 Aplicaciones
En la actualidad, existe una gran cantidad de aplicaciones, en reas tales como:
...
Criterios prcticos: (i) existe potencialmente un impacto significativo, (ii) no hay mtodos
alternativos, (iii) existe soporte del cliente para su desarrollo, y (iv) no existen problemas
de legalidad o violacin a informacin privilegiada
Criterios tcnicos: (i) existen suficientes datos, (ii) atributos relevantes, (iii) poco ruido en
los datos, y (iv) conocimiento del dominio
Problemas de aplicacin:
Algunos de los problemas que pueden surgir al tratar de realizar aplicaciones de KDD son:
entrenamiento insuficiente
abundancia de patrones
Algunas Historias:
Los que compran coches rojos en Francia tienden a no pagar su prestamo de coche. Esto
es casualidad? habla de la personalidad de los qye compran coches rojos? es irrelevante
para un institucin de prestamo?
1.7 Retos
Alta dimensionalidad
Entendimiento de patrones
Interpretacin de salidas
2. Aprendizaje
Posiblemente la caracterstica ms distintiva de la inteligencia humana es el aprendizaje.
Incluye:
adquisicin de conocimiento
organizacin de conocimiento
descubrimiento de hechos
...
simulacin cognitiva
anlisis terico
Instruir una mquina a realizar cierta tarea lleva mucho tiempo. ML trata 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 explicate the expert's heuristics - the problem of knowledge
acquisition is the critical bottleneck in artificial intelligence.'' Feigenbaum and McCorduck
[Feigenbaum, pp. 79-80]
``Knowledge engineers have generally assumed that the procedural knowledge which drives an
expert's skilled behavior can be elicited by dialogue. The findings of the past decade in brain
science, cognitive psychology and commercial software do not support this idea. Evidence is
lacking that skills, having once reached the ``automization'' stage, can be de-automized by
dialogue so as to make their inner workings accessible to introspective report.'' Donald Michie
[Michie, pp. 1]
Algunos ejemplos de aplicaciones que usan aprendizaje:
extra fuerte: se puede ver su mejora de una manera operacionalmente efectiva (i.e.,
permite al experto mejorar su desempeo al ver como el sistema de aprendizaje mejora el
suyo)
Clase
len
no len
len
no len
no len
len
no len
no len
If Tamao = mediano
Then len
If Tamao = grande
and Peludo = si
Then len
If Tamao = pequeo
Then no len
If Tamao = grande
and Peludo = no
Then no len
El extraer un patrn significa el poder describir una gran cantidad de ejemplos en forma concisa.
Esto tambin sigue un principio general en los algoritmos de induccin llamada: Ockham's razor
(muchas veces escrito como Occam): dar preferencia a hiptesis ms simples que sean
consistentes con todas las observaciones.
Encontrar el rbol ms pequeo es intratable, pero se pueden usar heursticas para encontrar
rboles pequeos.
Idea: probar primero el atributo ms ``importante'' (el que diferencia mejor los ejemplos).
Despus que el primer atributo particiona los ejemplos, cada subconjunto es un nuevo problema
de aprendizaje a su vez, con menos ejemplos y un atributo menos. Este proceso recursivo tiene 4
posibles resultados (ver tabla 3.1):
1. Si existen ejemplos positivos y negativos, escoge el mejor atributo para particionarlos
2. Si todos los atributos restantes son positivos (o negativos), termina y regresa True (o False)
3. No quedan ejemplos (no ha sido observado un ejemplo con esa combinacin de atributos).
Regresa un default en base a la clasificacin mayoritaria de su nodo padre
4. No hay ms atributos, pero seguimos con ejemplos positivos y negativos (i.e., existen
ejemplos con la misma descripcin, pero diferente clasificacin). Posiblemente por ruido y/o
falta de atributos y/o dominio no determinstico. Posible solucin: tomar la clasificacin
mayoritaria
El rbol resultante no necesariamente es el ``correcto''. Para eso lo probamos con el conjunto de
prueba.
soleado
nublado
Nublado
Lluvia
media
media
alta
media
normal
alta
normal
alta
si
si
no
si
P
P
P
N
Aplicaciones:
Es la tcnica que posiblemente se ha usado ms en aplicaciones reales. Tres ejemplos:
Cmo le hace?
La medida utilizada en ESCOGE-ATRIBUTO debe de tener su valor mximo cuando el atributo
sea perfecto (i.e., discrimine perfectamente ejemplos positivos y negativos) y mnimo cuando el
atributo no sea relevante.
Una posibilidad es basar la medida en la cantidad de informacin que da el atributo (basado en la
teora de Shanon y Weaver '49).
La cantidad de informacin mide la (im)pureza en una coleccin arbitraria de ejemplos.
La cantidad de informacin recibida respecto a la ocurrencia de un evento es inversamente
proporcional a la probabilidad de ocurrencia de dicho evento.
La informacin se mide en bits (un bit de informacin es suficiente para responder
Verdadero/Falso a una pregunta cuya respuesta no se sabe).
Si se tienen vi posibles respuestas con probabilidades P(vi), el contenido de informacin es:
Nos representa el contenido promedio de informacin para los diferentes eventos (ver figura 3.2).
Figure 3.2: Funcin de Entropa.
En el caso de los rboles de decisin queremos estimar las probabilidades de las respuestas. Esto
se hace por la proporcin de ejemplos positivos y negativos.
Si se tienen p ejemplos positivos y n ejemplos negativos, entonces:
Un solo atributo normalmente no nos proporciona toda esta informacin, pero podemos estimar
cuanta, viendo cuanta informacin necesitamos despus de utilizar ese atributo,
Cada atributo A, divide a los ejemplos del conjunto de entrenamiento en subconjuntos
Para Ambiente:
soleado: p1=2,n1=3,I(p1,n1)=0.971
nublado: p2=4,n2=0,I(p2,n2)=0
lluvia: p3=3,n3=2,I(p3,n2)=0.971
Entropa(Ambiente) =
Para Humedad:
alta: p1=3,n1=4,I(p1,n1)=0.985
normal: p2=6,n2=1,I(p2,n2)=0.592
Entropa(Humedad) = 0.798
Para Viento:
no: p1=6,n1=2,I(p1,n1)=0.811
si: p2=3,n2=3,I(p2,n2)=1.0
Entropa(Viento) = 0.892
Para Temperatura, Entropa(Temperatura) = 0.9111
Las ganancias son entonces:
Ganancia(Ambiente) = 0.246 (MAX)
Ganancia(Humedad) = 0.151
Ganancia(Viento) = 0.048
Ganancia(Temperatura) = 0.029
Por lo que ID3 escoge el atributo Ambiente como nodo raz y pocede a realizar 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, mas que 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.570
Ganancia(Viento) = 0.97 - [(2/5)1 + (3/5)0.918] = 0.019
Uso del Arbol de Decisin
Con el rbol construido, podemos preguntar si esta bien jugar el sbado en la maana con
ambiente soleado, temperatura alta, humedad alta y con viento, a lo cual el bol me responde que
no.
ID3 sigue una estrategia hill-climbing, sin backtracking, incrementando en cada paso la
complejidad del rbol. Utiliza todos los ejemplos, con los cuales estrae estadsticas y que lo hace
ms robusto que un algoritmo incrementarl y por otro lado lo hace facilmente extendible para
manejar ruido. Tiende a preferir construir rboles pequeos con atributos con ganancia de
informacin alta cerca de la raz.
Criterio de Seleccin:
El criterio de seleccin basado en contenido de informacin tiende a favorecer atributos que
tienen ms valores.
Por ejemplo, si un atributo tiene valores aleatorios o es un identificador nico de cada ejemplo (su
clasificacin sera perfecta y su informacin despus al seleccionarlo sera 0 (ganancia mxima).
Con esto el algoritmo bsico construye un rbol de un solo nivel o decision stump.
Posible solucin: rbol binario, dividiendo los posibles valores de los atributos en dos.
Desventaja: rboles difciles de entender + computacionalmente caro (2nsubconjuntos para n
valores).
Otra solucin: Para compensar esto se defini una razn de ganancia de informacin. Esto es
dividir la ganancia de informacin entre la informacin de la divisin (la cantidad de informacin
en los ejemplos que se dividi).
La informacin de la divisin (split information) se define como:
Esto es, la entropa de los datos con respecto a los valores del atributo (versus entropa con
respecto a la clase).
E.g., si un atributo binario divide el conjunto de ejemplos en dos subconjuntos de igual tamao, el
contenido de informacin de su divisin es 1. Mientras que un atributo que divide los ejemplos en
14 subconjuntos de tamao 1, sera: 14 (1/14 log2 (1/14)) = log2(1/14).
Sin embargo, no siempre funciona ya que puede sobrecompensar. Una prctica comn es usar el
atributo de la razn de ganancia de informacin mxima dado que su ganancia de informacin es
al menos tan grande como el promedio de ganacia de informacin del resto de los atributos.
Extensiones:
Hasta ahora hemos visto como funciona el algoritmo con atributos con valores discretos finitos y
con datos sin ruido. Veremos ahora algunas extensiones para estos casos.
Atributos numricos:
Qu hacer si un atributo es numrico?
Lo que normalmente se hace es que se ordena el atributo numrico, se identifican ejemplos
adyacentes que tengan valor de clase diferente y se consideran como candidatos los puntos
mdeios de divisin del valor del atributo. A cada uno de estos se le calcula su ganancia de
informacin.
Supongamos que en el ejemplo de la tabla 3.2 la temperatura toma valores 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 85
P 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. Para cada uno de ellos se
puede calcular su ganancia de informacin tomando el punto medio. Por ejemplo, si se toma el
punto 71.5, Temperatura < 71.5 tiene 4 P y 2 N, mientras que Temperatura > 71.5 tiene 5 P y 3 N.
Cada posible particin entra en competencia con el resto de los atributos y el de mayor ganancia
de informacin es el que se selecciona.
Esto implica que en el caso de atributos numricos, estos pueden aparecer varias veces en una
rama de un rbol.
Para evitar ordenar ejemplos cada que se selecciona un atributo, se guarda con cada subconjunto
el orden de acuerdo a un atributo numrico. Esto se puede hacer al principio y no volverlo a
repetir.
Valores faltantes:
Una forma de tratar valores faltantes es como si fueran otra posible valor del atributo. Esto solo
funciona si el valor faltante tiene un significado especial en algun sentido.
Ignorar los datos es demasiado drstico ya que algunas veces el valor del atributo puede no ser
relevante para tomar una decisin.
Algunas propuestas para atacar el problema de atributos sin valor:
Usar el mismo mtodo para conocer los valores, cambiando columnas (i.e., el atributo se
vuelve la clase) y luego se utiliza el rbol para determinar el valor.
Distruir los objetos con valores desconocidos entre los demas. En donde se calcula la
ganacia en informacin como si pi fuera:
Idea: seguir todas las posibles ramas pero tomando en cuenta que algunas son ms probables que
otras (tienen mas datos que la sorportan).
donde
determina la importancia relativa entre costo y ganancia de informacin.
Recientemente se han estado estudiado el crear rboles cuando el costo de (error en la)
clasificacin es diferente (e.g., dianosticar cancer). Esto afecta en general el proceso de crecer y
de podar (ver abajo) los rboles.
Ruido y ``Overfitting''
Algunas de las ventajas de ID3 es que es til en dominios con un alto grado de no homogeneidad
(diferentes relaciones entre atributos en diferentes regiones del espacio de problemas) y alta
dimensionalidad (muchos atributos).
En general, podemos hablar de que a pesar de que falte informacin relevante, se pueda construir
un rbol con los atributos irrelevantes.
Con muchas posibles hiptesis se tiene que tener cuidado en no encontrar ``regularidades con
poco sentido'' a partir de los datos. A este problema se le llama overfitting y afecta a todos los
tipos de aprendizaje (i.e., no slo a los rboles de decisin).
Definicin: dado un espacio de hiptesis H, una hiptesis h H se dice que sobreajusta los datos
de entrenamiento si existe otra hiptesis h H, tal que htiene errores ms pequeos que h' en los
ejemplos de entrenamiento, pero h' tiene errores ms pequeos que h en toda la distribucin 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 contienen ruido:
clasificacin equivocada
valores desconocidos
Con ruido, se pueden tener dos ejemplos con los mismos valores de atributos, pero clase
diferente. En presencia de rudo, el algoritmo bsico (ID3) tiende a construir rboles de decisin
que son ms grandes de lo necesario, y no clasifican adecuadamente.
En el caso de rboles de decisin se tiene que decidir:
En general, podemos hablar de dos mtodos utilizados para manejar ruido (basados en la
condicin de terminacin):
pruning (o pre-pruning): cambiar el criterio de paro del rbol de decisin para ``podar''
ramas.
Anlisis de Complejidad:
La complejidad de contruir un rbol es:
O(mn log n) + O(n (log n)2)
Donde n es el nmero de datos y m el nmero de atributos.
El primer trmino se refiere a construir un rbol de decisin sin considerar podado. El segundo
trmino se refiere cuando realizamos podado. Esto es independiente de que los atributos sean
continuos o no.
4. Aprendizaje de Reglas
El aprendizaje de reglas normalmente produce resultados ms fciles de entender.
Splitting vs. Covering
La estrategia bsica de la construccin de rboles de decisin se basa en splitting, esto es, dividir
el conjunto de datos en subconjuntos considerando un atributo seleccionado por una heurstica
particular. Aqui se consideran todas las clases dentro de la particin.
La idea bsica es aadir atributos al rbol que se esta construyendo buscando maximizar la
separacin entre las clases.
La estrategia utilizada para aprender reglas, est basada en covering, esto es, encontrar
condiciones de reglas (par atributo-valor) que cubra la mayor cantidad de ejemplos de una clase,
y la menor del resto de las clases. Se considera el cubrir una sola clase.
La idea bsica es aadir pruebas a cada regla que se esta construyendo buscando maximizar
covertura minimizando errores (ver figura 4.1).
Figure 4.1: Splitting vs. Covering.
1R
Vamos a ver primero un sistema muy simple (1R) que es el equivalente a un decision stump.
La idea es hacer reglas que prueban un solo par atributo-valor. Se prueban todos los pares
atributo-valor y se selecciona el que ocasione el menor nmero de errores.
Table 4.1: Algoritmo de 1R
En el caso de la tabla 3.2 el nmero total de errores para el atributo Ambiente es 4, para
Temperatura es 5, para Humedad es 4 y para Viento es 5.
Se rompe arbitrariamente los empates y nos quedariamos con las siguientes reglas:
If Ambiente = soleado
Then Clase = N (cubre 5 y tiene 2 errores)
If Ambiente = nublado
Then Clase = P (cubre 4 y tiene 0 errores)
If Ambiente = lluvioso
Then Clase = P (cubre 5 y tiene 2 errores)
Los valores faltantes en 1R se tratan como un nuevo valor y los atributos continuos se hace una
divisin simple.
Primero se ordenan los atributos con respecto a la clase (como lo vimos con rboles de decisin).
Se sugieren puntos de particin en cada lugar donde cambia la clase.
Si existen dos clases diferentes con el mismo valor, se mueve el punto de particin a un punto
intermedio con el siguiente valor hacia arriba o abajo dependiendo de donde est la clase
mayoritaria.
Un problema ms serio es que el algoritmo tendra a favorecer contruir reglas para cada una de
las particiones, lo cual le da una clasificacin perfecta (pero muy poca prediccin futura).
Lo que se hace es que se exige que cada particin tenga un nmero mnimo de ejemplos de la
clase mayoritaria.
Cuando hay clases adyacentes con la misma clase mayoritaria, estas se juntan.
Ejemplo:
64 65 68 69 70 71 72 72 75 75 80 81 83 85
P N P P P N N P P P N P P N
Tomando los puntos intermedios sera: 64.5, 66.5, 70.5, 72, 77.5, 80.5 y 84.
Considerando los ejemplos de diferente clase, podemos mover la frontera 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 particin (en resultados experimentales con varios
dominios, este valor se fijo a 6):
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 dara una regla del tipo:
Este algoritmo, como va eliminando los ejemplos que va cubriendo cada regla, las reglas que se
construyen tienen que interpretarse en orden (las nuevas reglas se disean solo para cubrir los
casos que faltan).
Reglas que dependen del su orden para su interpretacin se conocen como decision lists o listas
de decisin.
Reglas que no dependen del orden son ms modulares, pero pueden producir varias
clasificaciones o no predecir nada.
Con varias clasificaciones se puede seleccionar la regla que cubra ms ejemplos, y cuando no se
tiene una clasificacin, escoger la clase mayoritaria.
Las reglas ordenadas son en general ms rpidas de producir ya que van reduciendo el nmero de
ejemplos a considerar.
AQ
Desarrollado originalmente por Michalski (79) (reimplementado y mejorado por otros autores,
AQ11, AQ15).
Su salida en un conjunto de reglas clasificatorios del tipo `if...then...'
Esto es til en aplicaciones de sistemas expertos basadas en reglas y normalmente son ms fciles
de entender que los rboles de decisin.
El algoritmo de AQ, induce un conjunto de reglas de decisin, una para cada clase.
Cada regla es de la forma: if <cover> then <clase>, donde: <cover> es una combinacin
Booleana de pruebas de atributos.
La prueba bsica de un atributo se llama selector (e.g., sangre = caliente).
Una conjuncin de selectores es llamado un complex (e.g., sangre = caliente & pelo = si),
Una disjuncin de complexes es llamado un cover (e.g., (sangre = caliente & pelo = si) OR leche
= si).
Un complex vaco, cubre todos los ejemplos, mientras que un cover vaco no cubre ningn
ejemplo.
Un cover es almacenado junto con el valor de la clase asociada (e.g., Si (sangre = caliente &
pelo = si) OR leche = si Entonces clase = mamfero).
AQ selecciona un ejemplo de una clase (positivo) y toma selectores de ste, hasta que no se cubra
ningn ejemplo de cualquier otra clase (negativo), para formar un complex. Cada complex
encontrado es aadido al cover hasta que se cubran todos los ejemplos positivos (ver tabla 4.3).
La operacin bsica del algoritmo es de generar un complex (una conjuncin de pruebas de
atributos) que cubre (es satisfecha por) un subconjunto de los ejemplos de entrenamiento.
El complex forma la parte de condicin de la regla de produccin `if condicin then predice
clase', donde clase es la clase ms comn en los ejemplos (de entrenamiento) que satisface la
condicin. La bsqueda se hace especializando complexes candidatos hasta encontrar uno que
cubra una gran cantidad de ejemplos de una sola clase y pocos de las demas clases.
La generacin de reglas se hace en etapas; cada etapa genera una sola regla y luego elimina los
ejemplos de entrenamiento cubiertos por la regla. Este proceso se repite hasta que se encuentran
suficientes reglas para cubrir todos los ejemplos de la clase escogida. Este proceso se repite para
cada clase.
Para generar una sola regla, AQ primero selecciona un ejemplo ``semilla'' para la regla, y empieza
con la regla ms general `if true then predice clase c' (i.e., `todos los ejemplos son de clase c'),
donde c es la clase de la semilla.
Se exploran diferentes especializaciones de la regla hasta encontrar una que cubra slo ejemplos
de la clase c y no cubra ejemplos de ninguna otra.
Se guardan varias ``mejores especializaciones hasta el momento'' las cuales se exploran en
paralelo, por lo que AQ sigue una bsqueda tipo beam search en este espacio.
Al conjunto de soluciones exploradas se le llama star. AQ garantiza enconcontrar un conjunto
completamente consistente de reglas con los datos de entrenamiento (si es que estas reglas
existen).
Esta es una propiedad deseable en dominios sin ruido.
Heurstica:
Para decidir que condicin es la ``mejor'', AQ tiene que evaluar:
qu condicin eliminar de star si su tamao excede un cierto valor mximo (dado por el
usuario)
cul es la mejor condicin en el star final para usar como nueva regla
Sumar los ejemplos positivos cubiertos y los negativos excluidos (en caso de empate,
preferir la ms corta).
El ejemplo semilla se escoge de manera aleatoria y los ejemplos negativos se escogen de acuerdo
a su distancia de la semilla (distancia = nmero de atributos con valores diferentes).
Valores desconocidos y numricos
Con valores desconocidos, en un algoritmo de covering lo mejor es hacer como si no aparean
ninguna condicin (ignorarlos).
En este sentido, los algoritmos que aprenden decision lists tienen cierta ventaja, ya que ejemplos
que parecen difciles al principio, se van quedando y al final se pueden resolver, en general, ms
fcilmente.
Los atributos numricos se pueden tratar igual que con los rboles.
Construir reglas usando rboles
La idea es combinar una estrategia decovering con una de splitting.
Para construir una regla se construye un rbol podado (splitting) y la hoja con la mejor covertura
se transforma en una regla. Una vez construida una regla se eliminan todos los ejemplos que
cubre (covering) y se repite el proceso.
En lugar de construir un rbol completo, se construyen rboles parciales, expandiendo las hojas
con mejores medidas de entropa.
5. Reglas de Asociacin
Las reglas de asociacin son parecidas a las reglas de clasificacin.
Se encuentran tambin usando un procedimiento de covering. Sin embargo, en el lado derecho de
las reglas, puede aparecer cualquier par o pares atributo-valor.
Para encontrar ese tipo de reglas se debe de considerar cada posible combinacin de pares
atributo-valor del lado derecho.
Para posteriormente podarlas usando covertura (nmero de instancias predichas correctamente) y
precisin (proporcin de nmero de instancias a las cuales aplica la regla).
En realidad estamos interesados nicamente en reglas que tienen mucho soporte, por lo que
buscamos (independientemente de que lado aparezcan), pares atributo-valor que cubran una gran
cantidad de instancias.
A estos, se les llama item-sets y a cada par atributo-valor item.
Un ejemplo tpico de reglas de asociacin es el anlisis de la canasta de mercado. Bsicamente,
encontrar asociaciones entre los productos de los clientes, las cuales pueden impactar a las
estrategias mercadotcnicas.
Ya que tenemos todos los conjuntos, los transformamos en reglas con la confianza mnima
requerida.
Algunos items producen ms de una regla y otros no producen ninguna.
Por ejemplo, si seguimos con los datos de la tabla 3.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/4
If humedad=normal and clase=P Then viento=no 4/6
If viento=no and clase=P Then humedad=normal 4/6
If humedad=normal Then viento=no and clase=P 4/7
If viento=no Then clase=P and humedad=normal 4/8
If clase=P Then viento=no and humedad=normal 4/9
If true Then humedad=normal and viento=no and clase=P 4/12
Si pensamos en 100% de xito, entonces slo la primera regla cumple.
De hecho existen 58 reglas considerando la tabla completa que cubren al menos dos ejemplos con
un 100% de exactitud (exaccuracy).
El proceso es mas o menos el siguiente y sigue dos pasos (Apriori, Agrawal et al. '94):
1. Genera todas los items sets con un elemento. Usa estos para generar los de dos elementos, y
as sucesivamente.
Se toman todos los posibles pares que cumplen con las medidas mnimas de soporte. Esto
permite ir eliminando posibles combinaciones ya que no todas se tienen que considerar.
2. Genera las reglas revisando que cumplan con el criterio mnimo de confianza.
Una observacin interesante, es que si una conjuncin de consecuentes de una regla cumple con
los nivels mnimos de soporte y confianza, sus subconjuntos (consecuentes) tambin los cumplen.
Por el contrario, si alguno item no los cumple, no tiene caso considerar sus superconjuntos.
Esto da una forma de ir construyendo reglas, con un solo consecuente, y a partir de ellas construir
de dos consecuentes y as sucesivamente.
Este mtodo hace una pasada por la base de datos cada para cada conjunto de items de diferente
tamao.
El esfuerzo computacional depende principalmente de la covertura mnima requerida, y se lleva
prcticamente todo en el primer paso.
El proceso de iteracin del primer paso se llama level-wise y va considerando los superconjuntos
nivel por nivel.
Lo que se tiene es una propiedad anti-montona: si un conjunto no pasa una prueba, ninguno de
sus subconjuntos la pasan.
Si un conjunto de items no pasa la prueba de soporte, ninguno de sus subconjuntos la pasan. Esto
se aprovecha en la construccin de candidatos para no considerar todos.
Por ejemplo, consideremos la tabla 5.1 con listas de compras de productos. La figura 5.1 muestre
este proceso con los datos de la tabla anterior.
Table 5.1: Datos de compras de productos.
id1
p1,p2,p5
id2
p2,p4
id3
p2,p3
id4
p1,p2,p4
id5
p1,p3
id6
p2,p3
id7
p1,p3
id8
p1,p2,p3,p5
id9
p1,p2,p3
Figure 5.1: Generacin de candidatos por niveles. El primer nmero
indica el producto y el nmero entre partesis las veces qu ocurre.
Una vez que tenemos los conjuntos de items, generar las reglas es relativamente sencillo.
Algunas mejoras:
Se han hecho algunas mejoras al algoritmo bsico de reglas de asociacin (Apriori) para hacerlo
ms eficiente:
Usar tablas hash para reducir el tamao de los candidatos de los itemsets
Dividir las transacciones en particiones disjuntas, evaluar itemsets locales y luego, en base
a sus resultados, estimar los globales.
Hacer aproximaciones con muestreos en la lista de productos, para no tener que leer todos
los datos
Evitar generar candidatos usando estructuras de datos alternativas, como por ejemplo, los
FP-trees (Frequent Pattern tree).
Algunas extensiones:
Dentro de las extensiones principales, podemos citar:
1.
Normalmente se empieza con las clases superiores, y los resultados pueden servir para
filtrar clases inferiores.
Por ejemplo, considerar reglas de asociacin sobre computadoras e impresoras, y luego
sobre laptops y estaciones de trabajo, por un lado, y sobre impresoras laser y de punto por
otro, etc.
Al proceder a las subclases se puede considerar:
3. Las reglas de asociacin, al igual que los rboles de decisin y las reglas de clasificacin que
hemos visto, funcionan, en su forma original, con atributos discretos.
Al igual que en las otras tcnicas se han propuesto mecanismos para manjejar atributos
continuos.
Los enfoques ms comunes son:
Si es menor que 1, entonces la ocurrencia de uno decrece la ocurrencia del otro. Si es 1 son
independientes y si es mayor que 1 la ocurrencia de uno favorece la ocurrencia de otro.
Con esto, se pueden encontrar reglas de asociacin correlacionadas. Se puede estimar si la
correlacin es estadsticamente significativa usando una
Las restricciones pueden ser: (i) antimontonas (si un conjunto no satisface una condicin,
entonces tampoco la satisfacen sus superconjuntos), (ii) montonas (si un conjunto satisface una
restriccin, entonces tambin la satisfacen todos sus superconjuntos), (iii) sucintas (succint)
(podemos enumerar todos los conjuntos que satisfacen una restriccin), (iv) convertibles
(podemos converir una restriccin a alguna de las clases anteriores), y (v) no convertibles.
Reglas de Asociacin, de Clasificacin y rboles de Decisin.
La tabla 5.2 muestra una comparacin entre reglas de asociacin y de clasificacin.
Table 5.2: Reglas de Asociacin vs. Reglas de Clasificacin
Exploracin de dependencias vs.
Prediccin enfocada
Diferentes combinaciones de vs.
Predice un atributo (clase)
atributos dependientes e
a partir de otros
independientes
Bsqueda completa (todas las vs. bsqueda heurstica (se encuentra
reglas encontradas)
un subconjunto de reglas)
Los rboles usan heurstica de evaluacin sobre un atributo, estan basados en splitting, y
normalmente realizan sobreajuste seguido de podado.
Las reglas de clasificacin utilizan una heurstica de evaluacin de condicin (par atributo-valor),
estan basados en covering, y utilizan sobre todo criterios de paro (y a veces sobreajuste y
podado).
Las reglas de asociacin se basan en medidas de confianza y soporte, consideran cualquier
conjunto de atributos con cualquier otro conjunto de atributos.
6.1 Probabilidad
Interpretaciones de Probabilidad
Existen diferentes interpretaciones de probabilidad, las ms comunes son:
Clsica: P(A)=N(A)/N
Frecuencia relativa:
Probabilidad
Definicin: Dado un experimento E y el espacio de muestreo S respectivo, a cada evento A le
asociamos un nmero real P(A), el cual es la probabilidad de A y satisface las siguientes
propiedades:
1.
2.
3.
P(S)=1
, si A y B mutuamente exclusivos
Teorema 1:
Teorema 2:
Teorema 3:
Probabilidad Condicional
Si A y B son dos eventos en S, la probabilidad de que ocurra A dado que ocurri el evento B es la
probabilidad condicional de A dado B, y se denota
.
La probabilidad condicional por definicin es:
Similarmente:
De donde:
Esta expresin se conoce como el Teorema de Bayes, que en su forma ms general es:
Eventos independientes
Dos eventos, A y B, son independientes si la ocurrencia de uno no tiene que ver con la ocurrencia
de otro.
Por definicin, A es independiente de B si y slo si:
Independencia condicional
Un evento A es condicionalmente independiente de otro B dado un tercer evento C, si el conocer
C hace que A y B sean independientes. Es decir, si conozco C, B no tiene influencia en A. Esto es:
Ejemplo:
A - regar el jardn
C - lluvia
Variables Aleatorias
Si a cada posible evento A le asignamos un valor numrico real, X(A), obtenemos una variable
aleatoria. A cada valor de la variable le corresponde una 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 un dado, nmero de fallas
antes de darle al blanco.
Funcin acumulativa de probabilidad
Para una variable aleatoria X, se define la funcin acumulativa de probabilidad como la
probabilidad de que la variable aleatoria sea menor a un valor x:
Propiedades:
1.
2.
3.
4.
Momentos
momento N:
Momentos ``centrales''
varianza:
desviacin estandar:
Ejemplos: nmero de artculos terminados en dos lneas de produccin, nmero de pacientes con
cancer y nmero de fumadores, etc.
Probabilidad marginal
Probabilidad condicional
Dada la probabilidad conjunta y marginal, la probabilidad condicional se define como:
Variables independientes
Dos variables aleatorias son independientes si su probabilidad conjunta es igual al producto de las
marginales, esto es:
P(xi, yj) = P(xi) P(yj),
(i, j)
Correlacin
El coeficiente de correlacin () denota el grado de linearidad entre dos variables aleatorias y se
define como:
La correlacin est dentro del intervalo: [-1, 1], donde un valor de 0 indica no-orrelacionadas,
y un valor de -1 1 indica una relacin lineal.
Independencia
Distribucin Binomial
Una distribucin binomial de la probabilidad de observar r eventos (e.g., soles) de n muestras
independientes con dos posibles resultados (e.g., tirar monedas).
La varianza es:
El Teorema Central del Lmite dice que la suma de un nmero grande de variables aleatorias
independientes identicamente distribuidas siguen una distribucin Normal.
ser prctico
Algunas caractersticas:
Conocimiento a priori se puede combinar con datos para determinar la probabilidad de las
hiptesis
Problemas:
Lo que normalmente se quiere saber en aprendizaje es cul es la mejor hiptesis (ms probable)
dados los datos.
Si denotamos P(D) como la probabilidad a priori de los datos (i.e., cuales datos son ms
probables que otros), P(D|h) la probabilidad de los datos dada una hiptesis, lo que queremos
estimar es: P(h|D), la probabilidad posterior de h dados los datos. Esto lo podemos estimar con
Bayes.
Teorema de Bayes:
Ejemplo:
Se tienen dos hiptesis: el paciente tiene un tipo de cancer o no tiene cancer.
Sabemos que solo el 0.008% de la poblacin tiene ese tipo de cancer. La prueba sobre cancer no
es infalible, y nos da resultados positivos correctos en el 98% de los casos y nos da resultados
negativos correctos en el 97% de los casos.
Esto es:
P(cancer) = 0.008
Asumiento que los datos son independientes entre s dado h, la probabilidad se puede expresar
como el producto de varias p(di | h) para cada dato:
Como el ruido sigue una distribucin Gaussiana con media cero y varianza
seguir la misma distribucin pero ahora centrada alrededor de f(xi).
, cada di debe de
Podemos maximizar tomando su logartimo (dado que es una funcin monotnica creciente):
Que es igual a minimizar lo mismo con el signo contrario. Al cambiar signo y eliminar constantes
que no dependen de h nos queda:
Lo que nos dice que la hiptesis de mxima verosimilitud es la que minimiza la suma de los
errores al cuadrado entre los datos observados (di) y los datos predichos (h(xi)), siempre y cuando
el error siga una distribucin Normal con media cero.
Todo esto asume que el error est dado nicamente en el valor meta y no en los atributos que
describen la meta.
Aprendiendo a Predecir Probabilidades
Otra aplicacin comn es querer aprender una funcin de probabilidad sobre un funcin que tiene
dos posibles resultados (e.g., cul es la probabilidad de que tenga X enfermedad), asumiremos
que son 1 y 0. Si los datos (D) son:
, donde di es el valor observado (0 o 1) de f(xi), y asumiendo que los datos son independientes:
, y en general:
Por lo que:
Lo cual, por su parecido con la medida de entropa, tambin se llama a su negativo, entropa
cruzada (cross entropy).
Principio de Longitud de Descripcin Mnima
Como el proceso inductivo no es seguro se necesita alguna medida de calidad.
Normalmente se hace en base a evaluaciones con los ejemplos de entrenamiento y prueba.
Una alternativa es encontrar la hiptesis ms probable dados los datos.
El MDL est motivado al interpretar la definicin de hMAP en base a conceptos de teora de
informacin.
Si lo queremos aplicar a un rbol de decisin, tenemos que buscar una codificacin para los
rboles de decisin y una para los ejemplos mal clasificados junto con su clasificacin.
Esto permite establecer un balance entre complejidad de la hiptesis (L(h)) y nmero de errores o
calidad de la hitesis ( L(D | h) ).
La idea es detectar regularidades en los datos para que el cdigo de transmisin de la hiptesis
con los datos sea menor que el de los datos solos.
Clasificador Bayesiano Optimo
En lugar de pregunarnos cul es la hiptesis ms probable, podemos preguntar, cul es la
clasificacin ms probable para un ejemplo.
La clasificacin ms probable se puede obtener combinando las clasificaciones de todas las
hiptesis aplicables pesadas por su probabilidad.
Si la clasificacin puede tomar un valor vj:
Ejemplo:
Supongamos que tenemos dos clases 3 hiptesis ( h1, h2, h3) y que sus probabilidades dados los
datos son ( 0.4,0.3,0.3) respectivamente. Si se tiene un nuevo ejemplo x que se clasifica como
positivo por h1 pero negativo por h2 y h3, su clasificacin por la hiptesis MAP sera positivo,
pero considerando todas las hiptesis sera negativo.
Usando Bayes:
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 tambin llamado a veces idiot Bayes asume que
los valores de los atributos son condicionalmente independientes dado el valor de la clase.
Osea:
Por lo que:
Los valores P(ai | vj) se estiman con la frecuencia de los datos observados.
Nota: no se hace bsqueda de hiptesis, simplemente se cuentan frecuencias de ocurrencias.
Ejemplo:
Si tomamos el ejemplo de la tabla 3.2 (de jugar golf), supongamos que tenemos el siguiente
ejemplo que lo queremos clasificar con un naive Bayes:
Ambiente=soleado, Temperatura=baja, Humedad=alta, Viento=si
P(Clase=P) = 9/14
P(Clase=N) = 6/14
A pesar de ser una buena aproximacin, da estimaciones malas cuando tenemos pocos ejemplos.
Una alternativa es utilizar la estimacin m (m-estimate):
donde p es una estimacin a priori de lo que queremos estimar y m es una constante llamada
``tamao de muestra equivalente'' (equivalent sample size).
Una valor tpico para p es asumir que se tiene una distribucin uniforme, por lo que: