Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Introdução ao Data Mining
Introdução e conceitos exemplos, relação com outras áreas
2
Entender o que é Data Mining (DM) e como surgiu
Objectivos desta aula Entender o que é Data Mining (DM) e como surgiu Conhecer/Reconhecer tipos de problemas/tarefas de data mining Entender o input e o output de um processo de DM Compreender a relação entre DM e Machine Learning Compreender como pode funcionar um algoritmo de DM Alípio Jorge MAP
3
Exemplo 1 Vendas de veículos TT Problema
mailing convida para test-drive brindes para quem aparecer linha grátis (800) Problema Fraca resposta Custos Dados: lista com 1M de pessoas (nome, morada) + dados: conhecimento público associado a códigos postais demográficos e “psicograficos” + dados: quem respondeu, quem ligou, quem comprou Alípio Jorge MAP
4
Fertilização “in vitro”
Exemplo 2 Fertilização “in vitro” recolha de óvulos na mulher fertilização externa -> produção de vários embriões selecção de embriões colocação de embriões no útero O problema seleccionar os embriões mais promissores. 60 variáveis descritivas dados históricos limites cognitivos do embriologista Alípio Jorge MAP
5
Elementos dos exemplos:
Análise Elementos dos exemplos: Situação prática. Problema de decisão/análise. Falta de conhecimento sobre o processo de decisão. Necessidade de obtenção do conhecimento explícito. Necessidade de automação do processo. Existência de dados. Utilização de uma técnica de data mining (DM) ou aprendizagem automática (AA). Machine Learning Alípio Jorge MAP
6
Fertilização in vitro Análise: Situação operacional:
recolha de vários óvulos de uma mulher, para fertilização externa e posterior reimplantação no útero da mulher. Problema de decisão: Quais os embriões a seleccionar (quais os que têm mais hipóteses de sobreviver?) Falta de conhecimento sobre o processo de decisão: não há teoria (ou é incompleta) sobre como seleccionar os embriões. Necessidade de obtenção do conhecimento explícito: Validação dos critérios de decisão obtidos automaticamente Necessidade de automação do processo: demasiadas variáveis e conhecimento relacionado, limites cognitivos do embriologista. Existência de dados: Registos históricos. Utilização de uma técnica de DM: classificação. Alípio Jorge MAP
7
Grandes quantidades de dados (bases de dados)
Porquê Data Mining? Grandes quantidades de dados (bases de dados) Conhecimento dos mercados / clientes Sectores muito dependentes da informação banca, seguros, telecomunicações, retalho Forte pressão competitiva Vantagem económica Respostas mais rápidas Produtividade Personalização em massa Promoção directa em função das compras Automação de tarefas /Apoio à decisão Detecção de fraude Classificação de corpos celestes Alípio Jorge MAP
8
O que é então Data Mining / Extracção de Conhecimento ?
Procura de padrões úteis em grandes quantidades de dados padrão: motivo que se repete com alguma frequência útil: o padrão deve servir para resolver um problema classificação regressão clustering associação outros Alípio Jorge MAP
9
Data Mining como passo no processo KDD Fayyad & Simoudis (1997)
Conhecimento Avaliação Data Mining Transformação & Redução Processamento e Limpeza Selecção e Amostragem Alípio Jorge MAP
10
Data mining: o ciclo DB DW DB DB Data Mining data warehouse
flat dataset data bases action Data Mining model evaluation decision support Alípio Jorge MAP
11
Junho 2007 (kdnuggets) Alípio Jorge MAP
12
Ponto da situação Vimos Vamos ver
conceito de extracção de conhecimento de dados dados (data mining) conhecimento tipos de problemas/tarefas de data mining classificação, regressão, ... Vamos ver modelação dos dados modelação do conhecimento Alípio Jorge MAP
13
Tipos de problemas de DM
Classificação Regressão Clustering Associação Outros o conjunto de tipos de problemas não é fechado data mining dirigido data mining exploratório Alípio Jorge MAP
14
Problemas de Classificação
Dados N casos de classes conhecidas Descobrir descobrir uma relação funcional f(X) =y que a um novo caso X, faça corresponder uma classe y 3 classes: - alto - médio - baixo Alípio Jorge MAP
15
Classificação MINING DEPLOYMENT Previsão: Colest=alto Novo caso:
Sexo: m IDA: 39 … Alípio Jorge MAP
16
Classificação: breast cancer>diagnóstico
Attributes 1. Sample code number id number 2. Clump Thickness 3. Uniformity of Cell Size 4. Uniformity of Cell Shape 5. Marginal Adhesion 6. Single Epithelial Cell Size 7. Bare Nuclei 8. Bland Chromatin 9. Normal Nucleoli 10. Mitoses 11. Class: benign, malignant Breast cytology Análise de 699 exames Alípio Jorge MAP
17
Típico problema de classificação
um paciente que precisa de lentes de contacto, quero determinar o tipo de lentes que este paciente precisa Como obter automaticamente um modelo de classificação? preciso de um histórico de receitas, que associa a cada paciente, o tipo de lentes receitadas: Paciente tipo de lentes forneço o histórico a um algoritmo de DM para problemas de classificação obtenho um modelo de classificação Como descrevo um paciente? tipo de lentes? Alípio Jorge MAP
18
Instância: exemplo de um conceito
Exemplos /instâncias Instância: exemplo de um conceito concreto “indivisível” Situação: modelo de decisão para atribuir crédito qual é o conceito? O que é um exemplo? Situação: prever clientes que vão abandonar o serviço sequências temporais multi registo Situação: prever subida da bolsa a partir do histórico de cotações individualizar os exemplos Alípio Jorge MAP
19
Situação: direccionar mailing
Conhecimento de fundo Background knowledge conhecimento mais ou menos estável que pode servir para enriquecer os dados Situação: direccionar mailing conhecimento genérico (dados demográficos) multi tabela Situação: previsão da estrutura secundária de proteínas conhecimento científico existente; proteinas homólogas Alípio Jorge MAP
20
Descrição de exemplos Linguagem de exemplos Tipicamente
conjunto de atributos (features, variáveis) conjunto de valores para cada atributo vectores de valores <sol,23,baixa,forte> conjuntos de pares atributo=valor {tempo=sol, temp=23, humidade=baixa, vento=forte} Exercícios: carruagem de Michalsky, combóio, textos para classificar como “sobre DM” ou “outros”. Alípio Jorge MAP
21
Ponto da situação Vimos Vamos ver
como modelar os dados num problema de classificação / regressão usamos sempre uma representação matricial (uma tabela) dos dados Vamos ver limitações da representação matricial tipos de atributos 2 formatos populares Alípio Jorge MAP
22
Conjunto de exemplos (data sets)
conjunto pré-definido de atributos matriz de valores n atributos m exemplos relação algébrica tabela (BD) Vantagens computacionais simplicidade conceptual Restrições a seguir Alípio Jorge MAP
23
Rep. Matricial: Restrições
Combóios de Michalsky representar um combóio de comprimento arbitrário. Atributos? Representações multi-relacionais normais em BD Outro exemplo: encomendas - detalhes de encomenda relações 1:N Alípio Jorge MAP
24
O formato “universal”: CSV (comma separated value)
atributos valores e classe (classificação) Alípio Jorge MAP
25
Um formato específico: ARFF do Weka
comentários classe (classificação) Alípio Jorge MAP
26
Dados de treino e dados de teste
Exemplos de treino para construir o modelo training-set (AA) Exemplos de teste para avaliar o modelo test-set (AA) Distribuição dos exemplos geralmente assume-se dist. treino = dist. teste concept drift (deriva conceptual) treino modelo teste avaliação Alípio Jorge MAP
27
Ponto da situação Vimos Vamos ver como modelar os dados (o input)
como modelar o conhecimento (o output) Alípio Jorge MAP
28
Regras de classificação (ou de decisão)
Problemas de classificação Tipicamente SE {Conjunto de condições} ENTÃO {Conclusão} IF age=presbyopic and astigmatic=no THEN recommendation=soft Linguagem de hipóteses (LH) genericamente, é a linguagem em que exprimimos os modelos Conjuntos de regras SE-ENTÃO Sequências de regras Classe ou decisão Alípio Jorge MAP
29
Regras de classificação
IF age=presbyopic and astigmatic=no THEN recommendation=soft “acúcar sintático” para age=presbyopic astigmatic=no recommendation=soft Sintaxe não é importante desde que bem definida. átomo Alípio Jorge MAP
30
Regras de classificação
LH é uma linguagem proposicional subconjunto da lógica proposicional Hipótese ---> conjunto de regras Regra ---> AntecedenteConsequente Antecedente ---> Conjunção Conjunção ---> Átomo | Átomo Conjunção Consequente ---> Átomo Átomo pode tomar o valor verdadeiro ou falso Alípio Jorge MAP
31
Regras de classificação
Dado um exemplo E e uma regra A C Uma regra aplica-se se A é verdadeiro em E. A é uma generalização de E. A regra “dispara” Exemplo 1: {age=presbyopic,spectacle-prescription=myope, astigmatic=no,tear-prod-rate=reduced} Exemplo 2: astigmatic=yes,tear-prod-rate=reduced} Regra: IF age=presbyopic and astigmatic=no THEN recommendation=soft Alípio Jorge MAP
32
Mais do que uma regra dispara
Conjuntos de regras Mais do que uma regra dispara pode ser evitado respostas contraditórias combinação de respostas votação selecção por confiança da regra listas de decisão (a ordem é importante) age=young, astigmatic=no -> rec.=soft age=young, astigmatic=yes -> rec.=none -> rec.=none Exemplo: age=young, spect-presc=myope astigmatic=no, tear-prod-rate=reduced Alípio Jorge MAP
33
Conjuntos de regras Votação Vantagens Desvantagens
Seja E um exemplo para classificar Recolhem-se as respostas dadas pelas regras que disparam A resposta combinada é a resposta mais “votada” Vantagens simplicidade na resolução de conflitos diminuição da variância Desvantagens duas regras com qualidades e significâncias diferentes têm o mesmo peso no voto (uma regra, um voto) Alípio Jorge MAP
34
Listas de decisão (decision lists)
A ordem das regras é importante Seja E um exemplo Seja R1, R2, ..., Rn uma sequência de regras (lista de decisão) A resposta é dada pela regra de índice mais baixo que dispara age=young, astigmatic=no -> rec.=soft age=young, astigmatic=yes -> rec.=none -> rec.=none Exemplo: age=young, spect-presc=myope astigmatic=no, tear-prod-rate=reduced default rule Alípio Jorge MAP
35
Outras linguagens de hipóteses: Árvores de decisão
Alípio Jorge 35 35
36
Muitas outras representações de conhecimento
Modelos baseados em instâncias Lógica de primeira ordem Discriminantes lineares Tabelas de probabilidades Redes bayesianas Redes neuronais ... Representações complexas põem problemas à extracção automática. Alípio Jorge 36 36
37
Em resumo Podemos representar um modelo de classificação
usando conjuntos / sequências de regras de decisão Alípio Jorge MAP
38
Exercício: Mailing Uma distribuidora de revistas quer enviar material promocional por correio a potenciais clientes. Dispõe de uma lista de centenas de pessoas que poderão estar interessadas em assinar as revistas que disponibiliza. As revistas dividem-se em três categorias: técnicas, sociais e desportivas. Para baixar os custos da operação, a empresa decidiu, para cada pessoa da lista, enviar material promocional apenas de um tipo de revista ou de nenhum, no caso de não parecer um cliente promissor. Tendo em conta a experiência acumulada pelo marketing da empresa, o critério para distinguir as pessoas foi o seguinte: Enviou-se propaganda a revistas técnicas a quadro técnicos e professores, independentemente do sexo ou da idade. Às pessoas que não estivessem nestas condições, enviou propaganda a revistas desportivas a homens com idade entre os 20 e os 50 anos, e de revistas sociais a mulheres maiores de 23. Identifique os atributos e os valores necessários para descrever cada um dos casos (os potenciais leitores). Identifique as categorias (classes) em que foram divididos os indivíduos. Represente o modelo de decisão como um conjunto de regras. Implemente uma função em R que represente o conjunto de regras. Coloque alguns exemplos num data frame e classifique-os. Alípio Jorge MAP
39
Exercício: Sucesso escolar
Um estudo do sucesso escolar (*) numa faculdade revelou que os alunos com nota de entrada superior ou igual a 14 e com nota a matemática (uma disciplina do 1º ano) de pelo menos 13, terminam o curso em 4 anos, a menos que sejam trabalhadores estudantes. Estes terminam o curso em 5 anos no caso de terem nota de entrada pelo menos 15, e 6 ou mais anos caso contrário. Os restantes alunos terminam o curso em 4 anos se tiram 15 ou mais a matemática e em 5 anos caso contrário. Identifique os atributos e os valores necessários para descrever cada um dos casos (os alunos). Identifique as categorias (classes) em que foram divididos os indivíduos. Represente o modelo de decisão como um conjunto de regras. Implemente uma função em R que represente a árvore de decisão. Coloque alguns exemplos num data frame e classifique-os. (*) estes dados não correspondem a uma situação real. Alípio Jorge MAP
40
Extracção de Regras de Classificação
Métodos de Extracção de Conhecimento
41
como representar um problema com um conjunto de dados
Ponto da situação Vimos o que é o data mining dados (o input) como representar um problema com um conjunto de dados modelos (o output) como representar um modelo de decisão ou outros Vamos ver extracção de conhecimento / data mining como chegar ao modelo a partir dos dados Alípio Jorge MAP
42
1R (regras muito simples para classificação)
Exemplos numa matriz (classe no fim) Modelo outlook=sunny -> no outlook=overcast -> yes outlook=rainy -> yes Alípio Jorge MAP
43
frequentemente também não Método
Raciocínio frequentemente um atributo é suficiente para determinar a classe frequentemente também não Método Para cada atributo A Para cada valor V1, ..., Vn do atributo, construir a regra A=Vi -> C: C é a classe mais frequente nos exemplos com A=Vi calcular o erro da regra (#respostas erradas) / (#respostas) calcular o erro da hipótese baseada em A Escolher a hipótese com menor erro Alípio Jorge MAP
44
1R (execução) outlook=sunny ->no (2/5)
outlook=overcast-> yes (0/4) outlook=rainy -> yes (2/5) total de erros /14 temperature /14 humidity /14 windy /14 Alípio Jorge MAP
45
Modelo é uma árvore de decisão com 1 nível
1R - Notas outlook Modelo é uma árvore de decisão com 1 nível Quase sem procura número de hipóteses consideradas = número de atributos MUITO eficiente Surpreendentemente competitivo (R. C. Holte, 1993) Valores desconhecidos missing tratado como mais um valor. Atributos numéricos discretização dinâmica. overcast sunny rainy no yes yes WEKA: OneR Alípio Jorge MAP
46
1R (com valores desconhecidos)
outlook=sunny ->no (2/5) outlook=overcast-> yes (0/2) outlook=rainy -> yes (2/5) outlook=missing -> yes (0/2) total de erros /14 temperature /14 humidity /14 windy /14 Alípio Jorge MAP
47
Exercício Utilizar o OneR no Weka Experimentar Comparar com o weather
com o contact lenses Experimentar com treino só com treino e teste (70% para treino) Comparar com os resultados do J48 Alípio Jorge MAP
48
“Conhecimento” como output
Resultado de um método DM Dados Método DM Conhecimento/ Modelo Alípio Jorge MAP
49
Ponto da situação Vimos Vamos ver
um método muito simples que constrói modelos de classificação (muito simples) Vamos ver um método mais sofisticado de obter regras de decisão Alípio Jorge MAP
50
Construção de uma regra usando procura
Dado um conjunto de exemplos discretos (Matriz) Vamos fazer uma procura heurística (hill-climbing) Do mais geral para o mais específico, dada uma classe Model-driven Ilustração: exemplos weather.nominal Linguagem de hipóteses atributos outlook, temperature, humidity, windy respectivos valores classe play com dois valores {yes,no} Alípio Jorge MAP
51
Construção de uma regra usando procura
Dada uma classe (e.g. play=yes) Regra maximamente geral -> class=yes Cobre todos os exemplos Qualidade da regra erro = (#respostas erradas) / (#exemplos cobertos) no caso é 5/14 Vamos refinar a regra enquanto erro > 0 heurística Alípio Jorge MAP
52
Construção de uma regra usando procura
Refinamentos de [ -> play=yes] especializações maximamente gerais da regra (10 hipóteses), nível imediatamente abaixo do espaço de hipóteses -> play=yes er = 5/14 outlook=sunny-> play =yes er = 3/5 outlook=overcast-> play =yes er = 0/4 ... regra que procurávamos windy=true-> play =yes er = 3/5 Alípio Jorge MAP
53
Construção de uma regra usando procura
Suponhamos que a classe dada era play=no outl=sunny-> play=no, er = 2/5 outl =overcast-> play=no, er = 4/4 outl =rainy-> play=no, er = 2/5 ... hum=high-> play=no, er = 3/7 -> play=no er = 9/14 ... windy=true-> play=no, er = 3/6 nenhuma regra satisfaz o critério de paragem vamos continuar a refinar a regra que optimiza localmente a heurística Alípio Jorge MAP
54
Construção de uma regra usando procura
Novos refinamentos outl =sunny,temp=hot -> play=no, er = 0/2 outl =sunny,temp=mild -> play=no, er = 1/2 outl=sunny-> play=no, er = 2/5 outl =overcast-> play=no, er = 4/4 outl =rainy-> play=no, er = 2/5 -> play=no er = 9/14 ... ... hum=high-> play=no, er = 3/7 ... outl =sunny,hum=high -> play=no, er = 0/3 windy=true-> play=no, er = 3/6 ... duas regras sem erros preferimos a que maximiza a cobertura Alípio Jorge MAP
55
Para encontrarmos esta regra tivemos de considerar 17 hipóteses.
Exercício Para encontrarmos esta regra tivemos de considerar 17 hipóteses. Usamos uma abordagem model-driven. Sugira uma abordagem data-driven que reduza o número de hipóteses a considerar. Altere o pseudo-código e construa a árvore de procura. Quantas hipóteses foram consideradas? Pista: uma regra tem de cobrir pelo menos um exemplo. Escolha um exemplo como semente de construção da regra. Alípio Jorge MAP
56
Construção de uma regra
Pseudo-código Dada a classe C Contruír uma regra R da forma [ ->C] Até R ser perfeita (erro=0), ou acabarem os atributos Para cada atributo A não ocorrendo em R, e para cada valor V Considerar juntar A=V ao antecedente de R Seleccionar o par A=V que minimiza o erro Juntar esse par ao antecedente de R Alípio Jorge MAP
57
Relação de generalidade
Na linguagem de hipóteses que consideramos Uma regra A1->B1 é mais geral do que A2->B2 se B1 = B2 A1 A2 (sendo A1 e A2 os conjuntos de condições) Na linguagem de hipóteses que consideramos, Seja A->B uma regra, e C uma condição A regra A {C} ->B é mais específica do que A->B Não existe uma regra R tal que A->B esp. mais geral do que R R esp. mais geral do que A {C} ->B Alípio Jorge MAP
58
Algoritmo de cobertura
Voltemos à regra outlook=overcast-> play =yes cobre 4 exemplos como proceder para cobrir os restantes exemplos? Algoritmo de cobertura retiro os exemplos cobertos pela primeira regra construo uma regra para os restantes exemplos repito o processo até não ter mais exemplos também chamado separar-e-conquistar (separate-and-conquer) Alípio Jorge MAP
59
Algoritmo de cobertura
Resultado outlook=overcast-> play =yes (cob. 4) hum=normal, windy=false -> play=yes (cob. 3) temp=mild, humidity=normal -> play=yes (cob. 1) outlook=rainy -> play=yes (cob. 3, er. 2/3) -> play=no (cob. 3) erro no treino = 2/14 Exercício qual seria o resultado se tivéssemos começado com play=no ? Alípio Jorge MAP
60
Algoritmo de cobertura
Pseudo-código Para cada classe C seja E conjunto de exemplos inicial Enquanto E contiver exemplos da classe C Criar uma regra para a classe C Retirar de E os exemplos cobertos pela regra WEKA: Prism Alípio Jorge MAP
61
Algoritmo de cobertura
O resultado é uma lista de decisão a primeira regra que dispara dá a resposta o ordem é importante cada regra é construída assumindo que as anteriores não se aplicam ao conjunto de exemplos corrente. Critério de paragem na construção de regras regras perfeitas problemas: ruído e sobre-ajustamento (overfitting) Alípio Jorge MAP
62
Métodos de Procura para data mining
Data mining como aprendizagem de conceitos,aprendizagem de conceitos como procura Procura
63
Ponto da situação Vimos que Vamos ver
um modelo de classificação pode ser obtido a partir de dados um modelo de classificação pode ser representado de várias maneiras como obter um modelo de forma muito simples (OneR) como obter um modelo usando procura heurística Vamos ver como um modelo de classificação pode corresponder à descrição de um conceito como a descrição de um conceito pode ser produzida a partir de exemplos usando procura Alípio Jorge MAP
64
Conceito: Arco Exemplos positivos Exemplos negativos Alípio Jorge MAP
65
Aprender o conceito arco
Objectivo encontrar uma teoria ou um modelo que defina o conceito arco. conhecimento Dispomos de exemplos de arcos (positivos), falsos exemplos de arcos (negativos) Objectivo (reformulado) encontrar uma teoria ou um modelo que aceite os exemplos positivos e rejeite os negativos Alípio Jorge MAP
66
Conceito: Arco Exemplos positivos Exemplos negativos
Hipótese 1: “tudo é um arco” demasiado geral, não exclui exemplos negativos Hipótese 2: “nada é um arco” demasiado específica,... Alípio Jorge MAP
67
Conceito: Arco Exemplos positivos Exemplos negativos
Hipótese 3: “um arco tem um bloco rectangular na vertical (A) que apoia outro bloco rectangular na horizontal (C). Um terceiro bloco rectangular apoia também o bloco C e está afastado do bloco A” cobre alguns exemplos positivos, mas não todos não cobre exemplos negativos Alípio Jorge MAP
68
Conceito: Arco Exemplos positivos Exemplos negativos
Hipótese 3: é demasiado específica vamos GENERALIZAR a hipótese: Hipótese 4: “um arco tem um bloco rectangular na vertical (A) que apoia outro bloco rectangular na horizontal (C). Um terceiro bloco rectangular apoia também o bloco C e está afastado do bloco A” Alípio Jorge MAP
69
Aprender o conceito de arco - uma resposta
Exemplos positivos Exemplos negativos Uma teoria para o conceito: ARCO um arco tem um bloco rectangular na vertical (A) que apoia outro bloco na horizontal (C). Um terceiro bloco rectangular apoia também o bloco C e está afastado do bloco A Alípio Jorge MAP
70
Aprendizagem de conceitos
Procura de um conceito que se ajuste aos dados. Espaço de conceitos/hipóteses: Alípio Jorge MAP
71
Machine Learning Aprendizagem automática
“Programas de computador que melhoram automaticamente o seu desempenho através da experiência” (Mitchell) “Um sistema que usa uma amostra de dados (conjunto de treino) para gerar uma base actualizada para melhorar o seu desempenho em dados subsequentes” (Michie) “A aprendizagem é qualquer alteração num sistema que permita que ele tenha um melhor desempenho na repetição de uma tarefa ou na realização de outra tarefa extraída da mesma população” (Simon) Alípio Jorge MAP
72
Aprendizagem como Procura
Dados um conjunto de hipóteses LH uma relação de generalidade (R) um objectivo (H tal que ...) Encontrar H que satisfaça o objectivo Solução computacional: Hipotetisar e testar Geração de hipóteses data driven, model driven Estratégia de procura Selecção de hipóteses (critérios de preferência) Alípio Jorge MAP
73
Data driven: guiada pelos dados (o típico)
Geração de hipóteses Data driven: guiada pelos dados (o típico) as hipóteses são geradas em função dos exemplos que surgem Model driven: guiada pelo modelo define-se a linguagem de hipóteses as hipóteses são geradas segundo a definição da linguagem Exemplo LH: regras da forma A->B, em que A é uma conjunção de pares atributo=valor e B é uma classe. atributos vento={sim,não}, temp={alta,baixa} classes: verdadeiro, falso Alípio Jorge MAP
74
Geração de hipóteses Suponhamos que começo pela hipótese mais geral
Procuro uma regra para a classe verdadeiro Model driven Data driven (seguindo o exemplo {vento=sim,temp=alta,verd} vento=sim->verd vento=não->verd ->verd temp=alta->verd temp=baixa->verd vento=sim->verd ->verd temp=alta->verd Alípio Jorge MAP
75
Procura top-down em largura-primeiro
Dados: H0 (maximamente geral), objectivo Obj, Relação de generalidade Fila <- [ ] H<-H0 Até H satisfazer Obj Gera hipóteses: especializações max. gerais de H Junta novas hipóteses ao fim de Fila Selecciona: H <- primeiro(Fila) retira primeiro da fila Repete retorna H Alípio Jorge MAP
76
Procura top-down em largura-primeiro (data-driven)
X Y Z C 1 s n Fila H [ ] ->s [X=0->s ; Y=1->s ; Z=0->s ] X=0->s [Y=1->s ; Z=0->s ; X=0&Y=1->s ; X=0&Z=0->s] Y=1->s [Z=0->s ; X=0&Y=1->s ; X=0&Z=0->s ; Y=1&Z=0->s] Z=0->s [X=0&Y=1->s ; X=0&Z=0->s ; Y=1&Z=0->s] X=0&Y=1->s satisfaz o objectivo zero erros Alípio Jorge MAP
77
Árvore de procura ->s X=0->s Y=1->s Z=0->s X=0&Y=1->s
X=0&Z=0->s Y=1&Z=0->s X=0&Y=1&Z=0->s Alípio Jorge MAP
78
Procura top-down em largura-primeiro
Completa se existe solução encontra Pouco prática (em geral) processamento memória Procura bottom-up em largura primeiro começa com hipótese maximamente específica Alípio Jorge MAP
79
Procura top-down em profundidade-primeiro
Dados: H0 (maximamente geral), Obj, Rel. Gen. Fila <- [ ] H<-H0 Até H satisfazer Obj Gera hipóteses: especializações max. gerais de H Junta novas hipóteses ao início de Fila Selecciona: H <- primeiro(Fila) retira primeiro da fila Repete retorna H Alípio Jorge MAP
80
Procura top-down em profundidade-primeiro (data-driven)
X Y Z C 1 s n Fila H [ ] ->s [X=0->s ; Y=1->s ; Z=0->s ] X=0->s [ X=0&Y=1->s ; X=0&Z=0->s Y=1->s ; Z=0->s ] X=0&Y=1->s satisfaz o objectivo zero erros Alípio Jorge MAP
81
Procura top-down em profundidade-primeiro
Problema dos caminhos infinitos retrocesso (backtracking) Pouco prática (em geral) processamento apesar de gastar pouca memória bottom-up boa base para procura heurística associar a cada hipótese uma medida de qualidade q(H) Alípio Jorge MAP
82
Heurística [função] heurística: permite acelerar a procura, ainda que a custo da completude. Na Aprendizagem: uma função heurística pode medir a qualidade de cada hipótese. Exemplos: Alípio Jorge MAP
83
Procura hill-climbing: uma proc. heurística
Dados: H0 (maximamente geral), Obj, Rel. Gen. Fila <- [ ] H<-H0 Até H satisfazer Obj Gera hipóteses: especializações max. gerais de H Junta novas hipóteses a Fila Selecciona : HFila : argmax q(H) esvazia fila (poupa memória) Repete retorna H Alípio Jorge MAP
84
Procura hill-climbing, q=%resp. certas (data driven)
X Y Z C 1 s n Fila H [ ] ->s [X=0->s (0,67) ; Y=1->s (0,67); Z=0->s (0,5)] X=0->s [ X=0&Y=1->s (1); X=0&Z=0->s (0,5)] X=0&Y=1->s satisfaz o objectivo zero erros Alípio Jorge MAP
85
Procura hill-climbing: uma proc. heurística
Incompleto mínimos locais sem retrocesso: greedy search muito popular em IA computacionalmente atractiva processamento e memória bons resultados na prática Alípio Jorge MAP
86
Outras estratégias de procura
heurísticas Best-first beam-search A* completas iterative deepening novos paradigmas algoritmos genéticos simulated annealing tabu search Alípio Jorge MAP
87
Ordem de exploração das hipóteses
Recapitulando Ordem de exploração das hipóteses Profundidade primeiro a, b, d, e, c, f, g Largura primeiro a, b, c, d, e, f, g Hill Climbing assumindo q(c)>q(b), q(f)>q(g) a, c, f a b c d e f g árvore de procura Alípio Jorge MAP
88
Bias (viés, enviesamento)
Qualquer base para restringir o tamanho do espaço de procura ou para preferir uma hipótese a outra, que não seja a consistência com os dados, designa-se por bias O bias é necessário ... escolha de uma linguagem de conceitos a ordem de procura critérios de paragem grande número de hipóteses compatível com os dados ...e uma fonte de problemas na origem de algum erro sistemático nenhum bias é sempre melhor que os outros O bias permite escolher uma de entre as hipóteses aceitáveis Alípio Jorge MAP
89
Espaço de versões Hipóteses demasiado gerais
Hipóteses demasiado gerais Versões aceitáveis do conceito Hipóteses demasiado específicas Alípio Jorge MAP
90
Tipos de bias Bias de linguagem Bias de procura Navalha de Occam
expressividade problemas computacionais legibilidade Bias de procura não queremos procurar por todo o espaço heurísticas top-down, bottom-up Navalha de Occam preferir as hipóteses mais simples entre outros... Alípio Jorge MAP
91
Exercícios Qual seria o resultado se a procura no algoritmo de aprendizagem (transp. 20) para o conceito “dia bom para o meu desporto favorito” fosse do mais geral para o mais específico? Quais são as versões que se ajustam aos dados? Qual a diferença entre os algoritmos de largura primeiro e profundidade primeiro? Proponha um algoritmo tipo hill-climbing para o mesmo problema. Qual poderia ser a heurística? Qual seria a sucessão de hipóteses visitadas? Encontre um conjunto de exemplos consistente (sem exemplos que sejam simultaneamente negativos e positivos) para o qual não seria possível encontrar uma hipótese compatível no bias de linguagem dado. Proponha outro bias de linguagem que permita capturar o conceito. Ou seja, defina uma linguagem de hipóteses mais expressiva que contenha uma hipótese que cubra todos os exemplos dados. Alípio Jorge MAP
92
largura-primeiro, comprimento-primeiro heurística hill-climbing
Termos importantes Conceito, hipótese relação de generalidade espaço de hipóteses/conceitos linguagem de hipóteses Exemplos positivos, exemplos negativos procura top-down largura-primeiro, comprimento-primeiro heurística hill-climbing bias Alípio Jorge MAP
93
Recursos Web http: // Alípio Jorge MAP
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.