Árvores de Decisão Valmir Macário.

Slides:



Advertisements
Apresentações semelhantes
SISTEMAS DE SUPORTE À DECISÃO
Advertisements

Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Agenda Introdução Justificativa Objetivo Detecção de Spam
Inteligência Artificial
Indução de Árvores de Decisão
Solved Exercises 1. Finding the Peak. Let A= a1,…,an be a sequence of n numbers with the following property: there is p in {1,…,n} for which (i) the.
Redes Neurais Artificiais (RNA): Aprendizado
Lógica Fuzzy Aplicada a Sistemas de Diagnóstico
Mineração de Dados Avaliação de Classificadores
Araken de Medeiros Santos Anne Magály de Paula Canuto
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
Aprendizado de Máquina
Aprendizado de Máquinas
Jacques Robin, Francisco Carvalho, Flávia Barros
1 Projeto Filtragem de Mensagens Eletrônicas Disciplina: Inteligência Artificial Simbólica Professores: Geber Ramalho e Jacques Robin.
FACENS – Engenharia da Computação Inteligência Artificial
Rejane Sobrino Pinheiro Tania Guillén de Torres
Aprendizagem a partir de observações
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Avaliação Avaliação de parâmetros clínicos
Sistemas Inteligentes
3. Árvore de Decisão.
Aprendizado de Máquina
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG.
Departamento de Informática – Marcos Henrique Fonseca Ribeiro – Slide 1 Construindo Árvores de Decisão NoTrueHighMildRainy YesFalseNormalHotOvercast YesTrueHighMildOvercast.
Aprendizado de Árvores de Decisão
Prof. Sergio Queiroz CIn-UFPE
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
Métodos de Classificação por Árvores de Decisão
INF 1771 – Inteligência Artificial
Sistemas Inteligentes
Indução de Árvore de Decisão
Aprendizado de Máquina - Introdução
Aprendizado Bayesiano
Aprendizagem de Máquina “Learning a Neural Tree” Paulo Amorim - prfa.
Sistemas Inteligentes
Seleção de Atributos Ricardo Prudêncio.
Árvores de Decisão: supervisionado, simbólico, não incremental (?)
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
Extração de Regras de RNA Wilian Soares Lacerda Fevereiro de 2003.
1 Árvores de Decisão Marcílio Souto DIMAp/UFRN. 2 Árvores de Decisão – ADs (1/4) zForma mais simples: yLista de perguntas  respostas “sim” ou “não” yHierarquicamente.
Busca Combinatorial e Métodos de Heurística
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
Mineração de Dados: Classificação e Predição
Uma Introdução a SVM Support Vector Machines
Geber Ramalho 1 Objetivo da aprendizagem Conhecimento em extensão (exemplos percepção-ação, características-conceitos, etc.) Conhecimento em intenção.
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Marcus Sampaio DSC/UFCG Os slides 3-15 foram copiados de Pang-Ning Tan.
Regressão e Previsão Numérica.
Prof. Alexandre Monteiro Recife
Inteligência Artificial I
Inteligência Artificial I
Regras. Regras Rudimentarias 1R: aprende uma regra por atributo  atribuí a classe mais freqüente  taxa de erro: proporção de instâncias que não pertence.
HAC 1 MD - junho/2008 Tecnologias de suporte à Mineração de Dados Gerenciamento de dados Data Warehouse OLAP Arquiteturas Visualização Sistemas de Suporte.
Aprendizado Baseado em Instancias. Introdução Em contraste aos métodos de aprendizado que constroem uma descrição explicita genérica da função alvo. Os.
Paradigmas de Mineração de Dados
Descoberta em múltiplos níveis conceituais
Aprendizado de Máquinas
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Busca Competitiva Disciplina: Inteligência Artificial
Classificação de Textos
Aprendizagem Simbólica
FEATURE SELECTION. Introdução  Estudo de metodologias relacionadas a seleção de atributos  Maldição da dimensionalidade  O número de atributos do desenvolvedor.
Aula Pratica Aprendizagem WEKA Prof. Ivan Gesteira Costa Filho Centro de Informática Universidade Federal de Pernambuco.
Mineração de Dados (Data Mining)
INTELIGÊNCIA EMPRESARIAL Aula 6 – Componentes dos Sistemas de Apoio à Decisão.
Marcílio Souto DIMAp/UFRN
Transcrição da apresentação:

Árvores de Decisão Valmir Macário

Introdução Seres humanos manipulam símbolos em alto nível Tomamos decisões a partir de regras e modelos que generalizamos Realizamos inferências a partir dos dados que temos e do nosso conhecimento explícito

Relembrando... Aprendizagem Indutiva Inferência de uma regra geral (hipótese) a partir de exemplos particulares Precisão diretamente proporcional à quantidade / qualidade dos exemplos

Conhecimento Simbólico Conhecimento adquirido pode ser representado em linguagens de alto nível De forma legível e interpretável por humanos Motivações Compreender um problema (mais do que obter modelos precisos) Justificar decisões Incorporar novo conhecimento

Aprendizagem Indutiva Classificação Incremental: atualiza hipótese a cada novo exemplo Mais flexível A ordem de apresentação é importante Não incremental: gerada a partir de todo conjunto de exemplo. Mais eficiente e prática

Árvore de Decisão Entrada: Saída Conjunto de atributos Uma “decisão” Discretos Contínuos Saída Uma “decisão”

Árvore de Decisão Uma árvore de decisão utiliza uma estratégia de dividir-para-conquistar: Um problema complexo é decomposto em sub- problemas mais simples. Recursivamente a mesma estratégia é aplicada a cada sub-problema. A capacidade de discriminação de uma árvore tem origem na: Divisão do espaço definido pelos atributos em sub-espaços. A cada sub-espaço é associada uma classe.

Árvores de Decisão Cada nó interno (não-terminal) contém um teste sobre os valores de um dado atributo Folhas da árvore (nós terminais) são associadas às classes Comumente, acompanhadas com graus de confiança Novas instâncias classificadas percorrendo a árvore a partir da raiz até as folhas Cores Não Sim Filme Ruim (p = 0.7) Gênero Musical Ação Drama Filme Ruim (p = 1.0) Filme Bom (p = 0.8) Filme Ruim (p = 0.6)

Árvores de Decisão - Construção Árvore de decisão construída de forma recursiva da raiz para as folhas (top-down) A cada nó, é escolhido um teste que separe melhor os exemplos de classes diferentes Maximização de critério de separação Nós terminais são criados ao atingir um critério de parada Ex.: todos os exemplos do nó pertencem à uma só classe

Árvores de Decisão - Construção AD(Exemplos:E; Atributos:A; Alvo:C) Crie nó_raiz SE Critério_de_Parada ENTÃO Crie nó terminal associada à classe mais freqüente SENÃO Encontre atributo aj cujo teste de decisão maximize a separação dos exemplos que atinjem o nó - PARA CADA valor v do teste adicione nova sub-árvore - Sub_arvore = AE(E[aj = v], A – {aj}, C)

Exemplo: Play Tennis

Árvore de Decisão de Classificação Próximos Dias Aprendizado Dados (dias anteriores) Classificador Play Tennis?

Árvore de Decisão: Play Tennis Tempo Ensolarado Chuvoso Nublado Humidade Yes Vento Fraco Alta Normal Forte Não Sim Não Sim

Árvore de Decisão: Play Tennis Atributos Tempo Ensolarado Chuvoso Nublado Humidade Yes Vento Forte Fraco Alta Normal Não Sim Não Sim

Árvore de Decisão: Play Tennis Tempo Valores Ensolarado Chuvoso Nublado Humidade Yes Vento Forte Fraco Alta Normal Não Sim Não Sim

Árvore de Decisão: Play Tennis Tempo Ensolarado Chuvoso Nublado Humidade Yes Vento Forte Fraco Alta Normal Não Sim Não Sim Classificação

Play Tennis Cada percurso na árvore (da raiz à folha) corresponde a uma regra de classificação Se: (Tempo = Ensolarado  Humidade = Normal)  (Tempo = Nublado)  (Tempo = Chuvoso  Vento = Fraco) Então: Play Tennis? Sim

Regras Na forma: if-then IF Outlook=Sunny  Humidity=Normal THEN PlayTennis=Yes IF Outlook=Overcast THEN PlayTennis=Yes IF Outlook=Rain  Wind=Weak THEN PlayTennis=Yes IF Outlook=Sunny  Humidity=High THEN PlayTennis=No IF Outlook=Rain  Wind=Strong THEN PlayTennis=Yes

Árvores de Decisão Escolha de testes de atributos Como escolher o melhor atributo? Quantidade de Informações (Shannon Weaver – 1949) Entropia(S) = especifica o número mínimo de bits de informação necessário para codificar uma classificação de um membro arbitrário de S.

Entropia(S)= - p log2 p - p⊝ log2 p⊝ S é uma amostra dos exemplos de treinamento p é a proporção de exemplos positivos em S p⊝ é a proporção de exemplos negativos em S Entropia mede a “impureza” de S: Entropia(S)= - p log2 p - p⊝ log2 p⊝

Árvores de Decisão Escolha de testes de atributos Quantidade de Informações de um problema que pode tomar n valores: Exemplo: no caso do lançamento de uma moeda: bit

Árvores de Decisão Escolha de testes de atributos Para uma árvore de decisão com 2 possibilidades de resposta: Teste em um único atributo não nos dará informações suficientes A construção de uma árvore de decisão é guiada pelo objetivo de diminuir a aleatoriedade ou dificuldade de previsão, da variável que define as classes.

Árvores de Decisão Escolha de testes de atributos Um atributo escolhido A divide o conjunto de treinamento em sub-conjuntos E1, E2,..Ev de acordo com seus valores para A, onde A tem v valores distintos Ganho: Melhor atributo Maior Ganho

Árvores de Decisão Escolha de testes de atributos Ganho de Informação (Information Gain) O ganho de um atributo/teste é definido pela redução de Entropia proporcionada após a separação dos exemplos do nó Entropia do nó pai Entropia do nó filho ponderada pelo número de exemplos do nó

Árvores de Decisão Escolha de testes de atributos Propriedades da Entropia: Se todos os exemplos de E são da mesma classe então entropia assume valor mínimo Ent(C,E) = 0 Se todos as classes têm o mesmo número de exemplos em E então entropia assume valor máximo Qual o melhor atributo? Ganho(exemplos,Tempo)=0.246 MAX ! Ganho(exemplos,Humidade)=0.151 Ganho(exemplos,Vento)=0.048 Ganho(exemplos,Temperatura)=0.029

Árvores de Decisão Escolha de testes de atributos Lidando com atributos numéricos: Testes são da forma: atributo > valor Procedimento: Ordene os valores do atributo observados no conjunto de treinamento Considere a média de valores adjacentes como possíveis testes Por eficiência, considere apenas os valores onde são observadas mudanças de classe 54 95 Valores candidatos Temperatura: 40 48 60 72 80 90 Classe: A A B B B A

Árvores de Decisão - Exemplo Raíz: [9+; 5-] Entropia = - 9/14*log2(9/14) - 5/14*log2(5/14) = 0.940 Considerando teste com atributo Outlook Outlook = Sunny: [2+;3-] Entropia = - 2/5*log2(2/5) - 3/5*log2(3/5) = 0.971 Outlook = Overcast: [4+;0-] Entropia = - 4/4*log2(4/4) - 0/4*log2(0/4) = 0.0 Outlook = Rain: [3+;2-] Entropia = - 3/5*log2(3/5) - 2/5*log2(2/5) = 0.971 Média: 5/14*0.971 + 4/14*0.0 + 5/14*0.971 = 0.694 Ganho de Informação: 0.940 - 0.694 = 0.246

Árvores de Decisão - Exemplo Considerando os outros atributos: Ganho(Outlook, D) = 0.246 Ganho(Humit., D) = 0.151 Ganho(Wind, D) = 0.048 Ganho(Temp., D) = 0.029 Atributo Outlook é o escolhido na raíz

Árvores de Decisão - Exemplo [9+; 5-] Entropia: 0.940 Outlook Sunny Rain Overcast [2+; 3-] Entropia: 0.971 [3+; 2-] Entropia: 0.971 Yes [4+; 0-] ? ? Humit.? Temp.? Wind? Humit.? Temp.? Wind?

Árvores de Decisão Escolha de testes de atributos Próximos atributos a serem testados Ganho(exemplossol, Humidade) = 0.97-(3/5)0-(2/5)0 = 0.970 MAX ! Ganho(exemplossol,Temperatura) = 0.97-(2/5)0-(2/5)1-(1/5)0 = 0.570 Ganho(exemplossol,Vento) = 0.97-(2/5)1-(3/5)0.918 = 0.019 Chuvoso {D4,D5,D6,D10,D14} [3+, 2-] E > 0 ??? Tempo Nublado {D3,D7,D12,D13} [4+, 0-] E = 0 OK – Classif.: Sim Sol {D1,D2,D8,D9,D11} [2+, 3-] E > 0 ??? I(2/5, 3/5) = 0,97

Árvores de Decisão – Critérios de Parada Totalidade (ou alternativamente, a maioria) do exemplos do nó pertencem a mesma classe Profundidade máxima para o nó Número mínimo de exemplos no nó Ganho pouco significativo no critério de separação Obs.: valores definidos como parâmetros do aprendizado

Avaliação do desempenho do algoritmo de aprendizagem Curva de Aprendizado:

Critérios para escolha da melhor árvore Obter estimativas confiáveis do erro a partir do conjunto de treinamento. Otimizar o erro num conjunto de validação independente do utilizado para construir a árvore. Minimizar: erro no treinamento dimensão da árvore

Ruído e Superadaptação Algoritmo tenta modelar ruído nos dados Árvore gerada não funciona bem com dados não conhecidos Não é suficientemente generalizada Solução: Poda de atributos irrelevantes

Superadaptação (overfitting) O algoritmo de partição recursiva do conjunto de dados gera estruturas que podem obter um ajuste aos exemplos de treinamento perfeito. Em domínios sem ruído o número de erros no conjunto de treinamento pode ser 0. Em problemas com ruído esta capacidade é problemática: A partir de uma certa profundidade as decisões tomadas são baseadas em pequenos conjuntos de exemplos. A capacidade de generalização para exemplos não utilizados no crescimento da árvore diminui.

Variação do erro com o número de nós

Superadaptação (overfitting) Ockham’s razor: preferência pela hipótese mais simples. Existem menos hipóteses simples do que complexas. Se uma hipótese simples explica os dados é pouco provável que seja uma coincidência. Uma hipótese complexa pode explicar os dados apenas por coincidência.

Poda (Prunning) Forma de simplificar a árvore Duas possibilidades: Pre-pruning Parar o crescimento da árvore mais cedo Post-pruning Costruir uma árvore completa e podar a árvore “Growing and pruning is slower but more reliable”

Algoritmo básico de poda Percorre a árvore em profundidade Para cada nó de decisão calcula: Erro no nó Soma dos erros nos nós descendentes Se o erro no nó é menor ou igual à soma dos erros dos nós descendentes, o nó é transformado em folha.

Um algoritmo básico de pruning Exemplo do nó B: Erro no nó = 2 Soma dos erros nos nós descendentes: 2 + 0 Transforma o nó em folha Elimina os nós descendentes. Exemplo do nó B: Erro no nó = 2 Soma dos erros nos nós descendentes: 2 + 0 Transforma o nó em folha Elimina os nós descendentes.

Utilização Prática As arvores de decisão costumam ser o primeiro método experimentado quando o método de classificação tem de ser extraído de um conjunto de dados. A saída de uma árvore de decisão é de fácil entendimento para um ser humano. Exigência legal para decisões financeiras. Propriedade não compartilhada por redes neurais.

Casos de sucesso Sistema GASOIL (BP) Usado para determinar sistemas de separação de gás, óleo e água Aproximadamente 2500 regras Se tivesse sido feito manualmente levaria 10 pessoa-anos Levou 100 pessoa-dias utilizando árvore de decisão

Casos de sucesso Pilotos Automáticos Mapeamentos de estados do sistema para as ações corretas Testes realizados com simuladores do Cessna 20.000 exemplos criados a partir da observação de pilotos treinados utilizando o simulador O sistema gerado a partir da árvore de decisão cometia menos erros que pilotos humanos

Árvores de Decisão - Discussão Vantagens: Geram modelos dos dados (i.e., método eager) Conhecimento interpretável Pouca sensibilidade a atributos irrelevantes Uma vez que implementam seleção de atributos Desvantagens: Em geral, menos precisos comparados com algoritmos como redes neurais e SVMs

Árvores de Decisão Diferentes versões de algoritmos podem ser encontradas na literatura Algoritmo ID3 – versão básica de AD para atributos categóricos, com InfoGain Algoritmo C4.5 – extensão do ID3 para atributos categóricos e numéricos, com GainRatio

Árvores de Decisão - no WEKA

Árvores de Decisão - no WEKA Parâmetros Importantes confidenceFactor: ????? minNumObj: número mínimo de exemplos em uma folha numFold: controla a quantidade de exemplos de validação usados para poda

Árvores de Decisão - no WEKA Árvore Gerada

Referências T. Mitchell, Machine Learning, Cap. 3, 1997. M. Monard, J. Baranauskas, Indução de Regras e Árvores de Decisão, Sistemas Inteligentes, Cap. 5, 2005. J. R. Quinlan, Induction of Decision Trees, Machine Learning, Vol.1, N.1, 1986.