Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I [email protected] Introdução ao Data...
Transcript of Alípio Jorge ATDMLP Doutoramento em Informática – MAP-I [email protected] Introdução ao Data...
Alípio JorgeATDMLP
Doutoramento em Informática – MAP-I
Introdução ao Data Mining
Introdução e conceitos
exemplos, relação com outras áreas
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
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
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
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
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
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 KDDFayyad & Simoudis (1997)
Selecção eAmostragem
Processamentoe Limpeza
Transformação& Redução
Data Mining
Avaliação
Conhecimento
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
Alípio Jorge MAP 11
Junho 2007
(kdnuggets)
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
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
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
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
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
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?
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
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
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– 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)
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)
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)
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
Alípio Jorge MAP 27
Ponto da situação
Vimos– como modelar os dados (o input)
Vamos ver– como modelar o conhecimento (o output)
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
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
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
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)
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
Alípio Jorge 35
Outras linguagens de hipóteses: Árvores de decisão
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.
Alípio Jorge MAP 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.
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.
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.
Alípio JorgeATDMLP
Doutoramento em Informática – MAP-I
Extracção de Regras de Classificação
Métodos de Extracção de Conhecimento
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
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
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
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
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
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
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
Alípio Jorge MAP 48
“Conhecimento” como output
Dados Método DM Conhecimento/Modelo
Resultado de um método DM
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
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=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
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
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
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.
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 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 JorgeATDMLP
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
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
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:
tudo é um arco
...tem um blocorectangular
tem um blocotriangular...
tem um blocorectangular e umbloco triangular
nada é um arco
...
... ...
...
... ...
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
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}
->verd
vento=sim->verd
vento=não->verd
temp=alta->verd
temp=baixa->verd
->verd
vento=sim->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
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
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
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
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:
respostasH
errosHHq 1)(
respostasH
errosHHAcerto
exemplosostodos
respostasHHCompletude
HAcertoHCompletudeHq
1)(
__)(
)()()(
Alípio Jorge MAP 83
Procura hill-climbing: uma proc. heurística
Dados: H0 (maximamente geral), Obj, Rel. Gen.
Fila <- [ ]
H<-H0
Até H satisfazer Obj
Gera hipóteses: especializações max. gerais de H
Junta novas hipóteses a Fila
Selecciona : HFila : argmax q(H)
esvazia fila (poupa memória)
Repete
retorna H
Alípio Jorge MAP 84
Procura hill-climbing, q=%resp. certas (data driven)
X Y Z C
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
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
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
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 específicas
Versões aceitáveis do conceito
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...
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
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
Recursos
Web– http: //www.kdnuggets.com
Alípio Jorge MAP 93