adivinhador de filmes - instituto de computaçãorocha/teaching/2011s2/... · •adição de novos...

20
Adivinhador de Filmes Alex F. Brandt Bruno E. Crepaldi Douglas O. Santos Mauricio Zambon Thiago Cavalcante MC906 - Inteligência Artificial Profº. Anderson de Rezende Rocha

Upload: others

Post on 17-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Adivinhador de Filmes

Alex F. Brandt Bruno E. Crepaldi Douglas O. Santos Mauricio Zambon Thiago Cavalcante

MC906 - Inteligência Artificial Profº. Anderson de Rezende Rocha

Page 2: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Introdução

o O que é o jogo 20 Questions? • cada jogador tem que adivinhar o que o outro esta

pensando

• o adivinhador tem direito a fazer 20 perguntas que as respostas devem ser sim ou não

• ao final das 20 questões o adivinhador tem que dizer o que o outro jogador estava pensando

o Jogo popular na década de 40 virou um show de rádio e depois passou à televisão.

o Em algumas variações é escolhido antes uma categoria.

Page 3: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Exemplos

Akinator

Page 4: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Exemplos

20Q

Page 5: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Exemplo – 20Q

Page 6: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Exemplo – 20Q

Page 7: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Exemplo – 20Q

Page 8: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Objetivos

o Criar um adivinhador de filmes ao estilo 20Q, utilizando uma árvore de decisão

o Quantidade limitada de perguntas:

• quantidade compatível com o número de filmes na base de dados

• com 20 questões binárias seria possível distinguir entre 220 elementos

Page 9: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Objetivos

o Aprendizagem

• alteração das probabilidades a cada jogo

• adição de novos filmes quando não adivinha

o Recuperação de erros

• perguntas ambíguas

• perguntas onde erros são freqüentes

Page 10: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Solução Adotada

o Uso do algoritmo de árvore de decisão (Learning Decision Tree - LDT)

o Combinado com o Teorema de Bayes (Testes)

o Motivação: • Seqüência de perguntas a serem feitas

• Baixa complexidade na classificação

• Probabilidades

Page 11: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Árvore de Decisão

o Algoritmo:

1. Etapa de crescimento top-down recursivo i. Critério de ramificação: Ganho de informação

O ganho de informação ao escolher o atributo ai (i-ésima pergunta) como

teste a ser feito num nó é dado por, seja: S: conjunto de instâncias de treinamento num dado nó; aii: i-ésimo atributo vijij: j-ésimo valor possível do atributo ai

S(vij): subconjunto das instâncias de S tal que ai = vij C: conjunto das classes (filmes)

Page 12: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Árvore de Decisão

ii. Critério de parada

Tuplas restantes são da mesma classe (filme)

Atingida a profundidade máxima

A informação obtida pela melhor ramificação não é melhor que um threshold

2. Etapa de poda

remover ramos que prejudicam a generalização e, conseqüentemente, a classificação das instâncias não marcadas

Page 13: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Árvore de Decisão

o A árvore de decisão obtida indica quais perguntas devem ser feitas e qual o filme que o usuário pensou (caminho na árvore).

o Problemas: • A folha atingida contem mais de um filme possível • Usuário da alguma resposta diferente do esperado para

um filme • Nem todas as perguntas são respondidas por todos os

usuários (missing values) • Subconjunto dos filmes mais freqüentes (problemas com a

atualização da árvore)

Page 14: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Teorema de Bayes

o Permite calcular a probabilidade de cada filme dada as questões respondidas

o É possível deixar pré-calculado na árvore de decisão

o A árvore de decisão com número limitado de questões não garante chegar a um único filme, e se chegar, pode não ser o correto

Page 15: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Missing Values

o Freqüente em dados reais;

o Intrínseco do problema em questão;

o Solução inicial

• "Vazio" é considerado um valor;

• Atributo não preenchido é relevante para a classificação;

Page 16: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Missing Values

o Solução mais sutil • Atribuição de pesos baseados na porcentagem de

respostas positivas e negativas das instâncias para quais se sabe o valor do atributo correspondente ao missing value;

• Descida na árvore por ambos os branches carregando os respectivos pesos;

• Atributo não preenchido não é relevante para a classificação;

• Mais de uma folha pode ser atingida; • Escolha deve ser feita baseando-se nos pesos

atingidos.

Page 17: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Normalização

o Permitir uma distribuição mais uniforme dos dados

o Janela deslizante sobre as instâncias de cada classe

o Descarte das instancias mais antigas das classes mais freqüentes

o Replicação de instâncias de filmes pouco freqüentes (menor que o tamanho da janela)

Page 18: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Online Adaptive Decision Tree

Page 19: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Banco de Dados

o Script para pegar dados do 20Q – Movies e colocar a resposta encontrada no Banco de Dados.

o Problema: grande quantidade de perguntas com poucos filmes associados e filmes com poucas informações.

Page 20: Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos filmes quando não adivinha o Recuperação de erros •perguntas ambíguas •perguntas

Referências

• Stuart J. Russell and Peter Norvig. 1995. Artificial Intelligence: A Modern Approach. Prentice-Hall, Inc., Upper Saddle River, NJ, USA.

• Lior Rokach and Oded Maimon. Data Mining with Decision Trees: Theroy and Applications. World Scientific Publishing Co., Inc., River Edge, NJ, USA, 2008.

• Ian H. Witten and Eibe Frank. 2005. Data Mining: Practical Machine Learning Tools and Techniques, Second Edition (Morgan Kaufmann Series in Data Management Systems). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

• J. R. Quinlan. Learning decision tree classifiers. ACM Comput. Surv., 28:71–72, March 1996.

• Ron Kohavi. Scaling up the accuracy of naive-bayes classifiers: a decision-tree hybrid. In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, pages 202–207. AAAI Press, 1996.

• Sattar Hashemi and Ying Yang. 2009. Flexible decision tree for data stream classification in the presence of concept change, noise and missing values. Data Min. Knowl. Discov. 19, 1 (August 2009), 95-131

• Jayanta Basak. 2006. Online Adaptive Decision Trees: Pattern Classification and Function Approximation. Neural Comput. 18, 9 (September 2006), 2062-2101.

• Akinator: pt.akinator.com/

• 20Q: www.20q.net/