Aprendizagem indutiva

Documentos relacionados
Inteligência Artificial

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial

Árvore de Decisão. Capítulo 18 Russell & Norvig Seções 18.1 a 18.3

Aprendizado em IA. Prof. Carlos H. C. Ribeiro ITA Divisão de Ciência da Computação

Árvore de Decisão. George Darmiton da Cunha Cavalcanti Tsang Ing Ren CIn/UFPE

Árvores de Decisão. Sistemas Inteligentes

Aprendizado de Máquina

Inteligência Artificial. Raimundo Osvaldo Vieira [DComp IFMA Campus Monte Castelo]

Fundamentos de Inteligência Artificial [5COP099]

Aprendizagem de Máquina

Aprendizado de Máquina (Machine Learning)

Aprendizado por Árvores de Decisão

Aprendizagem de Máquina

Árvores de Decisão. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação

Aprendizagem de Máquina

Aurora Trinidad Ramirez Pozo Universidade Federal do Paraná

Árvores de Decisão. Sistemas Inteligentes

Aprendizagem de Máquina. Prof. Júlio Cesar Nievola PPGIA - PUCPR

Aprendizagem de Máquina - 2. Prof. Júlio Cesar Nievola PPGIa - PUCPR

Aprendizado de Máquina (Machine Learning)

Inteligência nos Negócios (Business Inteligente)

Arvores de decisão. O que é uma árvore de decisão? Cap.6 Árvores de Decisão V 3.0, V.Lobo, EN/ISEGI, Victor Lobo

Aprendizagem a partir de observações. Capítulo 18

Algoritmos Indutores de Árvores de

Créditos. SCC0173 Mineração de Dados Biológicos. Aula de Hoje. Introdução. Classificação III: Árvores de Decisão

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas

Aprendizado Bayesiano Anteriormente...

Arvores de decisão. Outras árvores. Outra maneira de ver árvores. Extracção de regras (a partir de árvores) Vantagens das árvores (1)

Sistemas de Apoio à Decisão. Guia de Exercícios

Arvores de decisão. O que é uma árvore de decisão? Victor Lobo

Aprendizado de Máquina

Aprendizado de Máquina

Algoritmos em Grafos

Aprendizado de Máquina

Inteligência vs. Aprendizado

INTELIGÊNCIA ARTIFICIAL

Aprendizado de Máquinas

Inteligência Artificial - IA. Resolução de problemas por meio de busca

O Processo de KDD. Data Mining SUMÁRIO - AULA1. O processo de KDD. Interpretação e Avaliação. Seleção e Pré-processamento. Consolidação de dados

Aprendizado de Máquina

Árvores de Decisão. Sumario. João Gama Árvores de decisão. Motivação Construção de uma árvore de decisão. Podar a árvore.

Aprendizagem de Máquinas

Algoritmos Genéticos

Paradigmas de Aprendizagem

Transcrição:

Aprendizagem indutiva Inferência indutiva de fatos providos por um professor ou ambiente. O estudo e modelagem desta forma de aprendizagem é um dos tópicos centrais de aprendizagem de máquina. Em aprendizagem indutiva, um programa aprende a classificar objetos baseados nos rótulos que lhe são apresentados. Deve tentar recuperar a função desconhecida ou uma aproximação. Inferência de uma regra geral (hipótese) a partir de exemplos particulares Precisão diretamente proporcional à quantidade de exemplos 1

Aprendizagem indutiva Dada uma coleção de exemplos de f, retornar uma função h que se aproxime de f. A função h é chamada hipótese Não é fácil saber se uma h específica é uma boa aproximação de f Uma boa h irá generalizar bem prever corretamente exemplos ainda não vistos Esse é o problema fundamental da indução 2

Aprendizagem Indutiva Atividade de um agente = função f (percepção) ação Idéia: aprender, a partir de exemplos (x,f(x)), representação de uma função h que aproxima f 3

Aprendizagem Indutiva Exemplo: Ajustar uma função de uma única variável a alguns pontos de dados Exemplos são pares (x, f(x)) de números reais 4

Aprendizagem Indutiva Exemplo: 5

Aprendizagem Indutiva Exemplo: 6

Aprendizagem Indutiva Exemplo: 7

Aprendizagem Indutiva Exemplo: A verdadeira f é desconhecida, mas existem muitas opções para h. Sem contar com mais conhecimento, não há razão que nos faça preferir uma das opções. 8

Aprendizagem Indutiva Aprender de uma vez ou aos poucos? Incremental (on-line): atualiza hipótese a cada novo exemplo mais flexível,... Porém a ordem de apresentação é importante (backtracking) não incremental (off-line): gerada a partir de todo conjunto de exemplos mais eficiente e prática mais usado 9

a m b i e n t e Modelo do Agente Aprendiz (on-line) sensores t + 1 crítico Agente t avaliação elemento ator trocas conhecimento elemento de aprendizagem efetuadores Gerador de problemas objetivos de aprendizagem 10

Uso a m b i e n t e Treinamento Modelo do Agente Aprendiz (off-line) exemplos Algoritmo de Aprendizagem conhecimento sensores efetuadores elemento ator 11

ÁRVORES de DECISÃO Método para inferência indutiva Auxilia a predizer a classe de um objeto em estudo em base a um treinamento prévio. Uma árvore representa uma função discreta para aproximar/representar os dados de treinamento Uma das formas mais simples de algoritmos de aprendizagem Árvores de decisão classificam instâncias ordenando-as da raiz para algúm nó folha. Entrada: um objeto ou situação descrito por um conjunto de propriedades ou atributos; Saída: uma decisão. 12

ÁRVORES de DECISÃO 13

ÁRVORES de DECISÃO Cada nó de decisão (ou nó não folha) contem um teste de atributo Cada ramo descendente corresponde a um possível valor deste atributo Cada nó folha (ou nó resposta) esta associada a uma classe Cada percurso na árvore (da raiz à folha) corresponde a uma regra de classificação 14

Árvores de decisão: Conceitos Exemplo - descrito pelos valores dos atributos e o valor do predicado meta(p). Valor do predicado meta é chamado classificação do exemplo. Se o predicado meta é verdadeiro para algum exemplo: é exemplo positivo(+), caso contrário é exemplo negativo(-). O conjunto completo de exemplos é chamado conjunto de treinamento. Classificação é a aplicação do predicado meta (p) a um exemplo Objetivo da aprendizagem gerar a descrição d de p segundo os atributos dados d deve ser consistente (cobre todos positivos e exclui todos negativos) e preditiva/geral (vai além da memorização) d deve ser a mais simples possível 15

Expressividade de árvores de decisão Qualquer função booleana pode ser escrita como uma árvore de decisão. 16

Expressividade de árvores de decisão Exemplo do Restaurante: Esperar ou não uma mesa? Atributos disponíveis: Alternativa: há um outro restaurante apropriado por perto? Bar: o restaurante tem uma área de bar confortável para esperar? Sex/Sab: verdadeiro às sextas e sábados Faminto: Estamos com fome? Clientes: Quantas pessoas estão no restaurante? Preço: A faixa de preços do restaurante Chovendo: Está chovendo do lado de fora? Reserva: Fizemos uma reserva? Tipo: Qual o tipo do restaurante? Espera estimada: A espera estimada pelo gerente 17

Conjunto de treinamento para o exemplo do restaurante Ex Alt Bar Sex Fam Cli Pre Chu Res Tipo Tem Meta X 1 Sim Não Não Sim Alg $$$ Não Sim Fra 0-10 Sim X 2 Sim Não Não Sim Che $ Não Não Tai 30-60 Não X 3 Não Sim Não Não Alg $ Não Não Ham 0-10 Sim X 4 Sim Não Sim Sim Che $ Sim Não Tai 10-30 Sim X 5 Sim Não Sim Não Che $$$ Não Sim Fra >60 Não X 6 Não Sim Não Sim Alg $$ Sim Sim Ita 0-10 Sim X 7 Não Sim Não Não Ne $ Sim Não Ham 0-10 Não X 8 Não Não Não Sim Alg $$ Sim Sim Tai 0-10 Sim X 9 Não Sim Sim Não Che $ Sim Não Ham >60 Não X 10 Sim Sim Sim Sim Che $$$ Não Sim Ita 10-30 Não X 11 Não Não Não Não Ne $ Não Não Tai 0-10 Não X 12 Sim Sim Sim Sim Che $ Não Não Ham 30-60 Sim 18

Clientes? Nenhum alguns cheio Não Sim EsperaEstimada? >60 30-60 10-30 0-10 Não Alternativa: Rest. Perto? Faminto? Não Sim Não Sim Sim Fiz Reserva? É Sex/Sab? Sim Alternativa: Rest. Perto? Não Sim Não Sim Não Sim Tem Bar? Sim Não Sim Sim Chovendo? Não Sim Não Sim Não Sim Não Sim 19

Expressividade de árvores de decisão Qualquer hipótese de árvore de decisão específica para o predicado meta VaiEsperar pode ser vista como uma asserção da forma: x VaiEsperar(x) (P 1 (x) v P 2 (x) v... v P n (x)) Cada condição P i (x) é uma conjunção de testes que pode corresponder a um caminho da raiz até uma folha da árvore com resultado positivo. A árvore pode ser representada por um conjunto de conjunções que implicam uma conclusão positiva e estas correspondem aos caminhos que vão da raiz até o nó folha Sim. rclientes (r, Cheio) TempoEsperaEstimado(r, 10-30) TerFome(r,N) Esperará(r) 20

Indução de árvores de decisão Algoritmo de aprendizagem em árvore de decisão: Top-down (dirigida a modelo) - conjunto de possíveis generalizações na tentativa de encontrar as melhores hipóteses que satisfaçam certos requerimentos; A idéia é testar o atributo mais importante aquele que faz a maior diferença para a classificação de um exemplo. Obter a classificação correta com pequeno nº de testes = caminhos curtos e árvore pequena. Limitação: A árvore memoriza as observações. Ela não extrai qualquer padrão dos exemplos e, assim, não podemos esperar que ela esteja apta a extrapolar para exemplos não vistos antes. 21

Indução de árvores de decisão A idéia base: 1. Começar com todos os exemplos de treino 2. Escolher o teste (atributo) que melhor divide os exemplos, ou seja agrupar exemplos da mesma classe ou exemplos semelhantes 3. Para o atributo escolhido adicionar um ramo (nó filho) para cada valor possível do atributo. 4. Passar os exemplos para as folhas (cada nó filho) tendo em conta o valor do atributo escolhido 5. Para cada folha Se todos os exemplos são da mesma classe, associar essa classe à folha (filhos puros pois cada atributo x tem o mesmo valor em todos os exemplos) Senão repetir os passos 1 a 4 ( criar novos ramos para cada classe) 22

Indução de árvores de decisão Exemplo Cachaçaria predicado-objetivo: vaiacachaçaria Atributos considerados: Sono: Estou com sono? Transporte: Tenho como ir de carro? Carona? etc. UTFPR: Devo estar amanhã cedo na UTFPR? Álcool: Estou precisando de álcool? Sair: Quero sair de casa? Fome: Estou com fome? 23

Indução de árvores de decisão Atributos: (Sono, Transporte, UTFPR, Álcool, Sair, Fome)-> propriedade-objetivo E01: (Pouco,Carro,Sim,Sim,Não,Sim) -> Sim! E02: (Pouco,Carona,Não,Não,Sim,Sim) -> Sim! E03: (Sim,Carro,Não,Sim,Sim,Sim) -> Não. E04: (Pouco,Carona,Não,Não,Sim,Não) -> Sim! E05: (Sim,Outros,Sim,Sim,Sim,Não) -> Não. E06: (Pouco,Outros,Não,Sim,Não,Sim) -> Não. E07: (Pouco,Carro,Sim,Não,Sim,Sim) -> Sim! E08: (Pouco,Carona,Não,Não,Não,Sim) -> Não. E09: (Sim,Carro,Não,Sim,Sim,Não) -> Não. E10: (Não,Outros,Sim,Sim,Sim,Sim) -> Sim! E11: (Não,Carro,Não,Sim,Sim,Não) -> Sim! E12: (Não,Carona,Não,Sim,Sim,Sim) -> Sim! 24

Indução de árvores de decisão Sono? Não. UTFPR? Meio de transporte? Carona UTFPR? Sim. Não. Precisa de álcool? Sim. Não. Quer sair? Sim. Não. Sim. Não. 25

Indução de árvores de decisão Escolha do melhor atributo O que discrimina o maior número de exemplos Candidatos: Transporte: Não classifica imediatamente nenhum dos exemplos Sono: Classifica de imediato 6 dos 12 exemplos... 26

Indução de árvores de decisão atributo Transporte +:E01,E02,E04,E07,E10,E11,E12 - :E03,E05,E06,E08,E09 Transporte? carro +: E01,E07,E11 -: E03,E09 carona +: E02,E04,E12 -: E08 outros +: E10 -: E05,E06 27

Indução de árvores de decisão atributo Sono +:E01,E02,E04,E07,E10,E11,E12 - :E03,E05,E06,E08,E09 Sono? sim pouco não +: - - - -: E3, E5, E9 +: E1,E2,E4, E7 -: E6,E8 +: E10,E11,E12 -: - - - 28

Escolha dos atributos preditivos para os nós da árvore Como medir a habilidade de um dado atributo discriminar as classes? Existem muitas medidas e todas concordam em dois pontos: Uma divisão que mantêm as proporções de classes em todas as partições é inútil. Uma divisão onde em cada partição todos os exemplos são da mesma classe tem utilidade máxima.

Escolha dos atributos preditivos para os nós da árvore Como escolher o melhor atributo? Entropia Ganho 30

Entropia Escolha dos atributos preditivos para os nós da árvore A entropia de um conjunto pode ser definida como sendo uma medida do grau de impureza do conjunto. Este conceito define a medida de "falta de informação", mais precisamente o número de bits necessários, em média, para representar a informação em falta, usando codificação ótima. Entropia é uma medida da aleatoriedade de uma variável. 31

Escolha dos atributos preditivos para os nós da árvore Entropia Dado um conjunto S, com instâncias pertencentes à classe i, com probabilidade p i, tem-se: Pode-se ter: E( S) log 1 2 c i p i p i E( S) p log p p log 2 2 p S é o conjunto de exemplo de treino; p + é a porção de exemplos positivos; p - é a porção de exemplos negativos. 32

Escolha dos atributos preditivos para os nós da árvore Entropia E( S) log 1 2 c i p i p i E( S) p log p p log 2 2 p A Entropia(S) tem máximo (log2 i) se p i = p j para qualquer i j A Entropia(S) = 0 se existe um i tal que p i = 1 É assumido que 0 * log 2 0 = 0 33

Escolha dos atributos preditivos para os nós da árvore Entropia Entropia ( S) p log 2 p p log 2 p Variação da Entropia a medida que a proporção de positivos e negativos se altera. 34

Escolha dos atributos preditivos para os nós da árvore Exemplo: Se p é 1, o destinatário sabe que o exemplo selecionado será positivo Nenhuma mensagem precisa ser enviada Entropia é 0 (mínima) Se p é 0.5, um bit é necessário para indicar se o exemplo selecionado é ou Entropia é 1 (máxima) 35

Ganho Escolha dos atributos preditivos para os nós da árvore Define a redução na entropia. Ganho(S,A) significa a redução esperada na entropia de S, ordenado pelo atributo A. Ganho ( S, A) A E ( S) vvalores ( ) E Para responder à pergunta anterior, "Como escolher o melhor atributo?" é usado o ganho. Em cada iteração do algoritmo é escolhido o atributo que apresente uma maior ganho. Obs.: valores(a) é o conjunto de todos possíveis valores para o atributo A, e S v é o subconjunto de S para qual o atributo A tem valor v. S S v S v 36

Escolha dos atributos preditivos para os nós da árvore Entropia - medida da impureza do conjunto de treino. Assumindo o valor máximo (1) quando existem tantos elementos positivos como negativos, e o valor mínimo (0) quando todos os elementos são da mesma classe. Ganho de informação - redução esperada no valor da Entropia, devido à ordenação do conjunto de treino segundo os valores do atributo A. 37

Exemplo Conjunto de dados Dia Aspecto Temp. Umidade Vento Jogar Tênis D1 Sol Quente Elevada Fraco Não D2 Sol Quente Elevada Forte Não D3 Nuvens Quente Elevada Fraco Sim D4 Chuva Ameno Elevada Fraco Sim D5 Chuva Fresco Normal Fraco Sim D6 Chuva Fresco Normal Forte Não D7 Nuvens Fresco Normal Fraco Sim D8 Sol Ameno Elevada Fraco Não D9 Sol Fresco Normal Fraco Sim D10 Chuva Ameno Normal Forte Sim D11 Sol Ameno Normal Forte Sim D12 Nuvens Ameno Elevada Forte Sim D13 Nuvens Quente Normal Fraco Sim D14 Chuva Ameno Elevada Forte Não Fonte: GFBioinfo 38

Exemplo Primeiro passo: são analisados todos os atributos, começando pela Umidade. S [9, 5] E( Entropia ) 9 log 9 5 log 5 2 2 0, 940 14 14 14 14 Umidade? Elevada Normal [3+, 4-] [6+, 1-] E=0,985 E=0,592 Ganho ( S, Umidade) 0,940 Ganho ( S, Umidade) 0,151 7 0,985 7 14 0,592 14 Obs.: 39

Exemplo Calculando o ganho para todos os atributos o que o tem maior ganho é o Aspecto. S [9, 5] E 0,940 Aspecto Ganho( S, Umidade) 0,151 Ganho( S, Vento) 0,048 MAX Ganho( S, Aspecto) 0,247 Ganho( S, Temp.) 0,029 Sol Nuvens Chuva [2+, 3-] [4+, 0-] [3+, 2-] E=0,971 E=0 E=0,971 Ganho ( S, Aspecto ) 0,940 Ganho ( S, Aspecto ) 0,247 5 0,971 4 0,0 5 14 14 0,971 14 40

Exemplo No próximo passo o atributo Aspecto já não é considerado. [9+, 5-] Aspecto [D1, D2,..., D14] Sol Nuvens Chuva [2+, 3-] [4+, 0-] [3+, 2-]? Sim? S Sol =[D1, D2, D8, D9, D11] S Nuvens =[D3, D7, D12, D13] S Chuva =[D4, D5, D6, D10, D14] Ganho( S MAX Ganho( S Ganho( S Sol Sol Sol, Umidade) 0,971, Temp.) 0,971, Vento) 0,971 3 0,0 2 0,0 0,971 5 5 2 0,0 2 1,0 1 0,0 0,570 5 5 5 2 1,0 3 0,918 0,019 5 5 41

Exemplo Quando em todos os nós a entropia for nula, o algoritmo para e obtêm-se a seguinte Árvore de decisão: Aspecto [D1, D2,..., D14] Sol Nuvens Chuva Umidade Sim S Nuvens =[D3, D7, D12, D13] Vento Elevada Normal Fraco Forte Não Sim Não Sim S Sol,Elevada =[D1, D2, D8] S Sol,Normal =[D9, D11] S Chuva,Fraco =[D6, D14] S Chuva,Forte =[D4, D5, D10] 42