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

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

Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Apresentações semelhantes


Apresentação em tema: "Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras."— Transcrição da apresentação:

1 Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras áreas

2 Alípio Jorge MAP2 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

3 Alípio Jorge MAP3 Exemplo 1 Vendas de veículos TT –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

4 Alípio Jorge MAP4 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

5 Alípio Jorge MAP5 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

6 Alípio Jorge MAP6 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.

7 Alípio Jorge MAP7 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

8 Alípio Jorge MAP8 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

9 Alípio Jorge MAP9 Data Mining como passo no processo KDD Fayyad & Simoudis (1997) Selecção e Amostragem Processamento e Limpeza Transformação & Redução Data Mining Avaliação Conhecimento

10 Alípio Jorge MAP10 Data mining: o ciclo DB DW data warehouse flat dataset Data Mining model evaluation decision support action data bases

11 Alípio Jorge MAP11 Junho 2007 (kdnuggets)

12 Alípio Jorge MAP12 Ponto da situação Vimos –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

13 Alípio Jorge MAP13 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

14 Alípio Jorge MAP14 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

15 Alípio Jorge MAP15 Classificação MINING DEPLOYMENT Novo caso: Sexo: m IDA: 39 … Previsão: Colest=alto

16 Alípio Jorge MAP16 Classificação: breast cancer>diagnóstico Breast cytology –Análise de 699 exames Attributes 1. Sample code number id number 2. Clump Thickness Uniformity of Cell Size Uniformity of Cell Shape Marginal Adhesion Single Epithelial Cell Size Bare Nuclei Bland Chromatin Normal Nucleoli Mitoses Class: benign, malignant

17 Alípio Jorge MAP17 Típico problema de classificação 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?

18 Alípio Jorge MAP18 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

19 Alípio Jorge MAP19 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

20 Alípio Jorge MAP20 Descrição de exemplos Linguagem de exemplos Tipicamente –conjunto de atributos (features, variáveis) –conjunto de valores para cada atributo –vectores de valores –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.

21 Alípio Jorge MAP21 Ponto da situação Vimos –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

22 Alípio Jorge MAP22 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

23 Alípio Jorge MAP23 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

24 Alípio Jorge MAP24 O formato universal: CSV (comma separated value) atributos valores e classe (classificação)

25 Alípio Jorge MAP25 Um formato específico: ARFF do Weka comentários classe (classificação)

26 Alípio Jorge MAP26 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 teste modelo avaliação

27 Alípio Jorge MAP27 Ponto da situação Vimos –como modelar os dados (o input) Vamos ver –como modelar o conhecimento (o output)

28 Alípio Jorge MAP28 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

29 Alípio Jorge MAP29 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

30 Alípio Jorge MAP30 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

31 Alípio Jorge MAP31 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: {age=presbyopic,spectacle-prescription=myope, astigmatic=yes,tear-prod-rate=reduced} Regra: IF age=presbyopic and astigmatic=no THEN recommendation=soft

32 Alípio Jorge MAP32 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

33 Alípio Jorge MAP33 Conjuntos de regras Votação –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)

34 Alípio Jorge MAP34 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

35 Alípio Jorge 35 Outras linguagens de hipóteses: Árvores de decisão

36 Alípio Jorge 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.

37 Alípio Jorge MAP37 Em resumo Podemos –representar um modelo de classificação –usando conjuntos / sequências de regras de decisão

38 Alípio Jorge MAP38 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 Identifique os atributos e os valores necessários para descrever cada um dos casos (os potenciais leitores). 2.Identifique as categorias (classes) em que foram divididos os indivíduos. 3.Represente o modelo de decisão como um conjunto de regras. 4.Implemente uma função em R que represente o conjunto de regras. 5.Coloque alguns exemplos num data frame e classifique-os.

39 Alípio Jorge MAP39 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. 1.Identifique os atributos e os valores necessários para descrever cada um dos casos (os alunos). 2.Identifique as categorias (classes) em que foram divididos os indivíduos. 3.Represente o modelo de decisão como um conjunto de regras. 4.Implemente uma função em R que represente a árvore de decisão. 5.Coloque alguns exemplos num data frame e classifique-os. (*) estes dados não correspondem a uma situação real.

40 Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I Extracção de Regras de Classificação Métodos de Extracção de Conhecimento

41 Alípio Jorge MAP41 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

42 Alípio Jorge MAP42 1R (regras muito simples para classificação) Exemplos numa matriz (classe no fim) Modelo outlook=sunny -> no outlook=overcast -> yes outlook=rainy -> yes

43 Alípio Jorge MAP43 1R 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

44 Alípio Jorge MAP44 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

45 Alípio Jorge MAP45 1R - Notas 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. sunny overcast rainy outlook no yes WEKA: OneR

46 Alípio Jorge MAP46 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

47 Alípio Jorge MAP47 Exercício Utilizar o OneR no Weka –com o weather –com o contact lenses Experimentar –com treino só –com treino e teste (70% para treino) Comparar –com os resultados do J48

48 Alípio Jorge MAP48 Conhecimento como output Dados Método DMConhecimento/ Modelo Resultado de um método DM

49 Alípio Jorge MAP49 Ponto da situação Vimos –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

50 Alípio Jorge MAP50 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}

51 Alípio Jorge MAP51 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

52 Alípio Jorge MAP52 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 windy=true-> play =yes er = 3/5... regra que procurávamos

53 Alípio Jorge MAP53 Construção de uma regra usando procura Suponhamos que a classe dada era play=no -> play=no er = 9/14 outl=sunny-> play=no, er = 2/5 outl =rainy-> play=no, er = 2/5 outl =overcast-> play=no, er = 4/4 hum=high-> play=no, er = 3/7... 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

54 Alípio Jorge MAP54 Construção de uma regra usando procura Novos refinamentos -> play=no er = 9/14 outl=sunny-> play=no, er = 2/5 outl =rainy-> play=no, er = 2/5 outl =overcast-> play=no, er = 4/4 hum=high-> play=no, er = 3/7... windy=true-> play=no, er = 3/6 outl =sunny,temp=hot -> play=no, er = 0/2 outl =sunny,temp=mild -> play=no, er = 1/2... outl =sunny,hum=high -> play=no, er = 0/3... duas regras sem erros preferimos a que maximiza a cobertura

55 Alípio Jorge MAP55 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.

56 Alípio Jorge MAP56 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

57 Alípio Jorge MAP57 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 regraA {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

58 Alípio Jorge MAP58 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)

59 Alípio Jorge MAP59 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 ?

60 Alípio Jorge MAP60 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

61 Alípio Jorge MAP61 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)

62 Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I Métodos de Procura para data mining Data mining como aprendizagem de conceitos,aprendizagem de conceitos como procura Procura

63 Alípio Jorge MAP63 Ponto da situação Vimos que –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

64 Alípio Jorge MAP64 Conceito: Arco Exemplos positivos Exemplos negativos

65 Alípio Jorge MAP65 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

66 Alípio Jorge MAP66 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,...

67 Alípio Jorge MAP67 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

68 Alípio Jorge MAP68 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

69 Alípio Jorge MAP69 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

70 Alípio Jorge MAP70 Aprendizagem de conceitos Procura de um conceito que se ajuste aos dados. Espaço de conceitos/hipóteses:

71 Alípio Jorge MAP71 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)

72 Alípio Jorge MAP72 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)

73 Alípio Jorge MAP73 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

74 Alípio Jorge MAP74 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} ->verd vento=sim->verd vento=não->verd temp=alta->verd temp=baixa->verd ->verd vento=sim->verd temp=alta->verd

75 Alípio Jorge MAP75 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

76 Alípio Jorge MAP76 Procura top-down em largura-primeiro (data-driven) XYZC 010s 011s 000n 111n ->s HFila [ ] [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

77 Alípio Jorge MAP77 Árvore de procura ->s X=0->sY=1->sZ=0->s X=0&Y=1->s X=0&Z=0->s Y=1&Z=0->s X=0&Y=1&Z=0->s

78 Alípio Jorge MAP78 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

79 Alípio Jorge MAP79 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

80 Alípio Jorge MAP80 Procura top-down em profundidade-primeiro (data-driven) XYZC 010s 011s 000n 111n ->s HFila [ ] [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

81 Alípio Jorge MAP81 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)

82 Alípio Jorge MAP82 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:

83 Alípio Jorge MAP83 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

84 Alípio Jorge MAP84 Procura hill-climbing, q=%resp. certas (data driven) XYZC 010s 011s 000n 111n ->s HFila [ ] [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

85 Alípio Jorge MAP85 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

86 Alípio Jorge MAP86 Outras estratégias de procura heurísticas –Best-first –beam-search –A* completas –iterative deepening novos paradigmas –algoritmos genéticos –simulated annealing –tabu search

87 Alípio Jorge MAP87 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 bc de fg árvore de procura

88 Alípio Jorge MAP88 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

89 Alípio Jorge MAP89 Espaço de versões Hipóteses demasiado gerais Hipóteses demasiado específicas Versões aceitáveis do conceito

90 Alípio Jorge MAP90 Tipos de bias Bias de linguagem –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...

91 Alípio Jorge MAP91 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.

92 Alípio Jorge MAP92 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

93 Recursos Web –http: //www.kdnuggets.com Alípio Jorge MAP93


Carregar ppt "Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras."

Apresentações semelhantes


Anúncios Google