mineração depreferências contextuais a. soulet et al. 2012
DESCRIPTION
Mineração dePreferências Contextuais A. Soulet et al. 2012. AULA 19 Data Mining Profa. Sandra de Amo. Motivação. Action, Tom Hanks, War. Action, Stieve Spieberg, War. Motivação. Notação: A: Action B: Tom Hanks C: Steve Spielber g D: War E: Leonardo di Caprio …. Motivação. - PowerPoint PPT PresentationTRANSCRIPT
Mineração dePreferências Contextuais
A. Soulet et al. 2012
AULA 19
Data Mining
Profa. Sandra de Amo
Motivação
Ste ve Sp ie lb e rg A c tion
Tom H a nk s
W a r
Drama
Leonardo d i Caprio
Ja me s C a me ro n
J o h n n y D e p p
Th ril le r
Action, Tom Hanks, War
Action, Stieve Spieberg, War
Motivação
Notação:
A: Action
B: Tom Hanks
C: Steve Spielberg
D: War
E: Leonardo di Caprio
….
Motivação
Objetivo
Dado um conjunto de pares de transações (amostragem fornecida pelo usuário)
Descobrir regras que permitam decidir as preferências do usuário sobre pares de transações.
No exemplo: Uma transação corresponde a uma classe de
filmes.
Formalização do Problema Items (tags) Itemset (ou transação)= conjunto de items Uma preferência = (t1,t2), onde t1, t2 são itemsets
Um banco de dados de Preferências: conjunto finito de preferências fornecidas pelo usuário através de cliques.
Regra de Preferência Contextual : Sintaxe : i+ > i- | X
i+, i- são items distintos X = itemset i+ e i- não estão contidos em X
Semântica : entre duas transações contendo X, prefiro aquela que contém i+ do que aquela que contém i-
X = Contexto da regra
Exemplo
t1 = A C D t2 = A B C E r: D > E | A Logo: t1 >r t2
t1 é preferido a t2 de acordo com a regra r
Medidas de utilidade das regras t1, t2: transações r: regra de preferência (t1,t2) satisfaz r se t1 >r t2 (t1,t2) contradiz r se t2 >r t1
Suporte de uma regra r com relação a um conjunto de preferências P Sup(r,P) = porcentagem de bi-tuplas (t1,t2) de P que satisfazem r Dizemos que (t1,t2) satisfaz a regra r se t1 >r t2
Confiança de uma regra r com relação a um conjunto de preferências P. Conf(r,P) = Porcentagem de bi-tuplas (t1,t2) de P que satisfazem
r, dentre todas as que satisfazem ou contradizem r
Minimalidade
Uma regra i+ > i- | X é dita minimal com relação a um banco de preferências P
se não existe Y X tal que:
sup(i+ > i- | Y, P) = sup(i+ > i- | X, P) e
conf(i+ > i- | Y, P) = conf(i+ > i- | X, P)
Propriedades importantes de antimonotonia: se Y X e sup(i+ > i- | Y, P) ≤ N então sup(i+ > i- | X, P) ≤ N se Y X e i+ > i- | Y não é minimal então i+ > i- | X não é
minimal
Problema de Mineração (1)Input: Banco de dados de preferências P
N: nível minimo de suporte
M: nível minimo de confiança
Output: todas as regras de preferência r, minimais, com suporte ≥ N e confiança ≥ M
Método ContPrefMiner: adaptação do algoritmo Apriori para minerar regras de preferência. (poderia ser qualquer algoritmo de mineração de regras de associação)
Algoritmo ContPrefMiner
Problemas a resolver : Como usar o conjunto de regras minerado por
ContPrefMiner para prever a preferência do usuário sobre duas transações quaisquer ?
Cada regra tem sua “opinião” a respeito da preferência entre duas transações.
“Opiniões” podem ser contraditórias Ordenação por regras “individuais” pode não ser
transitiva. O conjunto de regras pode ser muito grande.
Como definir uma ordem de preferência ? O que significa duas transações serem comparáveis
por um conjunto S de regras de preferências ?
t1, t2 são comparáveis por S se t1 >r t2, onde r = a melhor regra de preferência de S.
Estamos adotando uma política de autoridade para agregar preferências de S : a melhor regra decide !
Como ordenar regras de preferência
Trata-se de uma ordem total !
Exemplo : minsup = 0.2, minconf= 0.6
Como avaliar um ordenador S ?S = conjunto de regras de preferências
P = banco de dados de preferências
Precisão(S,P) = porcentagem de pares (t,u) em P com t >S u dentre todos os pares em P comparáveis por S
Recall(S,P) = porcentagem de pares (t,u) em P com t>s u dentre todos os pares em P
Problema de Mineração (2)Input: Banco de dados de preferências P
Conjunto de regras de Preferência S
Output: Um subconjunto S’ de S que maximize a precisão e o recall e que seja tão pequeno quanto se queira.
Problema NP-completo : problema do red-blue set cover (que é NP-completo) se reduz a este problema de mineração.
Solução proposta: algoritmo ProfMiner
enfoque heurístico – solução não é exata
Idéia geral
A cada iteração R = { r0 }, r0 = melhor regra de S P = P – {(t,u) que não satisfazem r0} S = conjunto das regras de S que são satisfeitas
por pelo menos k pares de P Repete o processo até S seja vazio.
Coeficiente k : controla o tamanho do R retornado R retornado = Perfil do usuário
Algoritmo ProfMiner
Exemplo (k = 1)
Resultados Experimentais Foram usados 3 bancos de preferências sobre filmes (imdb.com e
MovieLens preparados pelo grupo de BD-UFU e Université de Versailles). P301, P3000, P30000 Atributos: Gênero, Ator, Diretor, Ano Atributos multivalorados: Gênero, Diretor, Ator Ator: consideramos só o principal Gênero, Diretor: valores múltiplos são transformados num único item ContPrefMiner: executado com minsup= 0,001 e minconf = 0,5
Processador Intel 3 GHz, 1 GB de RAM, Windows XP
Redução do conjunto de regras ProfMiner reduz drasticamente o conjunto de
regras retornado por ContPrefMiner Tamanho do conjunto de regras diminui
quando k aumenta Mesmo para k = 1 há uma redução no
número de regras:P301 : de 5319 108
P3000 : de 4833 432
P30000: de 4913 925
Variação do número de regras em relação ao K
Coeficiente de Redução do Perfil Seja Rk: perfil retornado para k Q = Coeficiente de redução de Rk
Q = (|R1| - |Rk|) / |R1|
Gráfico da Precisão com respeito ao Q
Gráfico Recall com respeito ao Q
Gráfico da F-Mesure com respeito ao Q
Algumas regras de preferência extraídas
Trabalhos em Andamento Estudar outras maneiras de construir o perfil
do usuário – outras politicas de ordenação das regras retornadas por ContPrefMiner
Algoritmo CPrefMiner: baseado em outra metodologia: Extração de uma rede de preferências R R é uma espécie de CP-Net probabilistica R faz o papel do conjunto S de regras retornado
por ProfMiner (= perfil do usuário)