Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I [email protected] Introdução ao Data...

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

Transcript of Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I [email protected] Introdução ao Data...

Page 1: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio JorgeATDMLP

Doutoramento em Informática – MAP-I

[email protected]

Introdução ao Data Mining

Introdução e conceitos

exemplos, relação com outras áreas

Page 2: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 2

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

Page 3: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 3

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

Page 4: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 4

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

Page 5: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 5

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

Page 6: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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.

Page 7: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 7

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

Page 8: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 9: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 9

Data Mining como passo no processo KDDFayyad & Simoudis (1997)

Selecção eAmostragem

Processamentoe Limpeza

Transformação& Redução

Data Mining

Avaliação

Conhecimento

Page 10: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 10

Data mining: o ciclo

DBDB

DBDW

data warehouse

age spectacle-prescrip

astigmatism tear-prod-rate

contact-lenses

young myope no reduced none young myope no normal soft young myope yes reduced none young hypermetrope no normal soft young hypermetrope yes reduced none young hypermetrope yes normal hard pre-presbyopic

myope no reduced none

pre-presbyopic

myope no normal soft

pre-presbyopic

hypermetrope no normal soft

pre-presbyopic

hypermetrope yes reduced none

pre-presbyopic

hypermetrope yes normal none

presbyopic myope no reduced none presbyopic myope yes normal hard presbyopic hypermetrope no reduced none presbyopic hypermetrope no normal soft presbyopic hypermetrope yes reduced none presbyopic hypermetrope yes normal none

flat dataset

Data Mining

IDA=bcde

IMC=ade

PROF>=3.5 ESCOL=ace

IDA=cde

ACTIV>=2.5

alto medio medio

baixo medio

baixo

baixo

modelevaluation

decision support

action

data bases

Page 11: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 11

Junho 2007

(kdnuggets)

Page 12: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 12

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

Page 13: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 14: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

sexo IDA CIV ESCOL PROF HDORM ACTIV DESP TAB ALC CAF Peso ALT IMC Colestm 40anos c EstSuperiores sup 8ha10h pouca nao nao bebe sim 70a60Kg m160 normal altof 40anos c 12ano int 6ha8h pouca sim nao bebe sim 70a60Kg m150 excessopeso baixof 50anos s 9Classe sup 6ha8h pouca nao nao nao sim 50a60Kg m150 normal baixom 60anos c 4Classe semi-qual 6ha8h pouca nao ex bebe nao mais80 m160 excessopeso mediof 60anos c 4Classe sem-prof menos6h alguma nao nao nao sim 50a60Kg m150 excessopeso mediof 50anos c EstSuperiores sup 8ha10h pouca sim nao ocas sim 50a60Kg m150 normal mediom 40anos c 4Classe esp-man mais10h alguma nao ex bebe sim mais80 m170 excessopeso baixom 40anos c EstSuperiores sup 6ha8h nenhuma sim ex bebe sim 70a60Kg m170 normal baixom 40anos c 4Classe esp-n-man 6ha8h pouca sim nao bebe sim 80a70kg m160 excessopeso mediom 60anos c EstSuperiores sup 8ha10h nenhuma sim ex bebe sim mais80 m170 excessopeso mediom 60anos c 4Classe semi-qual 8ha10h pouca nao ex ex sim 70a60Kg m180 normal altom 50anos c 9Classe esp-n-man 8ha10h pouca nao nao bebe sim 70a60Kg m150 excessopeso mediof 40anos v 4Classe esp-n-man 8ha10h nenhuma nao nao nao sim 50a60Kg m160 normal baixom 40anos c 9Classe esp-n-man 6ha8h nenhuma sim fuma bebe sim mais80 m160 obesidade altof 50anos c 12ano int 6ha8h alguma sim ex bebe sim 70a60Kg m150 excessopeso mediom 50anos c 12ano int 6ha8h pouca sim nao bebe sim 80a70kg m170 normal mediom 40anos d EstSuperiores sup 6ha8h pouca sim fuma bebe sim 70a60Kg m160 normal alto

3 classes:- alto- médio- baixo

Page 15: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 15

Classificação

sexo IDA CIV ESCOL PROF HDORM ACTIV DESP TAB ALC CAF Peso ALT IMC Colestm 40anos c EstSuperiores sup 8ha10h pouca nao nao bebe sim 70a60Kg m160 normal altof 40anos c 12ano int 6ha8h pouca sim nao bebe sim 70a60Kg m150 excessopeso baixof 50anos s 9Classe sup 6ha8h pouca nao nao nao sim 50a60Kg m150 normal baixom 60anos c 4Classe semi-qual 6ha8h pouca nao ex bebe nao mais80 m160 excessopeso mediof 60anos c 4Classe sem-prof menos6h alguma nao nao nao sim 50a60Kg m150 excessopeso mediof 50anos c EstSuperiores sup 8ha10h pouca sim nao ocas sim 50a60Kg m150 normal mediom 40anos c 4Classe esp-man mais10h alguma nao ex bebe sim mais80 m170 excessopeso baixom 40anos c EstSuperiores sup 6ha8h nenhuma sim ex bebe sim 70a60Kg m170 normal baixom 40anos c 4Classe esp-n-man 6ha8h pouca sim nao bebe sim 80a70kg m160 excessopeso mediom 60anos c EstSuperiores sup 8ha10h nenhuma sim ex bebe sim mais80 m170 excessopeso mediom 60anos c 4Classe semi-qual 8ha10h pouca nao ex ex sim 70a60Kg m180 normal altom 50anos c 9Classe esp-n-man 8ha10h pouca nao nao bebe sim 70a60Kg m150 excessopeso mediof 40anos v 4Classe esp-n-man 8ha10h nenhuma nao nao nao sim 50a60Kg m160 normal baixom 40anos c 9Classe esp-n-man 6ha8h nenhuma sim fuma bebe sim mais80 m160 obesidade altof 50anos c 12ano int 6ha8h alguma sim ex bebe sim 70a60Kg m150 excessopeso mediom 50anos c 12ano int 6ha8h pouca sim nao bebe sim 80a70kg m170 normal mediom 40anos d EstSuperiores sup 6ha8h pouca sim fuma bebe sim 70a60Kg m160 normal alto

MINING

IDA=bcde

IMC=ade

PROF>=3.5 ESCOL=ace

IDA=cde

ACTIV>=2.5

alto medio medio

baixo medio

baixo

baixo

DEPLOYMENTNovo caso:Sexo: mIDA: 39…

Previsão:Colest=alto

Page 16: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 16

Classificação: breast cancer>diagnóstico

Breast cytology– Análise de 699 exames

Unif.cell.size< 2.5

Bare.nucl< 5.5 Unif.cell.shp< 2.5

Bland.chrom< 3.5 Unif.cell.size< 4.5

Bare.nucl< 2.5

ben mal

ben mal

ben mal

mal

Attributes 1. Sample code number id number 2. Clump Thickness 1 - 10 3. Uniformity of Cell Size 1 - 10 4. Uniformity of Cell Shape 1 - 10 5. Marginal Adhesion 1 - 10 6. Single Epithelial Cell Size 1 - 10 7. Bare Nuclei 1 - 10 8. Bland Chromatin 1 - 10 9. Normal Nucleoli 1 - 10 10. Mitoses 1 - 10 11. Class: benign, malignant

Page 17: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 17

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?

Page 18: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 18

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

Page 19: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 19

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

Page 20: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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”.

Page 21: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 21

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

Page 22: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 23: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 24: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 24

O formato “universal”: CSV (comma separated value)

outlook, temperature, humidity, windy, play sunny, 85, 85, false, no sunny, 80, 90, true, no overcast, 83, 86, false, yes rainy, 70, 96, false, yes rainy, 68, 80, false, yes rainy, 65, 70, true, no overcast, 64, 65, true, yes sunny, 72, 95, false, no sunny, 69, 70, false, yes rainy, 75, 80, false, yes sunny, 75, 70, true, yes overcast, 72, 90, true, yes overcast, 81, 75, false, yes rainy, 71, 91, true, no

atributos

valores e classe(classificação)

Page 25: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 25

Um formato específico: ARFF do Weka

% ARFF file for the weather data with somenumeric features%@relation weather

@attribute outlook { sunny, overcast, rainy }@attribute temperature numeric@attribute humidity numeric@attribute windy { true, false }@attribute play? { yes, no }

@data%% 14 instances%sunny, 85, 85, false, nosunny, 80, 90, true, noovercast, 83, 86, false, yesrainy, 70, 96, false, yesrainy, 68, 80, false, yesrainy, 65, 70, true, noovercast, 64, 65, true, yessunny, 72, 95, false, nosunny, 69, 70, false, yesrainy, 75, 80, false, yessunny, 75, 70, true, yesovercast, 72, 90, true, yesovercast, 81, 75, false, yesrainy, 71, 91, true, no

comentários

classe(classificação)

Page 26: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

teste

modelo

avaliação

Page 27: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 27

Ponto da situação

Vimos– como modelar os dados (o input)

Vamos ver– como modelar o conhecimento (o output)

Page 28: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 28

Regras de classificação (ou de decisão)

Problemas de classificação

TipicamenteSE {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

Page 29: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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:

{age=presbyopic,spectacle-prescription=myope,

astigmatic=yes,tear-prod-rate=reduced}

Regra:IF age=presbyopic and astigmatic=no THEN recommendation=soft

Page 30: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 32

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=myopeastigmatic=no, tear-prod-rate=reduced

Page 31: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 33

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)

Page 32: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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=myopeastigmatic=no, tear-prod-rate=reduced

default rule

Page 33: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge 35

Outras linguagens de hipóteses: Árvores de decisão

Page 34: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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.

Page 35: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 37

Em resumo

Podemos– representar um modelo de classificação– usando conjuntos / sequências de regras de decisão

Page 36: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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.

1. 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.

Page 37: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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.

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.

Page 38: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio JorgeATDMLP

Doutoramento em Informática – MAP-I

[email protected]

Extracção de Regras de Classificação

Métodos de Extracção de Conhecimento

Page 39: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 41

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

Page 40: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 42

1R (regras muito simples para classificação)

Exemplos numa matriz (classe no fim)

Modelooutlook=sunny -> no

outlook=overcast -> yes

outlook=rainy -> yes

outlook temperature humidity windy playsunny hot high FALSE nosunny hot high TRUE noovercast hot high FALSE yesrainy mild high FALSE yesrainy cool normal FALSE yesrainy cool normal TRUE noovercast cool normal TRUE yessunny mild high FALSE nosunny cool normal FALSE yesrainy mild normal FALSE yessunny mild normal TRUE yesovercast mild high TRUE yesovercast hot normal FALSE yesrainy mild high TRUE no

Page 41: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 43

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

Page 42: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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.................4/14

temperature........................5/14

humidity..............................4/14

windy..................................5/14

outlook temperature humidity windy playsunny hot high FALSE nosunny hot high TRUE noovercast hot high FALSE yesrainy mild high FALSE yesrainy cool normal FALSE yesrainy cool normal TRUE noovercast cool normal TRUE yessunny mild high FALSE nosunny cool normal FALSE yesrainy mild normal FALSE yessunny mild normal TRUE yesovercast mild high TRUE yesovercast hot normal FALSE yesrainy mild high TRUE no

Page 43: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 45

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 overcastrainy

outlook

no yes yes

WEKA: OneR

Page 44: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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.................4/14

temperature........................5/14

humidity..............................4/14

windy..................................5/14

outlook temperature humidity windy playsunny hot high FALSE nosunny hot high TRUE no

? hot high FALSE yesrainy mild high FALSE yesrainy cool normal FALSE yesrainy cool normal TRUE no

? cool normal TRUE yessunny mild high FALSE nosunny cool normal FALSE yesrainy mild normal FALSE yessunny mild normal TRUE yesovercast mild high TRUE yesovercast hot normal FALSE yesrainy mild high TRUE no

Page 45: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 47

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

Page 46: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 48

“Conhecimento” como output

Dados Método DM Conhecimento/Modelo

Resultado de um método DM

Page 47: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 49

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

Page 48: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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}

Page 49: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 50: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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=yeser = 5/14

outlook=sunny-> play =yeser = 3/5

outlook=overcast-> play =yeser = 0/4

windy=true-> play =yeser = 3/5

... regra que procurávamos

Page 51: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 53

Construção de uma regra usando procura

Suponhamos que a classe dada era play=no

-> play=noer = 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

Page 52: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 54

Construção de uma regra usando procura

Novos refinamentos

-> play=noer = 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

Page 53: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 55

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.

Page 54: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 55: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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)

Page 56: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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 ?

Page 57: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 58: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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)

Page 59: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio JorgeATDMLP

Doutoramento em Informática – MAP-I

[email protected]

Métodos de Procura para data mining

Data mining como aprendizagem de conceitos,aprendizagem de conceitos como procura

Procura

Page 60: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 63

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

Page 61: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 64

Conceito: Arco

Exemplos positivos Exemplos negativos

Page 62: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 63: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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,...

Page 64: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 65: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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”

Page 66: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 67: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 70

Aprendizagem de conceitos

Procura de um conceito que se ajuste aos dados. Espaço de conceitos/hipóteses:

tudo é um arco

...tem um blocorectangular

tem um blocotriangular...

tem um blocorectangular e umbloco triangular

nada é um arco

...

... ...

...

... ...

Page 68: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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)

Page 69: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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)

Page 70: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 73

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

Page 71: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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}

->verd

vento=sim->verd

vento=não->verd

temp=alta->verd

temp=baixa->verd

->verd

vento=sim->verd

temp=alta->verd

Page 72: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 73: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 76

Procura top-down em largura-primeiro (data-driven)

X Y Z C

0 1 0 s

0 1 1 s

0 0 0 n

1 1 1 n

->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

Page 74: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 75: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 76: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 77: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 80

Procura top-down em profundidade-primeiro (data-driven)

X Y Z C

0 1 0 s

0 1 1 s

0 0 0 n

1 1 1 n

->s

HFila

[ ]

[X=0->s ; Y=1->s ; Z=0->s ] X=0->s

[ X=0&Y=1->s ; X=0&Z=0->sY=1->s ; Z=0->s ] X=0&Y=1->s

satisfaz o objectivo zero erros

Page 78: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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)

Page 79: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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:

respostasH

errosHHq 1)(

respostasH

errosHHAcerto

exemplosostodos

respostasHHCompletude

HAcertoHCompletudeHq

1)(

__)(

)()()(

Page 80: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 81: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 84

Procura hill-climbing, q=%resp. certas (data driven)

X Y Z C

0 1 0 s

0 1 1 s

0 0 0 n

1 1 1 n

->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

Page 82: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 83: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 84: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 87

Recapitulando

Ordem de exploração das hipóteses– Profundidade primeiro

a, b, d, e, c, f, g

– Largura primeiroa, 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

Page 85: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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

Page 86: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 89

Espaço de versões

Hipóteses demasiado gerais

Hipóteses demasiado específicas

Versões aceitáveis do conceito

Page 87: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 90

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...

Page 88: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

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.

Page 89: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Alípio Jorge MAP 92

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

Page 90: Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I amjorge@fep.up.pt Introdução ao Data Mining Introdução e conceitos exemplos, relação com outras.

Recursos

Web– http: //www.kdnuggets.com

Alípio Jorge MAP 93