Reglas de Asociacion

download Reglas de Asociacion

of 48

Transcript of Reglas de Asociacion

14/04/2011

Reglas de asociacinInteligencia ArtificialDr. Ariel [email protected]

ISISTAN - UNICEN

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

1

14/04/2011

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

IntroduccinReglas 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.

2

14/04/2011

Regla de asociacinRegla de asociacinDescribe una relacin d asociacin entre l D ib l i de i i t los elementos de un conjunto de datos relevantes. EjemplosEstudiantes 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 AnalysisSe 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.

3

14/04/2011

Definicin: regla de asociacinForma 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 confianzaSoporte(X Y) = Prob(X Y) = Soporte(X Y)

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

4

14/04/2011

Interpretacin de las mtricasRegla 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 asociacinReglas de asociacinBooleanas vs. Cuantitativas Unidimensionales vs. Multidimensionales Un nivel vs. Multinivel

5

14/04/2011

Diferentes tipos de reglas de asociacinReglas de asociacin booleanas vs. cuantitativasBasadas 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 asociacinReglas unidimensionales vs. multidimensionales ltidi i lSegn las dimensiones de los datos involucrados{Compra(X, computadora)} alta resolucin) resolucin ) Compra(X, impresora) Compra(X, TV {Edad(X, 3034) Sueldo(X, 42K48K)}

6

14/04/2011

Diferentes tipos de reglas de asociacinReglas de un nivel vs. multinivelSegn el nivel de abstraccin involucradoEdad(X, 30-34) Edad(X, 30-34) Compra (X, Computadora Porttil) Compra (X, Computadora) Computadora

Computadora porttil Netbook Notebook

Computadora de escritorio

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

7

14/04/2011

ObjetivoEncontrar 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 problemaI = { 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).

8

14/04/2011

EjemploTID 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}}

ItemsetsTID 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

9

14/04/2011

Descomposicin del problemaEl 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.

AlgoritmosApriori 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

AlgoritmosLos 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.

EjemploTID 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

EjemploTID 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}

EjemploTID 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

EjemploTID 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}

RefinamientoQu relacin existe entre los n-itemsets y los n+1-itemsets eliminados? n 1 itemsetsNtese 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 AprioriLa 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 Apriori1.

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

EjemploDTID 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 L2Itemset {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 asociacinPara 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

EjemploItemsets frecuentesItemset {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 encontradasRegla 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)

EjemploItemsets frecuentesItemset {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 encontradasRegla 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

EjemploItemsets frecuentesItemset {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 encontradasRegla 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)

EjemploItemsets frecuentesItemset {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 encontradasRegla 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

EjemploItemsets frecuentesItemset {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 encontradasRegla 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 AprioriCentro del algoritmo AprioriUtiliza 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 candidatosConjuntos candidatos de gran tamao104 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 datosNecesita n+1 escaneos, n es la longitud del patrn ms largo.

18

14/04/2011

Mejorar la eficiencia de AprioriReducir 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 refinamientosAlgoritmos 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 multinivelProducto Lcteo L t Panificado P ifi d

Queso

Crema

Leche

Prepizza

Pan

Tostadas

UntableTID 111 112 113 114

Mozzarella

Descremada

Entera

Salvado

Francs

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

Ejemplo multinivelProducto Lcteo L t Panificado P ifi d

Queso

Crema

Leche

Prepizza

Pan

Tostadas

UntableTID 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 multinivelTID 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 multinivelTID 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 multinivelC2Itemset 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 multinivelL2Itemset 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 multinivelRegla 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 cuantitativosEjemplos anteriores: binarios Atributos cuantitativosTransformar a categricosCrear 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 fronteraSolapamiento de intervalosNio (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 difusasDada 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 difusasEntonces, 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 dondeX 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 difusoSoporte difuso de un itemsetFSop ( X , A ) =ti D x j X

D

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 jj

26

14/04/2011

Confianza difusaSoporte de una regla difusaFSop ( X , A Y , B ) = FSop ( X Y , A B)

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

Algoritmos de descubrimiento de reglas de asociacin difusasReglas 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

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

Post-procesamientoNumerosas reglas son generadas en el proceso de descubrimientoReglas trivialesPreada Hembra [0.2, 1.0] Fernet Coca Cola [0.15, 0.95]

Reglas redundantesAlta 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-procesamientoFiltrar reglas no interesantes. Filtrar reglas insignificantes. Eliminar reglas redundantes. Resumir las reglas restantes.

Filtrado de reglas no interesantesEl 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 enfoquesMtricas 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 objetivasLift (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 soporteconfianzaP(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 independientesP(X)*P(Y)=P(X,Y)

Entonces la confianza de la regla XConf(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

ConvictionP(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 subjetivasReglas 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

TemplatesUn 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 temsLas 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. gMayor eficiente que el post-procesamiento.

33

14/04/2011

Eliminar reglas redundantesR1: 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 preferidasR2 debera ser filtrada dado que R1 es ms general y simple.

AgendaConceptos 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 asociacinLas 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.

SolucinEl 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 trivialEjecutar 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.

AlgoritmosFUP (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

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

Negociacin basada en argumentacinAgentes deben negociar para resolver conflictos. NegociacinIntercambio de propuestas ArgumentosJustificar una propuesta propia. Influenciar l postura d negociacin d un oponente. I fl i la t de i i de t Argumentos retricosApelaciones Recompensas Amenazas

37

14/04/2011

ProblemaQueremos 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.

Argumentosappeal(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 argumentosReglas explicitasEspecifican 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 negociacinReglas

NegociacinHechos del Contexto

Reglas

39

14/04/2011

Hechos del contextogoal(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. delContexto

Contexto de la negociacinIncertidumbreLos 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.

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

40

14/04/2011

ObservacionesBase de observaciones Oo = (H, a) H = {h1 hn}

Observaciones (ejemplo)Hechoshasgoal(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)))). ..

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

41

14/04/2011

Definicin de transaccionesBase de observaciones O Reglas deseadasC aC = {c1 cn} CH

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

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

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

Funcin de membresaBasada en reglasrelatedTo(Emisor, R l t dT (E i Receptor, H h t Hecho_observado, b d Hecho_relacionado, Index)

EjemplorelatedTo(_, _, 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 argumentosRelacin de inclusin Parte de la taxonomahasgoal(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 algoritmoAlgoritmo de descubrimiento difuso de reglas d asociacin generalizadas. l de i i li d

43

14/04/2011

Reglas descubiertasbelieve(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-procesamientoFiltrado por template{ci,. . . , cp} aj

SuficienciaSuf(r) = condTotales(r) . condPromedio(transaccionesSoportando(r))

Reglas ancestrosConservar las reglas con mayor grado de generalidad

44

14/04/2011

Reglas descubiertasbelieve(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 descubiertasbelieve(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

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

SoftwareWeka (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

ConclusionesLas 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

ReferenciasR. 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.

ReferenciasS 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