Está en la página 1de 48

14/04/2011

Reglas de asociacin
Inteligencia Artificial
Dr. Ariel Monteserin
amontese@exa.unicen.edu.ar

ISISTAN - UNICEN

Agenda
Conceptos Algoritmos de descubrimientos de reglas de asociacin Post-procesamiento Actualizacin incremental de reglas Ejemplos de aplicacin en agentes Software

14/04/2011

Agenda
Conceptos Algoritmos de descubrimientos de reglas de asociacin Post-procesamiento Actualizacin incremental de reglas Ejemplos de aplicacin en agentes Software

Introduccin
Reglas de asociacin es una tcnica de inteligencia artificial ampliamente utilizada en Data Mining. Data Mining es el proceso de descubrimiento de tendencias o patrones en grandes bases de dato con el objetivo de guiar futuras decisiones.

14/04/2011

Regla de asociacin
Regla de asociacin
Describe una relacin d asociacin entre l D ib l i de i i t los elementos de un conjunto de datos relevantes. Ejemplos
Estudiantes que cursan Inteligencia Artificial tienden a cursar Taller de Sistemas Multiagentes. Clientes que adquieren un producto lcteo tienden a q q p comprar un producto de panificados. Artculos que referencian Srikant & Agrawal (1997) referencian tambin a Agrawal et al. (1993)

Origen: Market Basquet Analysis


Se denomina Canasta de Mercado (Market Basket) a una coleccin de tems que un cliente compra en una q p misma transaccin. Problema: identificar el conjunto de tems que son adquiridos en conjunto. Intenta identificar reglas de la forma:
{fideos} {salsa}
Significado: si son comprados fideos en una transaccin, es probable que tambin sea comprada salsa.

14/04/2011

Definicin: regla de asociacin


Forma general: X Y, donde X e Y son conjuntos de tems. X es denominado el antecedente de la regla e Y su consecuente.
Soporte: El soporte para X Y es el porcentaje de las transacciones que contienen todos los tems de X e Y.

Confianza: la confianza para X Y es el porcentaje de transacciones que contienen Y, entre las transacciones que contienen X.

Soporte y confianza
Soporte(X Y) = Prob(X Y) = Soporte(X Y)

Confianza (X Y) = Prob(Y / X) = Soporte (X Y) Soporte (X)

14/04/2011

Interpretacin de las mtricas


Regla con bajo soporte puede haber aparecido por casualidad. casualidad Regla con baja confianza es probable que no exista relacin entre antecedente y consecuente. Qu diferencia a X Y de Y X? Tienen el mismo soporte pero distinta confianza. {Fernet} {Coca Cola} vs. {Coca Cola} {Fernet}

Diferentes tipos de reglas de asociacin


Reglas de asociacin
Booleanas vs. Cuantitativas Unidimensionales vs. Multidimensionales Un nivel vs. Multinivel

14/04/2011

Diferentes tipos de reglas de asociacin


Reglas de asociacin booleanas vs. cuantitativas
Basadas en el tipo de valores manejados
{Compra(X, computadora)} alta resolucin) Compra(X, impresora) Compra(X, TV {Edad(X, 3034) Sueldo(X, 42K48K)}

Diferentes tipos de reglas de asociacin


Reglas unidimensionales vs. multidimensionales ltidi i l
Segn las dimensiones de los datos involucrados
{Compra(X, computadora)} alta resolucin) resolucin ) Compra(X, impresora) Compra(X, TV {Edad(X, 3034) Sueldo(X, 42K48K)}

14/04/2011

Diferentes tipos de reglas de asociacin


Reglas de un nivel vs. multinivel
Segn el nivel de abstraccin involucrado
Edad(X, 30-34) Edad(X, 30-34) Compra (X, Computadora Porttil) Compra (X, Computadora) Computadora

Computadora porttil Netbook Notebook

Computadora de escritorio

Agenda
Conceptos Algoritmos de descubrimientos de reglas de asociacin Post-procesamiento Actualizacin incremental de reglas Ejemplos de aplicacin Software

14/04/2011

Objetivo
Encontrar reglas de asociacin con valores de soporte y confianza altos altos.
Umbrales minsup y minconf definidos por el usuario.

Recordar: E R d Encontrar dichas reglas no significa que t di h l i ifi deba existir una relacin entre antecedente y consecuente. Por lo tanto, una persona debera evaluarlas manualmente.

Definicin formal del problema


I = { i1 , i2 , , im } es un conjunto de tems. t D es un conjunto de transacciones Tj. Cada transaccin Tj es un conjunto de C tems (subconjunto de I).

14/04/2011

Ejemplo
TID 1 2 3 4 5 Items ACD BCE ABCE BE ABCE

I = {A, B, C, D, E} { , , , , } D = {1, 2, 3, 4, 5} = {{A,C,D}, {B,C,E}, {A,B,C,E}, {B,E,}, {A,B,C,E}}

Itemsets
TID 1 2 3 4 5 Items ACD BCE ABCE BE ABCE

Un itemset es un conjunto de tems. Si X es un itemset, X I. Un itemset que contiene k tems es llamado k-itemset. Ej. {A,B} es un 2-itemset

El soporte de un itemset X es el porcentaje de transacciones en D que contienen X Soporte(X) = |{T D / X T}| |D| Soporte({A,B}) = 2/5 = 0.4

14/04/2011

Descomposicin del problema


El descubrimiento de reglas de asociacin puede ser descompuesto en dos subsub problemas:
1.

2.

Encontrar todos los itemsets que tienen soporte mayor que el soporte mnimo (itemsets frecuentes). Utilizar los itemsets frecuentes para generar las reglas deseadas.
Por d itemset f P cada it t frecuente L encontrar todos los t L, t t d l subconjuntos no vacios, y para cada subconjunto generar una regla {a} {L-a} si la confianza es mayor que la confianza mnima.

Algoritmos
Apriori y AprioriTid (Agrawal & Srikant,1994) Opus (Webb,1996) (Webb 1996) Direct Hasing and Pruning (DHP) (Adamo, 2001) Dynamic Set Counting (DIC) (Adamo, 2001) Charm (Zaki & Hsiao, 2002) FP-growth (H FP th (Han, P i & Yi 1999) Pei Yin, Closet (Pei, Han & Mao, 2000) .....

10

14/04/2011

Algoritmos
Los diferentes algoritmos deben siempre generar el mismo conocimiento. Qu los hace diferentes?
Forma en que los datos son cargados en memoria. Tiempo de procesamiento. Tipos de atributos (numricos, categricos). (numricos categricos) Forma en que los itemsets son generados. Estructura de datos utilizada.

Ejemplo
TID 111 112 113 114 tems lapicera, tinta, agenda lapicera tinta agenda, jabn lapicera, tinta, agenda lapicera, agenda lapicera, tinta, jabn, arroz

Ejecutar el algoritmo con soporte mnimo = 0.7 j g p Nivel 1: Encontrar 1-itemsets frecuentes
{lapicera}, {tinta}, {agenda}, {jabn}, {arroz}

11

14/04/2011

Ejemplo
TID 111 112 113 114 tems lapicera, tinta, agenda lapicera tinta agenda, jabn lapicera, tinta, agenda lapicera, agenda lapicera, tinta, jabn, arroz

Nivel 2: Chequear cada uno de los 2-itemsets 2 itemsets


{lapicera, tinta}, {lapicera, agenda}, {lapicera, jabn}, {lapicera, arroz}, {tinta, agenda}, {tinta, jabn}, {tinta, arroz}, {agenda, jabn}, {agenda, arroz}

Ejemplo
TID 111 112 113 114 tems lapicera, tinta, agenda lapicera tinta agenda, jabn lapicera, tinta, agenda lapicera, agenda lapicera, tinta, jabn, arroz

Nivel 3: Chequear cada uno de los 3-itemsets


{lapicera, ti t agenda}, {l i {l i tinta, d } {lapicera, ti t j b } tinta, jabn}, {lapicera, tinta, arroz}, {lapicera, agenda, jabn}, {lapicera, agenda, arroz}

Nivel 4: Chequear cada uno de los 4-itemsets


{lapicera, tinta, agenda, jabn} {lapicera, tinta, agenda, arroz}

12

14/04/2011

Ejemplo
TID 111 112 113 114 tems lapicera, tinta, agenda lapicera tinta agenda, jabn lapicera, tinta, agenda lapicera, agenda lapicera, tinta, jabn, arroz

Los itemsets frecuentes son:


{lapicera}, {tinta}, {agenda}, {lapicera, tinta}, {lapicera, agenda}

Refinamiento
Qu relacin existe entre los n-itemsets y los n+1-itemsets eliminados? n 1 itemsets
Ntese que hemos chequeado si {lapicera, arroz} es un itemset frecuente an cuando sabamos que {arroz} no era un itemset frecuente.

Refinamiento: extender los itemsets frecuentes de una forma que asegure que todos sus subconjuntos son itemsets frecuentes.

13

14/04/2011

Propiedad Apriori
La propiedad Apriori: cada subconjunto de un itemset frecuente debe ser tambin un itemset frecuente. Podemos crear itemsets frecuentes iterativamente, tomando los itemsets frecuentes de tamao n y extendindolos a itemsets frecuentes de tamao n+1.

Algoritmo Apriori
1.

Se calcula el soporte de cada tem individual, y se determinan los 1-itemsets frecuentes. En cada paso subsecuente, los itemsets frecuentes generados en los pasos anteriores se utilizan para generar los nuevos itemsets (itemsets candidatos). Se calcula el soporte de cada itemset candidato y se determinan los itemsets frecuentes frecuentes. El proceso contina hasta que no pueden ser encontrados nuevos itemsets frecuentes.

2.

3.

4.

14

14/04/2011

Ejemplo
D
TID 100 200 300 400 Items 134 235 1235 25

L1

Itemset {1} {2} {3} {5}

Soporte 2/4 3/4 3/4 3/4

C2

Itemset {1, 2} {1, 3} {1, 5} {2, 3} {2, 5} {3, 5}

Soporte 1/4 2/4 1/4 2/4 3/4 2/4

minsup= 0.5 L2
Itemset {1, 3} {2, 3} {2, 5} {3, 5} Soporte 2/4 2/4 3/4 2/4

C3

Itemset {2, 3, 5}

Soporte 2/4

L3

Itemset {2, 3, 5}

Soporte 2/4

Derivacin de reglas de asociacin


Para cada itemset frecuente I, generamos todos los subconjuntos no vacios de I I. Para cada subconjunto a I, generamos (I-a) si la taza una regla de la forma a entre soporte(I) y soporte(a) es al menos la confianza mnima (minconf) (minconf).

15

14/04/2011

Ejemplo
Itemsets frecuentes
Itemset {1, 3} {2, 3} {2, 5} {3, 5} {2, 3, 5} Soporte 2/4 2/4 3/4 2/4 2/4 Soporte 2/4 3/4 3/4 3/4

Reglas encontradas
Regla 1 2 3 2,3 2 3 3 3 3,5 1 5 3 2,5 2 Conf. Regla 2,5 2 5 5 3 5 3,5 35 3 5 2,3 2 5 3 2 Conf

L1

Itemset {1} {2} {3} {5}

Confianza(X Y) = Soporte (X,Y) Soporte (X)

Ejemplo
Itemsets frecuentes
Itemset {1, 3} {2, 3} {2, 5} {3, 5} {2, 3, 5} Soporte 2/4 2/4 3/4 2/4 2/4 Soporte 2/4 3/4 3/4 3/4

Reglas encontradas
Regla 1 2 3 2,3 2 3 3 3 3,5 1 5 3 2,5 2 Conf. 2/2 Regla 2,5 2 5 5 3 5 3,5 35 3 5 2,3 2 5 3 2 Conf

L1

Itemset {1} {2} {3} {5}

Confianza(X Y) = Soporte (X,Y) Soporte (X)

16

14/04/2011

Ejemplo
Itemsets frecuentes
Itemset {1, 3} {2, 3} {2, 5} {3, 5} {2, 3, 5} Soporte 2/4 2/4 3/4 2/4 2/4 Soporte 2/4 3/4 3/4 3/4

Reglas encontradas
Regla 1 2 3 2,3 2 3 3 3 3,5 1 5 3 2,5 2 Conf. 2/2 2/3 Regla 2,5 2 5 5 3 5 3,5 35 3 5 2,3 2 5 3 2 Conf

L1

Itemset {1} {2} {3} {5}

Confianza(X Y) = Soporte (X,Y) Soporte (X)

Ejemplo
Itemsets frecuentes
Itemset {1, 3} {2, 3} {2, 5} {3, 5} {2, 3, 5} Soporte 2/4 2/4 3/4 2/4 2/4 Soporte 2/4 3/4 3/4 3/4

Reglas encontradas
Regla 1 2 3 2,3 2 3 3 3 3,5 1 5 3 2,5 2 Conf. 2/2 2/3 2/3 2/2 2/3 2/3 2/3 Regla 2,5 2 5 5 3 5 3,5 35 3 5 2,3 2 5 3 2 Conf 2/3 3/3 2/3 3/3 2/3 2/3 2/2

L1

Itemset {1} {2} {3} {5}

Confianza(X Y) = Soporte (X,Y) Soporte (X) minconf = 0.9

17

14/04/2011

Ejemplo
Itemsets frecuentes
Itemset {1, 3} {2, 3} {2, 5} {3, 5} {2, 3, 5} Soporte 2/4 2/4 3/4 2/4 2/4 Soporte 2/4 3/4 3/4 3/4

Reglas encontradas
Regla 1 2 3 2,3 2 3 3 3 3,5 1 5 3 2,5 2 Conf. 2/2 2/3 2/3 2/2 2/3 2/3 2/3 Regla 2,5 2 5 5 3 5 3,5 35 3 5 2,3 2 5 3 2 Conf 2/3 3/3 2/3 3/3 2/3 2/3 2/2

L1

Itemset {1} {2} {3} {5}

Confianza(X Y) = Soporte (X,Y) Soporte (X) minconf = 0.9

Cuello de botella en Apriori


Centro del algoritmo Apriori
Utiliza los k 1 itemset frecuentes para generar los k itemsets candidatos k-1-itemset k-itemsets candidatos. Utiliza escaneo de la base de datos y coincidencia de patrones para contar itemsets candidatos.

Cuello de botella en la generacin de candidatos


Conjuntos candidatos de gran tamao
104 1-itemsets frecuentes generarn 107 2-itemsets candidatos. Cualquier conjunto de 100 tems tiene 2100 subconjuntos: patrones frecuentes con 100 tems necesitan 2100 candidatos!

Mltiples escaneos de la base de datos


Necesita n+1 escaneos, n es la longitud del patrn ms largo.

18

14/04/2011

Mejorar la eficiencia de Apriori


Reducir el numero de escaneos.
Hay k escaneos para k-itemsets.

Reducir el tamao y nmero de las transacciones.


No hay necesidad de representar tems no frecuentes.

Particionamiento. Minera d Mi de patrones frecuentes sin generacin d t f t i i de candidatos.

Algunos refinamientos
Algoritmos mejorados para el descubrimiento de itemsets frecuentes. Algoritmos mejorados para el descubrimiento de reglas de asociacin generalizadas y cuantitativas. Nuevas mtricas para otros tipos de datos (diferente a canasta de mercado) mercado).

19

14/04/2011

Reglas de asociacin multinivel (generalizadas)


tems forman frecuentemente jerarquas. jerarquas Cmo vara el soporte?
tems de los niveles inferiores tendrn bajo nivel de soporte.
Producto

Lcteo

Panificado

Leche

Pan

Pueden ser encontradas reglas a distintos Descremada D d niveles de la jerarqua.

Salvado S l d Entera Francs

Algoritmo Basic (Srikant y Agrawal, 1997)


Extiende el algoritmo Apriori. Una regla de asociacin generalizada X Y es definida idnticamente a una regla de asociacin regular, excepto que ningn tem de Y puede ser ancestro de un tem de X. Agregar todos los ancestros de cada tem en t a t, removiendo duplicados.

20

14/04/2011

Ejemplo multinivel
Producto Lcteo L t Panificado P ifi d

Queso

Crema

Leche

Prepizza

Pan

Tostadas

Untable
TID 111 112 113 114

Mozzarella

Descremada

Entera

Salvado

Francs

Transacciones untable, l. entera, francs, jabn mozzarella, prepizza l. descremada, salvado francs, untable, mermelada

Ejemplo multinivel
Producto Lcteo L t Panificado P ifi d

Queso

Crema

Leche

Prepizza

Pan

Tostadas

Untable
TID 111 112 113 114

Mozzarella

Descremada

Entera

Salvado

Francs

Transacciones extendidas untable, l. entera, francs, jabn, Queso, Lcteo, Leche, Pan, Panificado mozzarella, prepizza, Queso, Lcteo, Panificado l. descremada, salvado, Leche, Lcteo, Pan, Panificado francs, untable, mermelada, Pan, Panificado, Queso, Lcteo

21

14/04/2011

Ejemplo multinivel
TID 111 112 113 114 Itemset untable l. entera francs jabn mozzarella Transacciones extendidas untable, l. entera, francs, jabn, Queso, Lcteo, Leche, Pan, Panificado mozzarella, prepizza, Queso, Lcteo mozzarella prepizza Queso Lcteo, Panificado l. descremada, salvado, Leche, Lcteo, Pan, Panificado francs, untable, mermelada, Pan, Panificado, Queso, Lcteo Sop. 2/4 1/4 2/4 1/4 1/4 Itemset prepizza l. descrem. salvado mermelada Queso Sop. 1/4 1/4 1/4 1/4 3/4 Itemset Crema Leche Pan Lcteo Panificado Sop. 0/4 2/4 3/4 4/4 4/4

minsup = 0.5

Ejemplo multinivel
TID 111 112 113 114 Itemset untable l. entera francs jabn mozzarella Transacciones extendidas untable, l. entera, francs, jabn, Queso, Lcteo, Leche, Pan, Panificado mozzarella, prepizza, Queso, Lcteo mozzarella prepizza Queso Lcteo, Panificado l. descremada, salvado, Leche, Lcteo, Pan, Panificado francs, untable, mermelada, Pan, Panificado, Queso, Lcteo Sop. 2/4 1/4 2/4 1/4 1/4 Itemset prepizza l. descrem. salvado mermelada Queso Sop. 1/4 1/4 1/4 1/4 3/4 Itemset Crema Leche Pan Lcteo Panificado Sop. 0/4 2/4 3/4 4/4 4/4

minsup = 0.5

22

14/04/2011

Ejemplo multinivel
C2
Itemset untable, francs untable, Q t bl Queso untable, Leche untable, Pan untable, Lcteo untable, Panificado francs, Queso TID 111 112 113 114 Sop. 2/4 2/4 1/4 2/4 2/4 2/4 2/4 Itemset francs, Leche francs, P f Pan francs, Lcteo francs, Panificado Queso, Leche Queso, Pan Queso, Lcteo Sop. 1/4 2/4 2/4 2/4 1/4 2/4 2/4 Itemset Queso, Panificado Leche, Pan L h P Leche, Lcteo Leche, Panificado Pan, Lcteo Pan, Panificado Lcteo, Panificado Sop. 3/4 2/4 2/4 2/4 3/4 3/4 4/4

Transacciones extendidas untable, l. entera, francs, jabn, Queso, Lcteo, Leche, Pan, Panificado mozzarella, prepizza, Queso, Lcteo, Panificado l. descremada, salvado, Leche, Lcteo, Pan, Panificado francs, untable, mermelada, Pan, Panificado, Queso, Lcteo

Ejemplo multinivel
L2
Itemset untable, francs untable, P t bl Pan untable, Panificado francs, Queso francs, Lcteo Queso, Pan Itemset Queso, Panificado Leche, Pan L h P Leche, Panificado Pan, Lcteo Lcteo, Panificado

C3

Itemset untable, francs, Leche untable, Pan, Leche untable, Panificado, Leche francs, Queso, Leche Queso, Pan, Leche Queso, Panificado, Leche

Sop. 1/4 1/4 1/4 1/4 1/4 1/4

TID 111 112 113 114

Transacciones extendidas untable, l. entera, francs, jabn, Queso, Lcteo, Leche, Pan, Panificado mozzarella, prepizza, Queso, Lcteo, Panificado l. descremada, salvado, Leche, Lcteo, Pan, Panificado francs, untable, mermelada, Pan, Panificado, Queso, Lcteo

23

14/04/2011

Ejemplo multinivel
Regla untable untable untable francs francs Queso francs Pan C 2/2 2/2 Regla francs Pan untable untable, untable francs francs Queso C 2/2 Queso 2/3 Leche Regla C Regla Queso C 3/4 2/3 2/4 3/3 4/4 Panificado 3/3 Panificado Pan 2/2 Pan Leche Leche Pan Lcteo

Panificado 2/2 Queso Lcteo Pan 2/2 2/2 2/3 Sop. 2/4 2/4 2/4 3/4 4/4 4/4 3/4

Panificado Queso Lcteo Pan

2/4 Leche 2/3 Pan

Panificado 2/2 Panificado Lcteo 3/3 Lcteo

2/4 Lcteo 2/3 Itemset

Panificado 4/4 Panificado

L1

Itemset untable francs Leche Pan Lcteo Panificado Queso

L2

Sop. 2/4 2/4 2/4 2/4 2/4 2/4

Itemset Queso, Pan Queso, Queso Panificado Leche, Pan Leche, Panificado Pan, Lcteo Lcteo, Panificado

Sop. 2/4 3/4 2/4 2/4 3/4 4/4

untable, francs untable, untable Pan untable, Panificado francs, Queso francs, Leche francs, Lcteo

minconf = 0.9

Atributos cuantitativos
Ejemplos anteriores: binarios Atributos cuantitativos
Transformar a categricos
Crear intervalos discretos

Por ejemplo, edad, altura, ingresos.


Nio (0..10), Adolecente (11 18) Joven (19 30) (0 10) (11..18), (19,30), Adulto (31,50) Juan: 30, Pedro: 31 Juan: Joven, Pedro: Adulto

Problema de la frontera

24

14/04/2011

Solucin al problema de la frontera


Solapamiento de intervalos
Nio (0 12) Adolecente (8 20) J Ni (0..12), Ad l (8..20), Joven (16 32) (16,32), Adulto (28,50) Juan: 30, Pedro: 31 Juan, Pedro: Joven y Adulto

Conjuntos difusos (fuzzy set)


Un elemento puede pertenecer a un conjunto con un valor de membresa en [0,1] Funcin de membresa m f x ( x) = Dx [0,1]

Reglas de asociacin difusas


Dada una base transaccional D = {t1, , tn} y un conjunto de atributos o tems I = {I1, , Im} presentes en las transacciones almacenadas en D. Cada tem Ij tendr asociado una serie de regiones difusas FIj = {fIj1, , fIjp}
FEdad = {nio, adolescente, joven, adulto}
1 Mnio Madol. Mjoven Madult.

0 1 5 10 15 20 25 30 35 40 45 50 55

25

14/04/2011

Reglas de asociacin difusas


Entonces, un algoritmo de reglas de asociacin dif i i difusas ser capaz d de encontrar reglas de la siguiente forma:
X, A Y, B en donde
X e Y son conjuntos de atributos A y B contienen las regiones difusas asociadas con los correspondientes atributos de X e Y .
Si Edad es Joven Ingreso es Medio

Soporte difuso
Soporte difuso de un itemset
FSop ( X , A ) =
ti D x j X

i aj

(x j )

i donde a ( x j ) es el grado de membresa del atributo x j en la transaccin i sima a la i-sima regin difusa a j
j

26

14/04/2011

Confianza difusa
Soporte de una regla difusa
FSop ( X , A Y , B ) = FSop ( X Y , A B)

Confianza de una regla difusa


FConf ( X , A Y , B ) = FSop ( X Y , A B) FSop ( X , A )

Algoritmos de descubrimiento de reglas de asociacin difusas


Reglas de asociacin difusas (Kuok et al., 1998) l Reglas de asociacin difusas y generalizadas (Hong et al.,2003) Survey (Delgado et al., 2003)

27

14/04/2011

Agenda
Conceptos Algoritmos de descubrimientos de reglas de asociacin Post-procesamiento Actualizacin incremental de reglas Ejemplos de aplicacin Software

Post-procesamiento
Numerosas reglas son generadas en el proceso de descubrimiento
Reglas triviales
Preada Hembra [0.2, 1.0] Fernet Coca Cola [0.15, 0.95]

Reglas redundantes
Alta velocidad Tuvo un accidente [0.1, 0.4] Alta velocidad, Nacido en MDP Tuvo un accidente [0.09, 0.42]

28

14/04/2011

Tareas de post-procesamiento
Filtrar reglas no interesantes. Filtrar reglas insignificantes. Eliminar reglas redundantes. Resumir las reglas restantes.

Filtrado de reglas no interesantes


El estudio del inters de las reglas de asociacin apunta a presentar l reglas i i t t las l que son interesantes para el usuario. Relacionado al estudio de reglas de asociacin imprevisibles o inesperadas inesperadas.

29

14/04/2011

Reglas interesantes: dos enfoques


Mtricas objetivas ( j (basada en los datos) )
Reglas son ordenadas segn un sistema de ranking predefinido. Reglas son filtradas segn un conjunto de reglas de podado predefinidas.

Mtricas subjetivas (basada en el usuario)


Se requiere a los usuarios especificar q p si las reglas son interesantes.
Es imposible hacerlo regla por regla. Por lo tanto, las reglas deben ser procesadas conjuntamente.

Mtricas objetivas
Lift (a.k.a interest and strength) (Brin et al.,1997; Dhar & Tuzhilin, Tuzhilin 1993) Conviction (Brin et al.,1997) Gain (Fukuda et al., 1996) Chi-squared value (Morimoto et al., 1998) Laplace (Webb, 1995) Gini (Morimoto et al., 1998) Piatetsky-Shapiro (Piatetsky & Shapiro, 1991) Entropy gain (Morimoto et al., 1998)

30

14/04/2011

Problemas del framework soporteconfianza


P(X): probabilidad de que una transaccin T de la base D contenga el itemset X. P(X,Y): probabilidad que ambos X e Y sean contenidos por T en D. Si X e Y son estocsticamente independientes
P(X)*P(Y)=P(X,Y)

Entonces la confianza de la regla X


Conf(X Y)= P(Y/X) = P(Y)

Y ser:

As, As si el itemset Y ocurre frecuentemente en los datos la regla X Y datos, tambin tendr un valor de confianza alto. Esto sugiere una dependencia de Y con X aunque, de hecho, ambos itemsets son estocsticamente independientes.

Lift (inters y fuerza)


Lift indica la proporcin entre el soporte observado de un conjunto de tems respecto del soporte terico de ese conjunto dado el supuesto de independencia. p Un valor de lift = 1 indica que ese conjunto aparece una cantidad de veces acorde a lo esperado bajo condiciones de independencia. Un valor de lift > 1 indica que ese conjunto aparece una cantidad de veces superior a lo esperado bajo condiciones de independencia (por lo que se puede intuir que existe una relacin que hace que los tems se encuentren en el conjunto ms veces de lo normal). Un valor de lift < 1 indica que ese conjunto aparece una cantidad de veces inferior a lo esperado bajo condiciones de independencia (por lo que se puede intuir que existe una relacin que hace que los tems no estn formando parte del mismo conjunto ms veces de lo normal) normal).

lift(X

Y) = conf(X conf(X

Y) / P(Y) Y) / sup(Y)

31

14/04/2011

Conviction
P(Y): probabilidad de una transaccin T en D con Y T. P(X,Y): probabilidad de una transaccin T en D que contenga X pero no Y t Y. Conviction expresa que tan independientes son las variables X e Y. Altos valores para conv(X Y), cuando P(X, Y) tiende a cero, afirman la conviccin de que esta regla representa una causalidad.
conviction(X conviction(X Y) = P(X).P(Y) / P(X, Y) Y) = |D| - sup(Y) / |D|.(1-conf(X Y)

Mtricas subjetivas
Reglas interesantes y no interesantes pueden ser especificadas con un template (Klementinen et al., 1994). Un template especifica que atributos deben figurar en el antecedente y consecuente de una regla.
Ej. Cualquier regla de la forma Preada & (otras condiciones) Hembra no es interesante.

32

14/04/2011

Templates
Un template es una expresin de la forma:
A1,...,Ak Ak+1,..,An

donde cada Ai es un nombre de atributo, un nombre de clase, o una expresin C+ y C*, que corresponden a uno o mas y cero o g mas instancias de la clase C, respectivamente. Una regla B1,...,Bh Bh+1,...,Bm corresponde a un patrn si la regla puede ser considerada una instancia de dicho patrn.

Restricciones de tems
Las restricciones son expresiones booleanas sobre la presencia o ausencia de tems en las reglas.
Si existe una taxonoma, los elementos de las expresiones booleanas pueden ser tems ancestros o descendentes.

Restricciones son embebidas en el algoritmo de reglas de asociacin. g


Mayor eficiente que el post-procesamiento.

33

14/04/2011

Eliminar reglas redundantes


R1: Alta velocidad Tuvo un accidente [0.1, 0.4] Tuvo un accidente [0 09 0 42] Tuvo accidente [0.09, 0.42] R2: Alta velocidad, Nacido en MDP Alta velocidad Nacido MDP

Si conocemos R1, entonces R2 es insignificante dado que da muy poca informacin extra. La escasa diferencia entre los valores de confianza es ms probable que sea producto de una casualidad que de una correlacin verdadera verdadera. Reglas generales y simples son preferidas
R2 debera ser filtrada dado que R1 es ms general y simple.

Agenda
Conceptos Algoritmos de descubrimientos de reglas de asociacin Post-procesamiento Actualizacin incremental de reglas Ejemplos de aplicacin Software

34

14/04/2011

Actualizacin incremental de reglas de asociacin


Las reglas descubiertas a partir de una base de datos, slo reflejan el estado actual de la misma. Para lograr que las reglas descubiertas sean estables y confiables, una gran cantidad de datos debera se recolectada durante un perodo sustancial de tiempo.

Por ejemplo, en una base de datos de ventas, nuevos registros son agregados frecuentemente, y registros viejos pueden ser eliminados.

Las actualizaciones en una base de datos puede introducir nuevas reglas de asociacin e invalidar las existentes. Por lo tanto, es importante el estudio de algoritmos eficientes para la actualizacin incremental de dichas reglas.

Solucin
El problema de la actualizacin puede ser reducido a encontrar el nuevo conjunto de itemsets frecuentes. Luego, las nuevas reglas d asociacin f t L l l de i i pueden ser generadas a partir de estos nuevos itemsets.
Un itemset frecuente anterior a una actualizacin de la base de datos puede convertirse en un itemset no frecuente luego de que se realice la actualizacin. Un itemset no frecuente anterior a una actualizacin podra convertirse en frecuente luego de que la misma se realice.

35

14/04/2011

Enfoque trivial
Ejecutar nuevamente el algoritmo de descubrimiento de reglas de asociacin sobre toda la base. Desventaja: todo el computo realizado inicialmente para encontrar los itemsets frecuentes es desaprovechado y todos los itemsets deben ser computados desde cero.

Algoritmos
FUP (Fast Update) (Cheung et al., 1996) actualiza las reglas de asociacin cuando nuevas transacciones son agregadas a la base de datos datos. FUP2 (Cheung et al., 1997) actualiza las reglas de asociacin cuando transacciones son agregadas a, eliminadas de o actualizadas en la base de datos. UWEP [Ayan99] (Update With Early Pruning) IDIC_1 y IDIC_M [Ng99] GSP+ y MFS+ [Zhang02] ...

36

14/04/2011

Agenda
Conceptos Ejemplos Algoritmos de descubrimientos de reglas de asociacin Post-procesamiento Actualizacin incremental de reglas g Ejemplos de aplicacin en agentes Software

Negociacin basada en argumentacin


Agentes deben negociar para resolver conflictos. Negociacin
Intercambio de propuestas Argumentos
Justificar una propuesta propia. Influenciar l postura d negociacin d un oponente. I fl i la t de i i de t Argumentos retricos
Apelaciones Recompensas Amenazas

37

14/04/2011

Problema
Queremos que un agente negociador aprenda como generar argumentos a d t partir de la observacin de otros agentes en el contexto de una negociacin.
Aprender las reglas de generacin de argumentos.

Argumentos
appeal(Ai, Aj , do(Aj , Action), [Just])
appeal(x, y do(y actionA), [imply(do(y, actionA), goal1), appeal(x y, do(y, actionA) [imply(do(y actionA) goal1) hasgoal( y, goal(goal1))])

reward(Ai, Aj , do(Aj , Actionh), [do(Ai, Actionk)]) threat(Ai, Aj , do(Aj , Actionh), [do(Ai, Actionk)])

38

14/04/2011

Generacin de argumentos
Reglas explicitas
Especifican las condiciones que el contexto de la negociacin debe cumplir.
Apelacin de inters propio:
Condiciones: hasgoal(Y, goal(Goal)), believe(X, imply(do(Y, Action), Goal)) Argumento: appeal(X, Y, do(Y, Action), [imply(do(Y, Action), Goal), hasgoal( Y, goal(Goal))])

Recompensa:
Condiciones: hasgoal(Y, goal(Goal)), believe(Y, hasgoal(Y goal(Goal)) believe(Y imply(do(X, ActionR), Goal)), hasgoal(X,goal(Goal2)), believe(X, imply(do(Y, ActionP), Goal2)) Argumento: reward(X, Y, do(Y, ActionP), [do(X, ActionR)])

Contexto de la negociacin
Reglas

Negociacin
Hechos del Contexto

Reglas

39

14/04/2011

Hechos del contexto


goal(G): G es un objetivo. hasgoal(A, goal(G)): el agente A tiene el objetivo G. believe(A, B): el usuario A cree B en otras palabras A ti b li (A B) l i B, t l b tiene B entre sus creencias. prefer(A, goal(G1), goal(G2)): el agente A prefiere cumplir el objetivo G1 en lugar de cumplirel objetivo G2. accept(P): representa la aceptacin de la propuesta P. reject(P): representa el rechazo de la propuesta P. pastpromise(Ai, Aj , P): el usuario Ai ha prometido al usuario Aj cumplir la propuesta P. do(A,Action): do(A Action): representa la ejecucin de la accin Action por parte de A. Action puede ser instanciada con accept(P) o reject(P). wasgoal(A, goal(G)): A persigui el objetivo G en el pasado. Hechos did(A, Action): A ejecut la accin Action anteriormente. del
Contexto

Contexto de la negociacin
Incertidumbre
Los L agentes mantienen las reglas que utilizan t ti l l tili para la generacin de argumentos privadas.
No se tiene certeza de que hechos del contexto observan.

Especificidad
La informacin observada est instanciada en un contexto especifico.
Las reglas obtenidas deben poder aplicarse en distintos contextos.

40

14/04/2011

Observaciones
Base de observaciones O
o = (H, a) H = {h1 hn}

Observaciones (ejemplo)
Hechos
hasgoal(i1,goal(date(thursday))). hasgoal(i1,goal(discusstopic(topic1))). hasgoal(i1,goal(not(discusstopic(topic4)))). prefer(i1,goal(not(time(night))),goal(not(inplace(room1)))). prefer(i1,goal(date(wednesday)),goal(date(tuesday))). believe(i2, imply(do(_,accept(discusstopic(topic2))),inplace(lab))). believe(i2, imply(do(_,accept(discusstopic(topic3))),inplace(room1))). believe(i2, imply(do(_,accept(discusstopic(topic3))),inplace(room2))). hasgoal(i3,goal(inplace(room1))). pastpromise(i3,i1,do(i3,accept(discusstopic(topic3)))). pastpromise(i1,i2,do(i1,accept(inplace(room1)))). pastpromise(i4,i1,do(i4,accept(discusstopic(topic2)))). did(i2,accept(time(night))). did(i1,accept(inplace(lab))). did(i3,accept(inplace(room2))). wasgoal(i3,goal(not(discusstopic(topic3)))). wasgoal(i4,goal(not(inplace(cafe)))). ..

Argumento
reward(a1, a2, do(a2, accept(discusstopic(topic1))), [do(a1, accept(discusstopic(topic2)))])

41

14/04/2011

Definicin de transacciones
Base de observaciones O Reglas deseadas
C a
C = {c1 cn} CH

o = (H, a) H = {h1 hn}

Funcin de membresa
Determina la relacin probable entre el argumento generado a y cada hecho observado hi ma(hi) : H [0; 1]

Transaccin
Para cada observacin oj = ({hj1, ..., hjn},aj) construimos una transaccin tj = (hj1, ..., hjn,aj) donde mja > 0.

Funcin de membresa
Basada en reglas
relatedTo(Emisor, R l t dT (E i Receptor, H h t Hecho_observado, b d Hecho_relacionado, Index)

Ejemplo
relatedTo(_, _, do(U, Action), hasgoal(U, goal(Goal)), Index)
believe(U, imply(do(U, Action),Goal)), hasgoal(U, goal(Goal)), h l(U l(G l)) Index = 0.8.

42

14/04/2011

Taxonoma de condiciones y argumentos


Relacin de inclusin Parte de la taxonoma
hasgoal(A, goal(G))
hasgoal(A, goal(discusstopic(T))) hasgoal(A, goal(inplace(P)))
hasgoal(A, goal(discusstopic(topic1))) hasgoal(A, goal(discusstopic(topic2))) hasgoal(a1, goal(discusstopic(topic1))) hasgoal(a2, goal(discusstopic(topic1)))

hasgoal(a1, goal(discusstopic(T)))

Ejecucin del algoritmo


Algoritmo de descubrimiento difuso de reglas d asociacin generalizadas. l de i i li d

43

14/04/2011

Reglas descubiertas
believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [ p y( ( [imply(do(AGENT0, ACTION0), GOAL0), hasgoal(AGENT0, GOAL0)])] ) ) g ( )])] hasgoal(AGENT0, goal(GOAL0)), believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [imply(do(AGENT0, ACTION0), GOAL0), hasgoal(AGENT0, GOAL0)])] believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) believe(AGENT0, imply(do(AGENT0, ACTION0), GOAL0)) hasgoal(AGENT0, goal(discusstopic(T))), believe(AGENT1, imply(do(AGENT0, ACTION0), discusstopic(T))) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [imply(do(AGENT0, ACTION0), discusstopic(T)), hasgoal(AGENT0, discusstopic(T))])]

Post-procesamiento
Filtrado por template
{ci,. . . , cp} aj

Suficiencia
Suf(r) = condTotales(r) . condPromedio(transaccionesSoportando(r))

Reglas ancestros
Conservar las reglas con mayor grado de generalidad

44

14/04/2011

Reglas descubiertas
believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [ p y( ( [imply(do(AGENT0, ACTION0), GOAL0), hasgoal(AGENT0, GOAL0)])] ) ) g ( )])] hasgoal(AGENT0, goal(GOAL0)), believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [imply(do(AGENT0, ACTION0), GOAL0), hasgoal(AGENT0, GOAL0)])] believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) believe(AGENT0, imply(do(AGENT0, ACTION0), GOAL0)) hasgoal(AGENT0, goal(discusstopic(T))), believe(AGENT1, imply(do(AGENT0, ACTION0), discusstopic(T))) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [imply(do(AGENT0, ACTION0), discusstopic(T)), hasgoal(AGENT0, discusstopic(T))])]

Reglas descubiertas
believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [ p y( ( [imply(do(AGENT0, ACTION0), GOAL0), hasgoal(AGENT0, GOAL0)])] ) ) g ( )])] hasgoal(AGENT0, goal(GOAL0)), believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [imply(do(AGENT0, ACTION0), GOAL0), hasgoal(AGENT0, GOAL0)])] believe(AGENT1, imply(do(AGENT0, ACTION0), GOAL0)) believe(AGENT0, imply(do(AGENT0, ACTION0), GOAL0)) hasgoal(AGENT0, goal(discusstopic(T))), believe(AGENT1, imply(do(AGENT0, ACTION0), discusstopic(T))) [appeal(AGENT1, AGENT0, do(AGENT0, ACTION0), [imply(do(AGENT0, ACTION0), discusstopic(T)), hasgoal(AGENT0, discusstopic(T))])]

45

14/04/2011

Agenda
Conceptos Ejemplos Algoritmos de descubrimientos de reglas de asociacin Post-procesamiento Actualizacin incremental de reglas g Ejemplos de aplicacin en agentes Software

Software
Weka (http://www.cs.waikato.ac.nz/~ml/weka/) AIAS: Association Interestingness Analysis System (http://www.comp.nus.edu.sg/~dm2) Gnome Data Mine (linux): (http://www.togaware.com/datamining/gdatamine/gdmaprio ri.html) FIMI, FIMI Frequent Itemset Mining Implementations repository, repository incluye software y datasets. Useful links: http://www.kdnuggets.com/software/associations.html

46

14/04/2011

Conclusiones
Las reglas de asociacin son tiles para descubrir asociaciones entre conjuntos de tems en una base de datos de transacciones. Puede ser utilizado en mltiples dominios: anlisis de canasta de mercado, datos de censos, etc.. Varios algoritmos de descubrimiento de reglas de asociacin, descubren el mismo conocimiento. Son necesarias diversas tareas de post-procesamiento para g g eliminar reglas no interesantes, podar reglas redundantes, etc. Extensiones: Reglas de asociacin generalizadas, difusas, temporales, etc.

Preguntas

47

14/04/2011

Referencias
R. Agrawal, R. Srikant - Fast Algorithms for Mining Association Rules - Proc. of the 20th International Conference on Very Large Databases, Santiago, Chile, Sept. 1994. M. Klemetinen, H. Mannila, P. Ronkainen, H. Toivonen, and A. Verkamo. Finding interesting rules from large sets of discovered association rules Proc CIKM 1994 rules. Proc. CIKM, 1994. D. Shah, L. V. S. Lakshmanan, K. Ramamritham, and S. Sudarshan. Interestingness and pruning of mined patterns. In 1999 ACM SIGMOD Workshop on Research Issues in Data Mining and Knowledge Discovery, 1999. Geoffrey I. Webb. OPUS: An efficient admissible algorithm for unordered search. Journal of Artificial Intelligence Research, 3:45--83, 1996. Jean-Marc Adamo - Data Mining For Association Rules and Sequential Patterns Sequential and Parallel Algorithms (2001) - Springer Mohammed J. Zaki, Ching-Jui Hsiao - CHARM: An Efficient Algorithm for Closed Itemset Mining (2002) J. Han, J. Pei, and Y. Yin. Mining frequent patterns without candidate generation. Technical Report TR-99-12, Computing Science Technical Report, Simon Fraser University, October 1999 J. Pei, J. Han, and R. Mao. CLOSET: An efficient algorithm for mining frequent closed itemsets. In DMKD 2000, pp. 11--20 C.M. Kuok, A.W. Fu, and M.H. Wong. Mining fuzzy association rules in databases. SIGMOD Record, 27(1):41-46, 1998. T. Hong, K. Lin, and S. Wang. Fuzzy data mining for interesting generalized association rules. Fuzzy Sets Syst., 138(2):255269, 2003. M. Delgado, N. Marn, D. Sanchez, and M.A. Vila. Mining fuzzy association rules: An overview. BISC International Workshop on Soft computing for Inter- net and Bioinformatics, pages 351-374, 2003.

Referencias
S Brin, R. Motwani, J. D. Ullman and Shalom Tsur - Dynamic itemset counting and implication rules for market basket data Proc. of the 1997 ACM SIGMOD International conference on Management of data 1997 pp 255 - 264 V. V Dhar and A Tuzhilin - Abstract Driven Pattern Discovery in Databases - In: IEEE Transactions on A. Abstract-Driven Knowledge and Data Engineering 5 (6) (1993). T. Fukuda, Y.Morimoto, S. Morishita and T. Tokuyama - Data mining using two-dimensional optimized association rules: scheme, algorithms, and visualization Proc.of the 1996 ACM SIGMOD international conference on Management of data 1996 pp 13 - 23 Y. Morimoto and T. Fukuda and H. Matsuzawa and T.Tokuyama and K. Yoda - "Algorithms for Mining Association Rules for Binary Segmentations of Huge Categorical Databases - In: "Proceedings of the 24th Very Large Data Bases Conference", pp. 380--391 G. Webb - "OPUS: An Efficient Admisible Algorithm for Unordered Search - In: Journal of Artificial Intelligence Research 3 pp. 431--465 (1995). G. Piatetsky-Shapiro - "Discovery, Analysis, and Presentation of Strong Rules - Published by: AAAI/MIT Press, 1991. Chapter 13. D. Cheung, S.D. Lee, Benjamin Kao A General Incremental Technique for Maintaining Discovered Association Rules Proc. 5th International Conference on Database Systems for Advanced Applications 1997 D. Cheung, J. Han, V. Ng, C. Wong Maintenance of Discovered Association Rules in Large Databases: An Incremental Updating Technique Proc. 1996 International Conference on Data Engineering pp. 106 -114 1996 S.D.Lee anad D. Cheung Maintenance of Discovered Association Rules: When to update? Proc. Of SIGMOD Wrkshop on Research Issues in DM and KD - 1997

48

También podría gustarte