Mineração dePreferências Contextuais A. Soulet et al. 2012 AULA 19 Data Mining Profa. Sandra de...

Preview:

Citation preview

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)

Recommended