280 likes | 433 Views
Mineração de Preferências (a partir de amostras superiores e inferiores) J.Pei et al. KDD 2008. AULA 18 Data Mining Profa. Sandra de Amo. Modelo de Preferências. Seja D = {D1,...,Dk} um conjunto de atributos
E N D
Mineração dePreferências (a partir de amostras superiores e inferiores) J.Pei et al. KDD 2008 AULA 18 Data Mining Profa. Sandra de Amo
Modelo de Preferências • Seja D = {D1,...,Dk} um conjunto de atributos • Uma preferência sobre Di é uma relação de ordem parcial >i sobre os valores de Di • Composição pareto: > = (>1,...,>k) O > O’ se e somente se: • Existe i tal que O.i >i O’.i • Para todo j ≠ i : O.j >j O’.j ou O.j = O’.j • Composição pareto é uma preferência sobre D se for uma ordem parcial
Amostras Superiores e Inferiores Seja O um conjunto de objetos sobre D = {D1,...,Dk} S ⊆ O , Q ⊆ O S : Amostras Superiores s ϵ O não é dominado por nenhum outro objeto de O Q : Amostras Superiores q ϵ O é dominado por algum objeto de O
Atributos Determinados e Indeterminados • D = conjunto dos atributos • D = D+ U D- • D+ = Conjunto dos atributos determinados • Preferências sobre os valores destes atributos é universal – partilhada pela maioria dos usuários • Exemplo: Preço do imóvel – o menor preço é sempre o preferido • D- = Conjunto dos atributos indeterminados • Preferências sobre os valores destes atributos varia para cada usuário • Exemplo: Área do Imóvel
Satisfying Preference Set (SPS) • O que é um SPS(S,Q) ? • Dados os conjuntos de amostras S e Q, um SPS(S,Q) é uma order pareto • > = (>1,…,>k) tal que: • Todos os objetos de S são superiores com relação a > • Todos os objetos de Q são inferiores com relação a >
Exemplo 1 • Existência de SPS nem sempre é garantida ! det indet S = {O1, O3} Q = {O2} Quem pode dominar O2 ? O3, O4, O5 não podem : pois a1 > a2 Logo, somente O1 pode dominar O2 Sugirindo que: c1 > c2 a1 > a2 > a3 MAS: Se c1 > c2: O3 seria dominado por O1 e portanto não seria superior.
Exemplo 2 • Pode haver diversos SPS associados a (S,Q) det indet S = {O1} Q = {O4} R1 = { {b1 >B b2} , {c1 >C c2} } é uma SPS(S,Q) R2 = { {b3 >B b2} } é uma SPS(S,Q) a1 > a2 > a3
Noção de qualidade: minimalidade R: relação (pares de objetos) E(R) = fecho transitivo de R Complexidade de R = |E(R)| Objetivo: encontrar um SPS com complexidade mínima. Exercício: Mostrar que |E(>)| = Πi (|E(>i)| + |Di|) - Πi |Di| Onde > = composição pareto das ordens locais >i
Problemas Teóricos Problema 1 (P1 - Existência) – Problema de Decisão Dado um conjunto O de objetos sobre os atributos D = D+ U D- e S, Q O, existe um SPS(S,Q) tal que: • S corresponde a amostras superiores • Q corresponde a amostras inferiores ? P1(d) = P1 com d atributos indeterminados Este problema é NP-Completo. Prova: - O problema 3SAT se reduz ao P1(2). - É possivel mostrar redução de P1(d) para P1(d+1).
Problemas Teóricos Problema 2 (P2 - Minimalidade) – Problema de Otimização Dado um conjunto O de objetos sobre os atributos D = DU U DI e S, Q O, encontrar um SPS(S,Q) tal que: • S corresponde a amostras superiores • Q corresponde a amostras inferiores • SPS(S,Q) é minimal
Proposta: Método Guloso • Input: conjunto O de objetos sobre os atributos D = D+ U D- e S, Q O • Output: SPS satisfazendo S e Q isto é: elementos de S são superiores elementos de Q são inferiores
Dominância Parcial • Seja D = D+ U D- • >D = ordem pareto sobre D • Se O1 >D+ O2 então • O1 >D O2 depende somente das preferências sobre os não-determinados D- • O1domina parcialmente O2 se O1>D+O2 • Se O1domina O2 então O1domina parcialmente O2 • - Se O1nãodomina parcialmente O2 então O1não domina O2 • Exemplo : O1 = (Preço = 250, Área = 100, Local = Centro) • O2 = (Preço = 300, Área = 150, Local = Bairro Martins) • Sem mesmo conhecer as preferências sobre os atr. Indeterminados Area e Local pode-se afirmar que O2 não domina O1, pois não domina parcialmente O2.
Descobrindo Preferências para Satisfazer as Amostras Inferiores Passo 1: Podagem de Q Elimina amostras que não trazem informação importante sobre as preferências nos atributos indeterminados. Para cada q ϵ Q: P(q) = objetos de O que dominam parcialmente q • Se existe objeto p ϵP(q) tal que p.D- = p.D- (coincide em todos os atributos indeterminados) então é inferior independentemente das preferências sobre D- • q pode ser eliminado de Q • q é dito trivialmente inferior.
Descobrindo Preferências para Satisfazer as Amostras Inferiores Passo 2: Construção da tabela das Condições de Preferências • Para cada q ϵ Q: • Considera-se todos os objetos de O que podem dominar q nos atributos não determinados = P(q) • Sabe-se que tais objetos existem: q é inferior, e q não é trivialmente inferior • Para cada objeto p ϵ P(q): constrói-se as condições que devem ser satisfeitas para q ser dominado por p • Notação: Cq(p) = condições que devem ser satisfeitas para q ser dominado por p.
det Não-det EXEMPLO - O10 é parcialmente dominado por O4 - O10 e O4 coincidem em D3 e D4 Logo: O10 é removido removido
Método Exaustivo para Satisfazer Q • Para cada q ϵ Q • Seleciona um objeto p de P(q) • Constrói-se a ordem imposta pelas condições Cq(p). • Calcula-se o tamanho de cada uma destas ordens (cardinalidade) • Pega a ordem com a menor cardinalidade. • Método exaustivo é exponencial no número de objetos inferiores
Algoritmo Baseado em Termos – Esquema Geral Para cada atributo não-determinado: • Adiciona-se iterativamente termos t : a > b até que todas as amostras inferiores sejam satisfeitas. • Os termos t escolhidos para serem inseridos são avaliados segundo 2 critérios: • Complexidade do Incremento CI(t): mede o quanto a inserção do termo vai aumentar a cardinalidade da relação de preferência pareto final. • Cobertura das Amostras Cov(t): quantidade de amostras inferiores que ficam satisfeitas após a inserção do termo t. • Score(t) = Cov(t)/CI(t) • Termos com maior score são os escolhidos.
Basta que para um p todas as Condições de Cq(p) sejam satisfeitas para q ser removido
Como calcular o Incremento CI(t) Exemplo R = {>3, >4} |D3| = 5, |D4| = 3 Iteração k : R = { { a1 >3 a2}, ø } |E(R)| = (1+5)*3 – 5*3 = 3 Iteração k+1:a3 >3 a1 é selecionado |E(R)| = (3+5)*3 – 5*3 = 9 CI(t) = 9 – 3 = 6
Como calcular a cobertura Cov(t) • Cobertura do termo t com respeito a uma condição Cq(p) • Cov(t, Cq(p)) = 1/|Cq(p)| se t ϵ Cq(p) • Cov(t, Cq(p)) = 0 se t Cq(p) • Exemplo: Considere Co2(O1) = (a3 >3 a2) (b3 >4 b1) t = b3 >4 b1 Cov(t, Co2(O1)) = ½ • Considera-se também a cobertura do termo t com respeito aos termos implicados • Cobertura do termo t com respeito a uma amostra q • Cov(t,q) = max {Cov(t’, Cq(p)}, t’ ϵ Imp(t), p ϵ P(q) • Cobertura do termo t com respeito ao conjunto de amostras Q • Cov(t) = Σq Cov(t,q)
Exemplo de aplicação do Algoritmo Cálculo do score de t = a1 >3 a2 Cov(t,O2) = 0, Cov(t,O5) = ½, Cov(t,O7) = ½, Cov(t,O8) = 0 Logo: Cov(t) = ½ + ½ = 1 Complexidade antes = 5.3 – 5.3 = 0 Complexidade depois = (1+5).3 – 5.3 = 3 Logo: CI(t) = 3 Score (t) = 1/3 Após a seleção de b3 >3 b1 na 1a iteração: • Condição CO8(O6) é satisfeita. • Logo O8 é removido de Q • a4>3 a5 não aparece em nenhuma condição restante, • a4>3 a5 é retirada da lista de termos a serem testados na Iteração 2 Resultado Final: R = { {a1 >3 a2}, {b1 >4 b2, b3 >4 b1, b3 >4 b2} } , |E(R)| = 21
Discussão • Muitas vezes os SPS minimos não são atingidos, o SPS retornado não é otimal. • Exemplo: que CI(b1>4 b2) = 12 (muito grande)
Algoritmo baseado em Condição Ao invés de calcularmos o score de um termo, estamos interessados em calcular o score de uma condição inteira Cq(p) Score(Cq(p)) = Cov(Cq(p)) / CI(Cq(p)) Cov(Cq(p)) = Σ Cov(t), t ϵ Cq(p)
Exemplo de Aplicação do Algoritmo Resultado Final: R = { {a3 >3 a2, a4 >3 a2}, {b3 >4 b1, b3 >4 b2} } |E(R)| = 20
Como satisfazer as amostras Superiores • Termos (ou condições) não satisfatórios: violam alguma amostra superior. • Exemplo: • Suponha que O3 é superior • se CO5(O1) = (a3 >3 a2) (b3 >4 b2) escolhida pelo algoritmo • Neste caso: O1 dominaria O3, violando a condição de superioridade de O3. • Amostras superiores são utilizadas como verificadores. • Ao final de cada iteração, um termo t é selecionado (com o melhor score) • Antes de inserí-lo no resultado, testa-se se ele não viola uma amostra superior. • Se for o caso, o termo é removido da lista e outro termo com score imediatemente abaixo é selecionado.
Resultados Experimentais sobre dados Reais • Dados sobre jogos da NBA (www.nba.com) • Dados contém informações estatisticas sobre 3924 jogadores de 1946 a 2006. • Atributos • Média de pontos por jogo (PTS) • Média de “tomadas de bola” (STL) • Média de “bloqueios” (BLK) • Média de “rebotes” (REB) • Média de “passes” (AST) • Preferências do senso comum: maiores valores para cada atributo.
Testes com o algoritmo guloso (2 versões) • REB e AST foram utilizados como indeterminados nos testes • PTS, STL, BLK : determinados • Deseja-se avaliar se as preferências mineradas sobre REB e AST são coerentes com o senso comum. • Medida de avaliação: pct = Ra/Rt • Rt = quantidade de termos minerados • Ra = termos minerados que são coerentes com o senso comum • pct = acurácia do algoritmo • REB tem 23 valores distintos, AST tem 12 valores distintos • Amostras superiores e inferiores são obtidas através de escolhas reais de usuários.