Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos...
Transcript of Adivinhador de Filmes - Instituto de Computaçãorocha/teaching/2011s2/... · •adição de novos...
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
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.
Exemplos
Akinator
Exemplos
20Q
Exemplo – 20Q
Exemplo – 20Q
Exemplo – 20Q
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
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
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
Á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)
Á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
Á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)
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
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;
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.
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)
Online Adaptive Decision Tree
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.
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/