LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

21
LCM: na efficient algorithm LCM: na efficient algorithm for enumerating frequent for enumerating frequent closed item sets closed item sets T. Uno, T. Asai, H. Arimura T. Uno, T. Asai, H. Arimura Apresentação: Luiz Henrique Longhi Apresentação: Luiz Henrique Longhi Rossi Rossi

description

LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura. Apresentação: Luiz Henrique Longhi Rossi. Definições. E é o universo de todos os itens; X é um subconjunto de E. R é o conjunto de transações sobre E - PowerPoint PPT Presentation

Transcript of LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

Page 1: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

LCM: na efficient algorithm for LCM: na efficient algorithm for enumerating frequent closed item setsenumerating frequent closed item sets

T. Uno, T. Asai, H. ArimuraT. Uno, T. Asai, H. Arimura

Apresentação: Luiz Henrique Longhi RossiApresentação: Luiz Henrique Longhi Rossi

Page 2: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

DefiniçõesDefinições

E é o universo de todos os itens;E é o universo de todos os itens; X é um subconjunto de E.X é um subconjunto de E. R é o conjunto de transações sobre ER é o conjunto de transações sobre E R(X) = {t R(X) = {t R | X R | X t} será o conjunto t} será o conjunto

de transações incluindo X;de transações incluindo X; α é uma constante, α α é uma constante, α >> 0; 0; Um conjunto X é chamado de Um conjunto X é chamado de

freqüente se |R(X)| freqüente se |R(X)| >> α; α;

Page 3: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

DefiniçõesDefinições

Se um conjunto freqüente está contido em Se um conjunto freqüente está contido em outro, este é dito outro, este é dito maximalmaximal

Se um conjunto de transações S Se um conjunto de transações S R, R, tomamos I(S) = tomamos I(S) = ∩∩TTSS T. T.

Se X satisfaz I(R(X)) = X, então é um Se X satisfaz I(R(X)) = X, então é um conjunto fechado.conjunto fechado.

F será o conjunto de todos conjuntos F será o conjunto de todos conjuntos freqüentesfreqüentes

C será o conjunto de todos conjuntos C será o conjunto de todos conjuntos freqüentes fechadosfreqüentes fechados

Page 4: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

CaracterísticaCaracterística

Algoritmo híbridoAlgoritmo híbrido• Em um momento das iterações opta, Em um momento das iterações opta,

baseado em estimativas, por um ou por baseado em estimativas, por um ou por outra técnica para utilizar algoritmos outra técnica para utilizar algoritmos para dados esparsos ou densos;para dados esparsos ou densos;

Page 5: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

Enumerando Conjuntos Fechados Enumerando Conjuntos Fechados FreqüentesFreqüentes

É construída uma arvore É construída uma arvore TRIETRIE É feita uma busca em profundidade, É feita uma busca em profundidade,

enumera-se assim todos os conjuntos enumera-se assim todos os conjuntos fechados freqüentesfechados freqüentes

Page 6: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

Algoritmo LCMAlgoritmo LCM Para todos conjuntos maiores que o conjunto i Para todos conjuntos maiores que o conjunto i

(anterior)(anterior)• Se o conjunto for freqüente E igual a intersecção Se o conjunto for freqüente E igual a intersecção

de todas as transações envolvendo ele se chama de todas as transações envolvendo ele se chama recursivamente o LCMrecursivamente o LCM

For each i > i(X)For each i > i(X) If X[i] is frequent and X[i] = I(T(X[i]) thenIf X[i] is frequent and X[i] = I(T(X[i]) then

• Call LCM (X[i])Call LCM (X[i]) End forEnd for

Page 7: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

Algorítmo LCMAlgorítmo LCM

X[i] são todos os conjuntos que X[i] são todos os conjuntos que contém X e contém i, logo X não contém X e contém i, logo X não necessariamente é um prefixo de necessariamente é um prefixo de X[i].X[i].

Page 8: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

Exemplo, sup = 3Exemplo, sup = 3

A: 1,2,3,8,5A: 1,2,3,8,5 B: 1,2,4,5B: 1,2,4,5 C: 1,2,3,8,9C: 1,2,3,8,9 D: 1,2,3,8,10D: 1,2,3,8,10 E: 1,2,4,9E: 1,2,4,9 F: 1,2,5,8F: 1,2,5,8

1;1; 1,2 é freqüente?1,2 é freqüente?

• SimSim T({1,2}) = {A, B, T({1,2}) = {A, B,

C, D, E, F}C, D, E, F} I(T({1,2})) = 1,2I(T({1,2})) = 1,2 É igual?É igual?

• Sim, então chama Sim, então chama recursivamenterecursivamente

Page 9: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

Exemplo, sup = 3Exemplo, sup = 3

A: 1,2,3,8,5A: 1,2,3,8,5 B: 1,2,4,5B: 1,2,4,5 C: 1,2,3,8,9C: 1,2,3,8,9 D: 1,2,3,8,10D: 1,2,3,8,10 E: 1,2,4,9E: 1,2,4,9 F: 1,2,5,8F: 1,2,5,8

1,2;1,2; 1,2,3 é frequente?1,2,3 é frequente?

• SimSim T({1,2,3}) = {A, C, D}T({1,2,3}) = {A, C, D} I(T({1,2,3}) = 1,2,3,8I(T({1,2,3}) = 1,2,3,8 É igual?É igual?

• Não, então não chama Não, então não chama recursivamenterecursivamente

Page 10: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

ExemploExemplo

Então como que ele identificará que o Então como que ele identificará que o conjunto 1,2,3,8 será fechado freqüente?conjunto 1,2,3,8 será fechado freqüente?• Por causa do iterador! A verificação é feita Por causa do iterador! A verificação é feita

como se os dados estivessem em uma trie, como se os dados estivessem em uma trie, logo, ele vai varrer aumentando o índice i, que logo, ele vai varrer aumentando o índice i, que compreende todos os subconjuntos (percorre compreende todos os subconjuntos (percorre em profundidade)em profundidade)

Percorre toda a árvore em tempo linearPercorre toda a árvore em tempo linear• Para realizar a operação I(X) não teria que Para realizar a operação I(X) não teria que

percorrer as transações envolvendo X?percorrer as transações envolvendo X?

Page 11: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

VantagensVantagens

Outros algoritmos ao gerarem a Outros algoritmos ao gerarem a árvore adicionam todos os conjuntos árvore adicionam todos os conjuntos freqüentes, adicionando assim, freqüentes, adicionando assim, muitos que serão “podados”, como o muitos que serão “podados”, como o LCM só adiciona conjuntos fechados LCM só adiciona conjuntos fechados na árvore, poupa processamento;na árvore, poupa processamento;

Afirma também que cada iteração Afirma também que cada iteração tem menos processamento.tem menos processamento.

Page 12: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

VantagensVantagens

Além do algoritmo base, apresenta Além do algoritmo base, apresenta algumas otimizaçõesalgumas otimizações• Ocurrence Deliver:Ocurrence Deliver:

Reduz o tempo para construir T(X[i])Reduz o tempo para construir T(X[i]) Normalmente é obtido a partir de T(X) Normalmente é obtido a partir de T(X)

percorrendo todas transações que não percorrendo todas transações que não envolvem ienvolvem i

Ao invés disso, em quanto se obtém T(X) Ao invés disso, em quanto se obtém T(X) simultaneamente é feita a lista J[i] = T(X[i])simultaneamente é feita a lista J[i] = T(X[i])

Além disso não precisam ser feitas Além disso não precisam ser feitas chamadas recursivas se J[i] for vaziochamadas recursivas se J[i] for vazio

Page 13: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

VantagensVantagens

Ocurrence DeliverOcurrence Deliver• Otimiza em casos que T(X[i]) é bem menor que Otimiza em casos que T(X[i]) é bem menor que

T(X);T(X);• Pode levar até 1/10 do tempo em alguns casos. Pode levar até 1/10 do tempo em alguns casos.

Right-First SweepRight-First Sweep• Como cada chamada recursiva vai ter um Como cada chamada recursiva vai ter um

tamanho menor ou igual que a chamada tamanho menor ou igual que a chamada anterior pode-se alocar a memória no tamanho anterior pode-se alocar a memória no tamanho total de J de uma vez só como variável global.total de J de uma vez só como variável global.

Page 14: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

VantagensVantagens

DiffsetsDiffsets• No caso do |T(X[i])| ser parecido com |No caso do |T(X[i])| ser parecido com |

T(X)| é usada essa técnicaT(X)| é usada essa técnica• Está definida em uma artigo completo Está definida em uma artigo completo

nas referênciasnas referências• Diz-se que reduz em até 1/100 em Diz-se que reduz em até 1/100 em

algumas base de dadosalgumas base de dados

Page 15: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

VantagensVantagens

Computação hibridaComputação hibrida• Usar Ocurrence Deliver em casos em Usar Ocurrence Deliver em casos em

que |T(X[i])| é bem menor que |T(X)|;que |T(X[i])| é bem menor que |T(X)|;• Usar Diffsets em casos em que |T(X[i])| Usar Diffsets em casos em que |T(X[i])|

é bem próximo a |T(X)|é bem próximo a |T(X)|• Como decidir?Como decidir?

EstatísticaEstatística

Page 16: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

VantagensVantagens

AA((XX) = Σ) = Σii |T |T ((X ∪ {i}X ∪ {i}))||• Tamanho total dos filhos de XTamanho total dos filhos de X

BB((XX) = ) = ΣΣi:X∪{i}∈ Fi:X∪{i}∈ F (|T (|T ((XX))| − |T | − |T ((X ∪ {i}X ∪ {i}))||))• Tamanho de X menos o tamanho dos filhosTamanho de X menos o tamanho dos filhos

Para uma constante c usa-se o Ocurrence Para uma constante c usa-se o Ocurrence deliver se A(X) < c.B(X)deliver se A(X) < c.B(X)

A decisão é feita apenas para os filhos A decisão é feita apenas para os filhos imediatos da raiz desde que não tome imediatos da raiz desde que não tome muito tempomuito tempo

Page 17: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

VantagensVantagens

• A computação hibrida, reduz o tempo em até A computação hibrida, reduz o tempo em até 1/31/3

Verificação de “fechabilidade” (no Verificação de “fechabilidade” (no ocurrence deliver)ocurrence deliver)• Por definição um conjunto candidato não vai Por definição um conjunto candidato não vai

ser fechado sse existir um valor que ocorre em ser fechado sse existir um valor que ocorre em todas transações que outro valortodas transações que outro valor

• Então, é testado durante o algoritmo se a Então, é testado durante o algoritmo se a existe um j que pertence a todas as transaçõesexiste um j que pertence a todas as transações

• Não é feito no diffset porque o conjunto seria Não é feito no diffset porque o conjunto seria muito grandemuito grande

Page 18: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

ResultadosResultados

Bases de dadosBases de dados

DatasetDataset #items#items #Tran#Transs

Minsup (%)Minsup (%)

BMS-Web-View1BMS-Web-View1

BMS-Web-View2BMS-Web-View2

BMS-POSBMS-POS

T10I4D100KT10I4D100K

T40I10D100KT40I10D100K

pumsbpumsb

pumsb starpumsb star

mushroommushroom

connectconnect

chesschess

497497

3,3403,340

1,6571,657

1,0001,000

1,0001,000

7,1177,117

7,1177,117

120120

130130

7676

59,60259,602

77,51277,512

517,255517,255

100,000100,000

100,000100,000

49,04649,046

49,04649,046

8,1248,124

67,57767,577

31963196

0.1–0.010.1–0.01

0.1–0.010.1–0.01

0.1–0.010.1–0.01

0.15–0.0250.15–0.025

2–0.52–0.5

95–6095–60

50–1050–10

20–0.120–0.1

95–4095–40

90–3090–30

Page 19: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura

ResultadosResultados

LCMfreq, LCM, LCMmax, FPgrowth, LCMfreq, LCM, LCMmax, FPgrowth, eclat, apriori, mafia-mfieclat, apriori, mafia-mfi• Em todas as 9 base de dados diferentesEm todas as 9 base de dados diferentes

Page 20: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura
Page 21: LCM: na efficient algorithm for enumerating frequent closed item sets T. Uno, T. Asai, H. Arimura