A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução ao Data Mining

Apresentações semelhantes


Apresentação em tema: "Introdução ao Data Mining"— Transcrição da apresentação:

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 ---> AntecedenteConsequente 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 : HFila : 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


Carregar ppt "Introdução ao Data Mining"

Apresentações semelhantes


Anúncios Google