Introduo a Aprendizagem de Mquina atravs da Induo

  • Slides: 33
Download presentation
Introdução a Aprendizagem de Máquina através da Indução de Árvores de Decisão Geber Ramalho

Introdução a Aprendizagem de Máquina através da Indução de Árvores de Decisão Geber Ramalho Jacques Robin CIn-UFPE

Modelo do Agente Aprendiz (on-line) Padrões de aceitação Agente t+1 sensores ambiente t crítico

Modelo do Agente Aprendiz (on-line) Padrões de aceitação Agente t+1 sensores ambiente t crítico avaliação trocas elemento ator elemento de conhecimento aprendizagem objetivos de aprendizagem efetuadores Depende da KRL Gerador de problemas Experiências informativas

Aprendizagem para construção do agente (off-line) ve e r sc exemplos e d e

Aprendizagem para construção do agente (off-line) ve e r sc exemplos e d e e lh o c s E Engenheiro de conhecimento parametriza elemento de aprendizagem cri tica elemento ator Agente Base de conhecimento

Árvore de Decisão A partir de um conjunto de propriedades, decide sim ou não

Árvore de Decisão A partir de um conjunto de propriedades, decide sim ou não * Exemplo Soparia (by Carlos Figueira) * • predicado-objetivo: vai. ASoparia • Atributos considerados: t Sono: Estou com sono? t Transporte: Tenho como ir de carro? Carona? etc. t CONIC: Devo estar amanhã cedo no CONIC? t Álcool: Estou precisando de álcool? t Sair: Quero sair de casa? t Fome: Estou com fome?

Árvore de Decisão “pensada” valores atributo Sono? Sim Pouco Não. Meio de transporte? Carro

Árvore de Decisão “pensada” valores atributo Sono? Sim Pouco Não. Meio de transporte? Carro CONIC? Carona Precisa de álcool? Sim. Não. Sim. Outros Não. CONIC? Nã o Sim Não Quer sair? Sim. Não.

ID 3: exemplos da soparia * Atributos: (Sono, Transporte, CONIC, Álcool, Sair, Fome) ->

ID 3: exemplos da soparia * Atributos: (Sono, Transporte, CONIC, Álcool, Sair, Fome) -> propriedade-objetivo • • • E 01: (Pouco, Carro, Sim, Não, Sim) -> Sim! E 02: (Pouco, Carona, Não, Sim) -> Sim! E 03: (Sim, Carro, Não, Sim, Sim) -> Não. E 04: (Pouco, Carona, Não, Sim, Não) -> Sim! E 05: (Sim, Outros, Sim, Não) -> Não. E 06: (Pouco, Outros, Não, Sim) -> Não. E 07: (Pouco, Carro, Sim, Não, Sim) -> Sim! E 08: (Pouco, Carona, Não, Sim) -> Não. E 09: (Sim, Carro, Não, Sim, Não) -> Não. E 10: (Não, Outros, Sim, Sim) -> Sim! E 11: (Não, Carro, Não, Sim, Não) -> Sim! E 12: (Não, Carona, Não, Sim, Sim) -> Sim!

ID 3: conceitos * Classificação • aplicação do predicado objetivo p a um exemplo

ID 3: conceitos * Classificação • aplicação do predicado objetivo p a um exemplo * Exemplo positivo (ep) e exemplo negativo (en) • p(ep) = verdadeiro, p(en) = falso * Conjunto de treinamento • positivos + negativos * 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 (navalha de Ockahm)

ID 3: construção da árvore * Escolha do melhor atributo • O que discrimina

ID 3: construção da árvore * Escolha do melhor atributo • O que discrimina o maior número de exemplos • Maior ganho de informação (entropia) * Candidatos: • Transporte: Não classifica imediatamente nenhum dos exemplos • Sono: Classifica de imediato 6 dos 12 exemplos • . . .

Exemplo: atributo transporte +: E 01, E 02, E 04, E 07, E 10,

Exemplo: atributo transporte +: E 01, E 02, E 04, E 07, E 10, E 11, E 12 - : E 03, E 05, E 06, E 08, E 09 Transporte? carro +: E 01, E 07, E 11 -: E 03, E 09 carona +: E 02, E 04, E 12 -: E 08 outros +: E 10 -: E 05, E 06

Exemplo: atributo sono +: E 01, E 02, E 04, E 07, E 10,

Exemplo: atributo sono +: E 01, E 02, E 04, E 07, E 10, E 11, E 12 - : E 03, E 05, E 06, E 08, E 09 Sono? sim +: - - -: E 3, E 5, E 9 pouco +: E 1, E 2, E 4, E 7 -: E 6, E 8 não +: E 10, E 11, E 12 -: - - -

Cálculo do ganho de informação Ganho(A) = I p/p+n, n/p+n - vi=1(pi+ni)/(pi+ni) I pi/pi+ni,

Cálculo do ganho de informação Ganho(A) = I p/p+n, n/p+n - vi=1(pi+ni)/(pi+ni) I pi/pi+ni, ni/pi+ni I p/p+n, n/p+n = -p/(p+n) (log 2 p/(p+n)) - n/(n+p) (log 2 n/(p+n)) Onde A = atributo p = positivo n = negativo

ID 3: Algoritmo de aprendizagem function APRENDIZAGEM_DA_ID 3(exemplos, atributos, default) : árvore de decisão

ID 3: Algoritmo de aprendizagem function APRENDIZAGEM_DA_ID 3(exemplos, atributos, default) : árvore de decisão if (exemplos é vazio) then return default; else if (todos os exemplos têm a mesma classificação) then return (a classificação); elseif (atributos é vazio) then return maioria(exexmplos); else melhor <- ESCOLHA_MELHOR_ATRIBUTO(atributos, exemplos); árvore <- nova árvore com raiz “melhor”; para cada valor vi de melhor faça exemplosi <- exemplos onde melhor = vi; subárvore <- APRENDIZAGEM_DA_ID 3(exemplosi, atributos-{melhor}, maioria(exemplos)); adicione subárvore como um ramo à árvore com rótulo vi; return arvore;

Árvore de Decisão “Induzida” +: E 1, E 2, E 4, E 7, E

Árvore de Decisão “Induzida” +: E 1, E 2, E 4, E 7, E 10, E 11, E 12 -: E 3, E 5, E 6, E 8, E 9 Sono? Sim +: - - -: E 3, E 5, E 9 Não. Carro +: E 1, E 7 -: - - - Sim. Pouco +: E 1, E 2, E 4, E 7 -: E 6, E 8 Meio de transporte? Carona +: E 2, E 4 -: E 8 Quer sair? Sim +: E 2, E 4 -: - - - Sim. Não +: - - -: E 8 Não +: E 10, E 11, E 12 -: - - - Sim. Outros +: - - -: E 6 Não.

Regras * É possível mostrar o resultado como regras lógicas • toma-se as folhas

Regras * É possível mostrar o resultado como regras lógicas • toma-se as folhas com conclusão positiva e sobe-se até a raiz * Exemplos: • t Sono(Não, t) Vai. ASoparia(t) • t Sono(Pouco, t) Transporte(Carro, t) Vai. ASoparia(t) • t Sono(Pouco, t) Transporte(Carona, t) Quer. Sair(Sim, t) Vai. ASoparia(t)

Dimensões para classificar tarefas e técnicas de aprendizagem de máquina * * * *

Dimensões para classificar tarefas e técnicas de aprendizagem de máquina * * * * Tarefas de aprendizagem: componente e aspeto do elemento de performance a melhorar Complexidade do ambiente do agente aprendiz Retorno no processo de treinamento do agente Controle dos mecanismos de aprendizagem e de ação Formalismo de representação do conhecimento Aproveitamento de conhecimento prévio Visões unificadoras: • aprendizagem = adquirir uma representação, geralmente aproximativa, de uma função matemática • aprendizagem = busca de uma região em um espaço de hipótese explicando os dados (exemplos) Relação com otimização, analise numérica, estatística * Propriedades matemática e viés a priori sobre a função a aproximar ou do espaço de hipótese a buscar

Técnicas de aprendizagem Paradigma simbólico: * Aprendizagem de conceitos por busca no espaço de

Técnicas de aprendizagem Paradigma simbólico: * Aprendizagem de conceitos por busca no espaço de soluções (version-space) * Indução de árvores de decisão e regras proposicionais * Programação em lógica indutiva * Aprendizagem por explicações * Raciocínio baseado em casos * Aprendizagem Q * Agrupamento de conceitos proposicionais Paradigma probabilista: * K Vizinhos mais próximo * Regressão estatística * Funções de bases radiais * Aprendiz bayesiano ingênuo Paradigma conexionista: * Perceptron multicamada * Memórias associativas Paradima evolucionista: * Algoritmos genéticos Abordagens híbridos: * Rede bayesianas

Tarefas de aprendizagem * Classificação: dados = instâncias conceitos • aprende novo conhecimento da

Tarefas de aprendizagem * Classificação: dados = instâncias conceitos • aprende novo conhecimento da forma: t * CI: Estado(Ambiente, t) x Percepções(t) Estado(Ambiente, t+1) Previsão: dados(t) conceitos dados(t+1) • aprende novo conhecimento da forma: t t CP 1: Estado(Ambiente, t) Estado(Ambiente, t+1) CP 2: Estado(Ambiente, t) x Ações(t) Estado(Ambiente, t+1) • classificação destacando atributo tempo • generaliza-se na identificação de serias temporais * Controle: dados política de comportamento • aprende novo conhecimento da forma: t t t R: Percepções Ações, ou Cu 1: Estado(Ambiente, t) x Objetivos(t) Utilidade, ou Cu 2: Estado(Ambiente, t) x Ações(t) x Objetivos(t) Utilidade

Tarefas de aprendizagem * Otimização: • • • * aprender nova representação de conhecimento

Tarefas de aprendizagem * Otimização: • • • * aprender nova representação de conhecimento prévio para melhorar desempenho do agente e não sua versatilidade embora não envolve aprender nada de fundamentalmente novo as vezes a diferença entre 2 representações do mesmo problema é a diferença entre uma solução puramente teórica e uma solução operacional na prática Meta-aprendizagem • aprender valores ótimas de parâmetros ou de representações de viés para aprendizagem de conhecimento do domínio da aplicação * Aprendizagem multi-camada: muitas vezes, • controle requer previsão, que requer classificação • e o conhecimento assim obtido precisa ser otimizado para execução em tempo real • ex, futebol de robôs

Complexidade do ambiente Acessível? * Episódico? * Discreto? * Determinista? Ruidoso? * Dinâmico? *

Complexidade do ambiente Acessível? * Episódico? * Discreto? * Determinista? Ruidoso? * Dinâmico? * Relacional? * Diverso? * Grande? *

Retorno no processo de treinamento * Aprendizagem supervisionada • certo(ação) ou errado(ação) • Dado

Retorno no processo de treinamento * Aprendizagem supervisionada • certo(ação) ou errado(ação) • Dado conjunto de exemplos pré-classificados, • Aprender descrição que abstraí a informação contida nesses exemplos • e que pode ser usada para prever casos futuros • ex. , concessão de crédito * Aprendizagem não-supervisionada • se vire! • Dada uma coleção de dados não classificados, • Agrupá-los por regularidades • ex. , caixa de supermercado empacotando

Retorno no processo de treinamento * Aprendizagem por reforço: recompensa/punição • certo(ação 1(t 0)/.

Retorno no processo de treinamento * Aprendizagem por reforço: recompensa/punição • certo(ação 1(t 0)/. . . /ação(tn) ou errado(ação 1(t 0)/. . . /ação(tn)) • dado sucesso ou insucesso global de um seqüência de ação, determinar qual ação e’ a mais desejável em cada situação • ex. , Deep. Blue jogando contra ele próprio: é por a • propagar para trás recompensas e punições a partir do estado final

Controle da aprendizagem Aprende depois age ou aprende agindo (treinos x jogos) * Agir

Controle da aprendizagem Aprende depois age ou aprende agindo (treinos x jogos) * Agir sempre otimamente x aprender novas habilidades * Busca de hipótese: * • incremental (exemplos apresentado ao poucos) ou não (todos de uma vez) • iterativa (exemplos re-apresentados em várias épocas) ou não (uma apresentação de cada exemplo basta) • top-down (refina hipótese geral para cobrir exemplos) ou bottom-up (generaliza exemplos para abstrair hipótese) ou bi-direcional • gulosa (generaliza exemplos assim que encontrados) ou preguiçosa (não generaliza exemplos com antecedência, apenas os indexa para os adaptar ao receber novas consultas parecidas) • global (aproxima função completa) ou local (aproxima-la por partes)

Representação do conhecimento * Função matemática: • domínio e escopo: {0, 1}, Z, R

Representação do conhecimento * Função matemática: • domínio e escopo: {0, 1}, Z, R • monotonia, continuidade • polinomial, exponencial, logarítmica * Lógica: • proposicional (ordem 0), de atributos (ordem 0+) • de Horn ou dos predicados (ordem 1) • exóticas (ordem superior, temporal, modal, etc) Distribuição de probabilidades * Outros, ex. : * • • Pesos em redes conexionistas, Representações orientada a objetos, Árvores de decisão, etc. . . se reduzem as 3 primeiras

Conhecimento prévio * Aprendizagem sem conhecimento prévio: • dados (exemplos) conhecimento * Aprendizagem conhecimento

Conhecimento prévio * Aprendizagem sem conhecimento prévio: • dados (exemplos) conhecimento * Aprendizagem conhecimento prévio: • dados x conhecimento prévio conhecimento aprendido * Métodos de aprendizagem que permitem usar conhecimento prévio em entrada: • re-aproveitam de conhecimento: t t adquirido com especialistas humanos aprendido durante passos anteriores de KDD • para aprendem a partir de muito menos dados • Homogeneidade: • Exemplos, conhecimento prévio e conhecimento aprendido pode ser representados no mesmo formalismo?

Viés * Conhecimento prévio: • conhecimento do domínio da aplicação inteligente • ex, futebol

Viés * Conhecimento prévio: • conhecimento do domínio da aplicação inteligente • ex, futebol de robôs, bolsa de valor, meteorologia, etc. • no mesmo formalismo do que o conhecimento a aprender * Viés: • meta-conhecimento prévio • sobre a forma do conhecimento a aprender a partir dos dados, ex. , t t t * classe de função a aproximar (linear, polinomial, . . . ) classe de função medindo o erro da aproximação (médio quadrado, …) dimensionalidade do espaço de hipótese distribuição probabilista dos pontos nesse espaço (normal, poisson, . . ) restrições lexicais e sintática da linguagem de representação do conhecimento a aprender (ex, número de premissa ou conclusões de regras, numero de grupos classificando exemplos, …) Aprendizagem sem viés não tem poder de generalização !

Indução de árvore de decisão: características * * Tarefas: classificação, previsão e controle Ambiente:

Indução de árvore de decisão: características * * Tarefas: classificação, previsão e controle Ambiente: • • * inacessível: + não episódico: + contínuo: + ou ruidoso: + dinâmico: + relacional: diverso: grande: + Supervisionado * Controle da aprendizagem: • • • * * * Treino antes da ação Não incremental Não iterativo Top-down Guloso Global Representação do conhecimento: lógica propocisional Não pode aproveitar de conhecimento prévio Propriedades da função aproximada: escada N dimensional

Problemas c/ ID 3: Expressividade * Só pode tratar de um único objeto •

Problemas c/ ID 3: Expressividade * Só pode tratar de um único objeto • t Sono(Não, t) Vai. ASoparia(t) • t Sono(Pouco, t) Transporte(Carro, t) Vai. ASoparia(t) * Mais de um. . . não dá com eficiência • Ex: “se posso ficar mais indisposto mais tarde, eu vou logo à soparia” • t 1 t 2 Mesmo. Dia(t 1, t 2) Disposição(t 1, d 1) Disposição(t 2, d 2) Maior (d 1, d 2) Vai. ASoparia(t) • alternativa: atributo posso. Ficar. Mais. Indisposto(t)

Problemas c/ ID 3: Expressividade Exemplo: Goal predicate = Bom. Pesquisador (x) * Como

Problemas c/ ID 3: Expressividade Exemplo: Goal predicate = Bom. Pesquisador (x) * Como tratar atributos multi-valorados? * • Filiação(José, {USP, Unesp}) * Como tratar atributos numéricos? • * Tem entre 45 e 52 anos Como tratar listas ordenadas? • Formação = {graduação, mestrado, doutorado, pós} * Como inserir conhecimento a priori? • Hierarquias conceituais NE PE PB BR Norte AL CE

Problemas gerais: ambigüidade * Ambigüidade: • Dois ou mais exemplos com a mesma descrição

Problemas gerais: ambigüidade * Ambigüidade: • Dois ou mais exemplos com a mesma descrição (em termos de atributos) mas classificações diferentes * Causas: • Ruído • Atributos insuficientes * Soluções: • tratamento estatístico • indução construtiva • etc.

Problemas gerais: overfitting * Overfitting (hiper-especialização): • Evitar encontrar uma “regularidade” muito restrita nos

Problemas gerais: overfitting * Overfitting (hiper-especialização): • Evitar encontrar uma “regularidade” muito restrita nos dados * Soluções: • Validação cruzada • Pré-Poda: parar a construção da árvore cedo t t não dividir um nó se isso resultar em um critério abaixo de um limiar difícil escolher o limiar apropriado • Pós-Poda: remover ramos de uma árvore completa t t t conjunto de dados e critério de qualidade da árvore diferentes para a fase inicial de constução da árvore e para a fase final de poda da árvore

Pós-poda de arvore de decisão:

Pós-poda de arvore de decisão:

Validação Cruzada * * Serve para evitar overfitting e para averiguar robustez dos resultados

Validação Cruzada * * Serve para evitar overfitting e para averiguar robustez dos resultados Algoritmo 1) Divide o conjunto de exemplos em dois sub-conjuntos: conjuntos de treinamento (TR) e de teste (TE) 2) Usa indução para gerar hipótese H sobre TR 3) Mede percentagem de erro de H aplicada à TE 4) Repete passos 1 -3 com diferentes tamanhos de TE e TR, e tendo elemento escolhidos aleatoriamente Treinamento Teste

Curva de aprendizagem

Curva de aprendizagem