Algoritmo para indução de árvores de classificação para dados ...
Introdução a Aprendizagem de Máquina através da Indução de Árvores de Decisão
-
Upload
quintana-topaz -
Category
Documents
-
view
24 -
download
0
description
Transcript of Introdução a Aprendizagem de Máquina através da Indução de Árvores de Decisão
Introdução a Aprendizagem de Máquina Introdução a Aprendizagem de Máquina através da Indução de Árvores de através da Indução de Árvores de
DecisãoDecisão
Geber RamalhoJacques Robin
CIn-UFPE
Modelo do Agente Aprendiz (on-line)Modelo do Agente Aprendiz (on-line)
sensores
efetuadores
Agente
Gerador de problemas
crítico
elemento de aprendizagem
avaliação
objetivos de aprendizagem
elemento ator
trocas
conhecimento
a m
b i
e n
t e
Experiências informativasDepende da KRL
Padrões de aceitação
t
t + 1
Aprendizagem para construção Aprendizagem para construção do agente (off-line)do agente (off-line)
Agente
Base de conhecimento
elemento de aprendizagem
exemplos
Engenheiro de conhecimento
Escolhe e descreve
parametriza
elementoator
critica
Árvore de DecisãoÁrvore de Decisão
A partir de um conjunto de propriedades, decide sim ou não
Exemplo Soparia (by Carlos Figueira)• predicado-objetivo: vaiASoparia• Atributos considerados:
Sono: Estou com sono? Transporte: Tenho como ir de carro? Carona? etc. CONIC: Devo estar amanhã cedo no CONIC? Álcool: Estou precisando de álcool? Sair: Quero sair de casa? Fome: Estou com fome?
Árvore de Decisão “pensada”Árvore de Decisão “pensada”
Sono?
CONIC?
Carro
Não.
Outros
CONIC?Carona
Sim
Sim.
Não
Não.
Não
Quer sair?Sim
Não.
Sim.
Não
Meio detransporte?
PoucoSim
Não.
Sim.
Não
Precisa deálcool?
Sim
Sim
Sim.
Não
Não.
atributovalores
ID3: exemplos da sopariaID3: exemplos da soparia
Atributos: (Sono, Transporte, CONIC, Á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!
ID3: conceitosID3: 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)
ID3: construção da árvoreID3: 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 transporteExemplo: atributo transporte
Transporte?
carro outros
+:E01,E02,E04,E07,E10,E11,E12- :E03,E05,E06,E08,E09
carona
+: E10-: E05,E06
+: E01,E07,E11-: E03,E09
+: E02,E04,E12-: E08
Exemplo: atributo sonoExemplo: atributo sono
Sono?
sim pouco não
+:E01,E02,E04,E07,E10,E11,E12- :E03,E05,E06,E08,E09
+: E1,E2,E4, E7-: E6,E8
+: - - --: E3, E5, E9
+: E10,E11,E12-: - - -
Cálculo do ganho de informaçãoCálculo do ganho de informação
Onde A = atributop = positivon = negativo
Ganho(A) = I - vi=1(pi+ni)/(pi+ni) I
I = -p/(p+n) (log2 p/(p+n)) - n/(n+p) (log2 n/(p+n))
p/p+n, n/p+n pi/pi+ni, ni/pi+ni
p/p+n, n/p+n
function APRENDIZAGEM_DA_ID3(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_ID3(exemplosi,
atributos-{melhor}, maioria(exemplos)); adicione subárvore como um ramo à árvore com rótulo vi;
return arvore;
ID3: Algoritmo de aprendizagemID3: Algoritmo de aprendizagem
+: E1,E2,E4, E7-: E6,E8
Árvore de Decisão “Induzida”Árvore de Decisão “Induzida”
+: E1,E2,E4,E7,E10,E11,E12-: E3, E5, E6, E8, E9
Sono?Não
PoucoSim
+: - - --: E3, E5, E9
+: E10,E11,E12-: - - -
Sim.Não.
OutrosCarro Carona
Meio detransporte?
+: - - --: E6
+: E1,E7-: - - -
+: E2,E4-: E8
Sim. Não.Quer sair?Sim Não
+: E2,E4-: - - -
+: - - --: E8
Sim. Não.
RegrasRegras
É 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) VaiASoparia(t) t Sono(Pouco,t) Transporte(Carro,t) VaiASoparia(t) t Sono(Pouco,t) Transporte(Carona,t) QuerSair(Sim,t)
VaiASoparia(t)
Dimensões para classificar tarefas e Dimensões para classificar tarefas e técnicas de aprendizagem de máquinaté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 aprendizagemTé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ênuoParadigma conexionista: Perceptron multicamada Memórias associativasParadima evolucionista: Algoritmos genéticosAbordagens híbridos: Rede bayesianas
Tarefas de aprendizagemTarefas de aprendizagem Classificação: dados = instâncias conceitos
• aprende novo conhecimento da forma: 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:
CP1: Estado(Ambiente,t) Estado(Ambiente,t+1) CP2: 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:
R: Percepções Ações, ou Cu1: Estado(Ambiente,t) x Objetivos(t) Utilidade, ou Cu2: Estado(Ambiente,t) x Ações(t) x Objetivos(t) Utilidade
Tarefas de aprendizagem 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 ambienteComplexidade do ambiente
Acessível? Episódico? Discreto? Determinista? Ruidoso? Dinâmico? Relacional? Diverso? Grande?
Retorno no processo de treinamento 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 Retorno no processo de treinamento
Aprendizagem por reforço: recompensa/punição• certo(ação1(t0)/.../ação(tn) ou errado(ação1(t0)/.../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., DeepBlue jogando contra ele próprio: é por a• propagar para trás recompensas e punições a partir do
estado final
Controle da aprendizagemControle 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 conhecimentoRepresentaçã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 primeirasse reduzem as 3 primeiras
Conhecimento prévioConhecimento prévio
Aprendizagem sem conhecimento prévio:• dados (exemplos) conhecimento
Aprendizagem com 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:
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ésVié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., 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 temsem viés não tem poder de generalizaçãogeneralização !
Indução de árvore de decisão: Indução de árvore de decisão: característicascaracterí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/ ID3: ExpressividadeProblemas c/ ID3: Expressividade
Só pode tratar de um único objeto t Sono(Não,t) VaiASoparia(t) t Sono(Pouco,t) Transporte(Carro,t) VaiASoparia(t)
Mais de um... não dá com eficiência
• Ex: “se posso ficar mais indisposto mais tarde, eu vou logo à soparia”
t1t2 MesmoDia(t1,t2) Disposição(t1,d1)
Disposição(t2,d2) Maior (d1,d2) VaiASoparia(t)
• alternativa: atributo possoFicarMaisIndisposto(t)
Problemas c/ ID3: ExpressividadeProblemas c/ ID3: Expressividade
Exemplo: Goal predicate = BomPesquisador (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
PE PB AL CE
NE
BR
Norte
Problemas gerais: ambigüidadeProblemas 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: overfittingProblemas 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
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 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:
Treinamento Teste
Validação CruzadaValidação Cruzada
Serve para evitar overfitting e para averiguar robustez dos resultados
Algoritmo1) 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 TR3) Mede percentagem de erro de H aplicada à TE4) Repete passos 1-3 com diferentes tamanhos de TE e
TR, e tendo elemento escolhidos aleatoriamente
Curva de aprendizagemCurva de aprendizagem