290 likes | 391 Views
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.
E N D
Mineração dePreferências ContextuaisA. 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 Spielberg D: War E: Leonardo di Caprio ….
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)
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 melhorregra 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 !
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
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
Coeficiente de Redução do Perfil • Seja Rk: perfil retornado para k • Q = Coeficiente de redução de Rk Q = (|R1| - |Rk|) / |R1|
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)