Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L....

23
Aprendizagem de Máquina Aprendizagem de Conceito Aula 2 Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia Universidade Católica do Paraná (PUCPR) Mestrado em Informática Aplicada Aprendizagem de Máquina 2 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Plano de Aula Introdução Tarefa de Aprendizagem de Conceito Aprendizagem de Conceito como uma Busca Ordenação de Hipóteses Algoritmo Find-S Espaço Versão Eliminação de Candidato Exemplos Ilustrativos Resumo Mestrado em Informática Aplicada Aprendizagem de Máquina 3 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Introdução O problema central da aprendizagem é induzir (construir) funções gerais a partir de exemplos de treinamento específicos. Exemplo: Aprendendo a jogar damas. Mestrado em Informática Aplicada Aprendizagem de Máquina 4 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Introdução Na aula de hoje abordaremos a aprendizagem de conceito O que é aprendizagem de conceito?

Transcript of Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L....

Page 1: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Aprendizagem de Máquina

Aprendizagem de Conceito

Aula 2Alessandro L. Koerich

Mestrado em Informática Aplicada

Pontifícia Universidade Católica do Paraná (PUCPR)

Mestrado em Informática Aplicada Aprendizagem de Máquina 2Alessandro L. Koerich ([email protected])

Plano de Aula

Introdução

Tarefa de Aprendizagem de Conceito

Aprendizagem de Conceito como uma Busca

Ordenação de Hipóteses

Algoritmo Find-S

Espaço Versão

Eliminação de Candidato

Exemplos Ilustrativos

Resumo

Mestrado em Informática Aplicada Aprendizagem de Máquina 3Alessandro L. Koerich ([email protected])

Introdução

O problema central da aprendizagem é induzir (construir) funções gerais a partir de exemplos de treinamento específicos.

Exemplo: Aprendendo a jogar damas.

Mestrado em Informática Aplicada Aprendizagem de Máquina 4Alessandro L. Koerich ([email protected])

Introdução

Na aula de hoje abordaremos a aprendizagem de conceito

O que é aprendizagem de conceito?

Page 2: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 5Alessandro L. Koerich ([email protected])

Introdução

Aprendizagem de Conceito: obtenção da definição de uma categoria geral a partir de exemplos de treinamento positivos e negativos da categoria.

Pode ser formulada como um problema de busca em um espaço de hipóteses pré–definido

hipótese que melhor se ajusta aos exemplos de treinamento.

Mestrado em Informática Aplicada Aprendizagem de Máquina 6Alessandro L. Koerich ([email protected])

Introdução

Duas situações serão consideradas:

Algoritmos de AprendizagemSituações onde eles convergem para a hipótese correta

Natureza da Aprendizagem IndutivaGeneralização além dos dados de treinamento observados

Mestrado em Informática Aplicada Aprendizagem de Máquina 7Alessandro L. Koerich ([email protected])

Introdução

Aprendizagem envolve aquisição de conceitos gerais a partir de exemplos de treinamento específicos.

Exemplo: pessoas aprendem conceitos gerais ou categorias, e.g. pássaro, carro, etc.

Alternativamente, cada conceito pode ser visto como um função booleana.

Pertence a tal categoria? Sim = 1 Não = 0

Mestrado em Informática Aplicada Aprendizagem de Máquina 8Alessandro L. Koerich ([email protected])

Introdução

Page 3: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 9Alessandro L. Koerich ([email protected])

Introdução

Mestrado em Informática Aplicada Aprendizagem de Máquina 10Alessandro L. Koerich ([email protected])

Introdução

Mestrado em Informática Aplicada Aprendizagem de Máquina 11Alessandro L. Koerich ([email protected])

Introdução

Iremos considerar o problema de inferir automaticamente a definição geral de alguns conceitos, a partir de exemplos rotulados como sendo membros ou não membros do conceito.

Esta tarefa é dita aprendizagem de conceito ou aproximação de uma função de valor booleano a partir de exemplos.

Mestrado em Informática Aplicada Aprendizagem de Máquina 12Alessandro L. Koerich ([email protected])

Introdução

Aprendizagem de Conceito: inferindo uma função de valor booleano a partir de exemplos de treinamento (entradas e saídas).

Page 4: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 13Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Vamos considerar a tarefa de aprender o conceito “dias nos quais João pratica seu esporte favorito”

A tabela abaixo apresenta um conjunto de dias, cada um representado por um conjunto de atributos (ou características ou features)

Mestrado em Informática Aplicada Aprendizagem de Máquina 14Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Atributos (ou Características ou Features)

Valor dos Atributos

Atributo Alvoou

Conceito Alvo

Valor do Atributo Alvoou

Valor do Conceito Alvo

Mestrado em Informática Aplicada Aprendizagem de Máquina 15Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

????????????

No treinamento queremos encontrar a relação entre “o valor dos atributos” e o “valor do atributo/conceito alvo”

Uma vez “treinado”, dado um dia qualquer que é representado pelos 6 atributos, desejamos saber o valor do conceito alvo.

Mestrado em Informática Aplicada Aprendizagem de Máquina 16Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

O atributo EnjoySport indica se João pratica ou não seu esporte favorito naquele dia.

Qual é a tarefa de aprendizagem ?

Aprender a predizer o valor de EnjoySport para um dia qualquer baseando–se apenas nos valores dos outros atributos (Sky, Temp,

Humid, Wind, Water, Forecast).

Page 5: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 17Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Que representação da hipótese devemos fornecer ao “aprendiz” neste caso ?

Consideramos uma representação simples onde cada hipótese consiste em uma conjunção de restrições sobre os atributos de entrada.

Fazemos cada hipótese ser um vetor de restrições especificando os valores dos seis atributos:

< Sky, AirTemp, Humidity,Wind, Water, Forecast >

Mestrado em Informática Aplicada Aprendizagem de Máquina 18Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Para cada atributo, a hipótese:

Indicará através de um “ ? ” que qualquer valor é aceitável para esse atributo

Especificará um valor único necessário para o atributo (e.g. Warm), ou

Indicará através do símbolo “∅” que nenhum valor é aceitável.

Mestrado em Informática Aplicada Aprendizagem de Máquina 19Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Se alguma instância x satisfizer todas as restrições da hipótese h, então, h classifica xcomo um exemplo positivo:

h (x) = 1 (ou seja, Yes)

Se uma instância x não satisfizer todas as restrições da hipótese h, então, h classifica xcomo um exemplo negativo:

h (x) = o (ou seja, No)

Mestrado em Informática Aplicada Aprendizagem de Máquina 20Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Como ilustraríamos a hipótese de que “João pratica seu esporte favorito somente em dias frios e com alta umidade” (independente dos valores dos outros atributos) ?

<?, Cold, High, ?, ?, ?>

Page 6: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 21Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

A hipótese mais geral, de que todo dia é um exemplo positivo, é representado por:

<?, ?, ?, ?, ?, ?>

A hipótese mais específica, de que nenhum dia é um exemplo positivo, é representado por:

< ∅, ∅, ∅, ∅, ∅, ∅>

Mestrado em Informática Aplicada Aprendizagem de Máquina 22Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Em resumo, a tarefa de aprendizagem do conceito EnjoySport requer a:

Aprendizagem do conjunto de dias para os quais EnjoySport = Yes , descrevendo este conjunto por uma conjunção de restrições sobre os atributos da instância (entrada).

Mestrado em Informática Aplicada Aprendizagem de Máquina 23Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Em geral, qualquer tarefa de aprendizagem de conceito pode ser descrita por:

Um conjunto de instâncias sobre as quais a função objetiva é definida;

Um conceito alvo (função alvo);

O conjunto de hipóteses candidatas;

O conjunto de exemplos de treinamento.

Mestrado em Informática Aplicada Aprendizagem de Máquina 24Alessandro L. Koerich ([email protected])

Definição da Tarefa de Aprendizagem

Sendo fornecidos:

Instâncias (X)

Conceito Alvo (c)

Conjunto de Hipóteses (H)

Exemplos de Treinamento (D)

Determinar:A hipótese h em H tal que h(x)=c(x) para todo x em X.

Page 7: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 25Alessandro L. Koerich ([email protected])

Definição da Tarefa de Aprendizagem

Instâncias (X): dias possíveis, cada um descrito pelos atributos:

Sky (Sunny/ Cloudy / Rainy)

AirTemp (Warm / Cold)

Humidity (Normal / High)

Wind (Strong / Weak)

Water (Warm / Cold)

Forecast (Same / Change)

Mestrado em Informática Aplicada Aprendizagem de Máquina 26Alessandro L. Koerich ([email protected])

Definição da Tarefa de Aprendizagem

Conjunto de Hipóteses (H): conjunções de restrições sobre os atributos, por exemplo:

<?,Cold,High,?,?,?><Cloudy,Cold,High,?,?,?><Rainy,Cold,High,?,?,?><?,Warm,High,Weak,?,?>

. . .

<?,Cold,High,Weak,Cool, Same><Rainy,Cold,High,Weak,Cool,Same><Sunny,?,?,?,?,?>

Mestrado em Informática Aplicada Aprendizagem de Máquina 27Alessandro L. Koerich ([email protected])

Definição da Tarefa de Aprendizagem

Conceito Alvo (c): EnjoySport: X → {0,1} onde “0” corresponde a No e “1” corresponde a Yes.

Exemplos de Treinamento (D): exemplos positivos e negativos da função objetivo, e.g. < x1,c(x1) >, ..., < xn, c(xn)>

< ( Rainy, Cold, High,Weak,Cool, Same) , No >

< ( Sunny, Warm, Normal,Weak,Cool, Same), Yes >

. . .

<(Sunny, Warm, Normal,Weak,Warm,Same), Yes>

Mestrado em Informática Aplicada Aprendizagem de Máquina 28Alessandro L. Koerich ([email protected])

Aprendizagem Conceitual: Notação

Conjunto de itens sobre os quais o conceito é definido

conjunto de instâncias X

Ex: conjunto de todos os dias possíveis, cada um representado pelos atributos Sky, AirTemp,. . . , Forecast.

O conceito ou função a ser aprendida é chamada de:

conceito alvo c

(em geral c é booleano c : X→{0,1})

Ex: valor do atributo EnjoySport. c(x)=1 se EnjoySport= Yes, c(x)=0 se EnjoySport = No.

Page 8: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 29Alessandro L. Koerich ([email protected])

Aprendizagem Conceitual: Notação

Conjunto de exemplos de treinamento

D

cada um consistindo de uma instância x de Xcom o valor do conceito alvo c(x), i.e., < x, c(x)>

Conjunto de todas as hipóteses possíveis H que possam ser consideradas com respeito a identidade do conceito alvo.

Mestrado em Informática Aplicada Aprendizagem de Máquina 30Alessandro L. Koerich ([email protected])

Aprendizagem Conceitual: Notação

Geralmente, H é determinado a partir da escolha da representação das hipóteses feita pelo projetista “humano”.

Em geral, cada hipótese h em H representa uma função de valor booleano definida sobre X, i.e.

h : X → {0,1}.

O objetivo do “aprendiz” é encontrar uma hipótese h tal que h(x) = c(x) ∀ x em X.

Mestrado em Informática Aplicada Aprendizagem de Máquina 31Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

Apesar da tarefa de aprendizagem ser: determinar a hipótese h idêntica ao conceito alvo sobre o conjunto inteiro de instâncias X

A única informação disponível a respeito de c é seu valor sobre os exemplos de treinamento.

Assim, algoritmos de aprendizagem indutiva pode no máximo garantir que a hipótese resultante represente o conceito alvo sobre os dados de treinamento.

Mestrado em Informática Aplicada Aprendizagem de Máquina 32Alessandro L. Koerich ([email protected])

Tarefa de Aprendizagem Conceitual

A hipótese da aprendizagem indutiva:

“Qualquer hipótese que aproxima bem a função objetiva sobre um conjunto suficientemente

grande de exemplos de treinamento aproximará também bem a função objetiva

sobre outros exemplos não observados.”

Esta é a suposição fundamental da aprendizagem indutiva !!

Page 9: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 33Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

A aprendizagem de conceito pode ser vista como uma tarefa de busca em um grande espaço de hipóteses definido pela representação das hipóteses.

O objetivo desta busca é:

→ encontrar a hipótese que melhor se

ajusta aos exemplos de treinamento.

Mestrado em Informática Aplicada Aprendizagem de Máquina 34Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

É importante notar que:

Em selecionando uma representação das hipóteses:

o projetista do algoritmo de aprendizagem define implicitamente o espaço de todas as hipóteses que o programa pode sempre representar e, portanto, pode aprender.

Mestrado em Informática Aplicada Aprendizagem de Máquina 35Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

Voltando ao problema anterior....

Temos os atributos e seus possíveis valores:Sky (Sunny/Rainy/Cloudy) [3 valores possíveis]

AirTemp (Warm/Cold) [2 valores possíveis]

Humidity (Normal/High) [2 valores possíveis]

Wind (Strong/Weak) [2 valores possíveis]

Water (Warm/Cool) [2 valores possíveis]

Forecast (Same/Change) [2 valores possíveis]

Mestrado em Informática Aplicada Aprendizagem de Máquina 36Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

Assim, o espaço de instâncias X contém:

3 2 2 2 2 2 = 96 instâncias distintas

Existem 5 4 4 4 4 4 = 5.120 hipóteses sintaticamente distintas dentro de H

Porém, toda hipótese contendo um ou mais símbolos “∅” representam hipóteses negativas

→ 1+(4 3 3 3 3 3) = 973 hipóteses sintaticamente distintas

Page 10: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 37Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

O problema deste exemplo é relativamente simples pois tem um número finito de hipóteses.

Porém, os problemas reais geralmente são muito mais complexos envolvendo, as vezes, um espaço de hipóteses infinito.

Mestrado em Informática Aplicada Aprendizagem de Máquina 38Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

Muitos algoritmos de aprendizagem de conceito organizam a busca no espaço de hipóteses baseando–se em uma estrutura:

A ordenação das hipóteses

de hipóteses mais gerais à hipóteses mais específicas

Exemplo:

h1 = <Sunny, ?, ?, Strong, ?, ?>

h2 = <Sunny, ?, ?, ?, ?, ?>

Qual destas instâncias positivas é a mais geral?

Mestrado em Informática Aplicada Aprendizagem de Máquina 39Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

Dadas as hipóteses hj e hk

hj é mais_geral_que_ou_igual_à hk

(hj ≥g hk), se e somente se

qualquer instância que satisfaça hk também satisfaça hj.

)]1)(()1)()[(( =→=∈∀ xhxhXx jk

Mestrado em Informática Aplicada Aprendizagem de Máquina 40Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

Instâncias, hipóteses e a relação:

mais_geral_que

Page 11: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 41Alessandro L. Koerich ([email protected])

Aprendizagem como Tarefa de Busca

Como as hipóteses h1, h2 e h3 podem ser relacionadas através do símbolo ≥g ?

h1 = < Sunny, ?, ?, Strong, ?, ? >

h2 = < Sunny, ?, ?, ?, ?, ? >

h3 = < Sunny, ?, ?, ?, Cool, ? >

h2 ≥g h3 ≥g h1 ou

h2 ≥g h1 ≥g h3

Mestrado em Informática Aplicada Aprendizagem de Máquina 42Alessandro L. Koerich ([email protected])

Algoritmo Find–S

Como usar a ordenação parcial ≥g para organizar a busca por uma hipótese consistente com os exemplos de treinamento observados?

Começar com a hipótese mais específica possível em H, e então generalizá–la, cada vez que ela falhar em cobrir um exemplo positivo.

Considerando o algoritmo...

Mestrado em Informática Aplicada Aprendizagem de Máquina 43Alessandro L. Koerich ([email protected])

Algoritmo Find–S

1. Inicialize h como sendo a hipótese mais específica em H.

2. Para cada instância de treinamento positiva xPara cada restrição de atributo ai em h

Se a restrição ai é satisfeita por xEntão não faça nada

Senão troque ai em h pela próximarestrição mais geral que é satisfeita por x

3. Forneça a hipótese h.

Mestrado em Informática Aplicada Aprendizagem de Máquina 44Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Aplicando o algoritmo ao exemplo anterior (EnjoySport)...

Page 12: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 45Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Aplicando o algoritmo ao exemplo anterior (EnjoySport)...

Passo 1: Inicializar h com a hipótese mais específica em H:

h ← < ∅, ∅, ∅, ∅, ∅, ∅>

olhando o primeiro exemplo da tabela hipótese muito específica.

Mestrado em Informática Aplicada Aprendizagem de Máquina 46Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Passo 2: Trocar as restrições pela próxima restrição mais geral que se ajusta ao exemplo (ou seja, os valores dos atributos).

h ← < Sunny, Warm, Normal, Strong, Warm, Same>

h é ainda muito específica...

Mestrado em Informática Aplicada Aprendizagem de Máquina 47Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Mestrado em Informática Aplicada Aprendizagem de Máquina 48Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Passo 2: Trocar as restrições pela próxima restrição mais geral que se ajuste ao exemplo (ou seja, os valores dos atributos).

h ← < Sunny, Warm, ?, Strong, Warm, Same>

O segundo exemplo de treinamento faz o algoritmo generalizar ainda mais.

Page 13: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 49Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Mestrado em Informática Aplicada Aprendizagem de Máquina 50Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Passo 2: Find–S ignora o exemplo negativo...

pois h já é consistente com o novo exemplo negativo.

Mestrado em Informática Aplicada Aprendizagem de Máquina 51Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Mestrado em Informática Aplicada Aprendizagem de Máquina 52Alessandro L. Koerich ([email protected])

Aplicando o Algoritmo Find–S

Passo 2: O quarto exemplo positivo leva ah ← < Sunny, Warm, ?, Strong, ?, ? >

Passo 3:h = < Sunny, Warm, ?, Strong, ?, ? >

Este algoritmo ilustra como a ordenação parcial mais_geral_que pode ser usada para organizar a busca por uma hipótese aceitável.

Page 14: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 53Alessandro L. Koerich ([email protected])

Algoritmo Find–S

A busca no espaço de hipóteses.

Mestrado em Informática Aplicada Aprendizagem de Máquina 54Alessandro L. Koerich ([email protected])

Algoritmo Find–S

A propriedade chave do algoritmo Find–S é:

Para espaços de hipóteses descritos pela conjunção de atributos é garantido que Find–S produza a hipótese mais específica dentro de H

que é consistente com os exemplos de treinamento positivos.

Mestrado em Informática Aplicada Aprendizagem de Máquina 55Alessandro L. Koerich ([email protected])

Algoritmo Find–S

Porém...

Não podemos dizer se o aprendiz convergiu para o conceito correto.

Porque preferir a hipótese h mais específica?

Não podemos dizer quando os exemplos de treinamento são inconsistentes

Depende de H. Podem haver diversas outras hipóteses específicas consistentes

Mestrado em Informática Aplicada Aprendizagem de Máquina 56Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidatos

O algoritmo Find–S tem várias limitações, então... um outro algoritmo...

A idéia chave do algoritmo Eliminação de Candidatos é fornecer uma descrição do conjunto de todas as hipóteses consistentes com os exemplos de treinamento.

Também utiliza a propriedade do ordenamento parcial mais_geral_que.

Page 15: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 57Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidatos

O algoritmo Eliminação de Candidatosencontra todas as hipóteses descritíveis que são consistentes com os exemplos de treinamento observados.

Definição: Uma hipótese h é consistente com os exemplos de treinamento D se e somente se ela classifica corretamente estes exemplos.

)()( ))(,(),( xcxhDxcxDheConsistent =∈∀≡

Mestrado em Informática Aplicada Aprendizagem de Máquina 58Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidatos

O algoritmo Eliminação de Candidatosrepresenta o conjunto de todas as hipóteses consistentes com os exemplos de treinamento observados.

Este subespaço de todas hipóteses é chamado, Espaço Versão (version space) com respeito ao espaço de hipóteses H e os exemplos de treinamento D, porque ele contém todas as versões plausíveis do conceito alvo.

{ }),(|, DheConsistentHhVS DH ∈≡

Mestrado em Informática Aplicada Aprendizagem de Máquina 59Alessandro L. Koerich ([email protected])

Algoritmo Lista e Elimina

Para representar o Espaço Versão, listamos todos os seus membros → algoritmo de aprendizagem Lista e Elimina.

Pode ser aplicado sempre que o espaço de hipóteses for finito.

É garantido que ele forneça todas as hipóteses consistentes com os dados de treinamento.

Mestrado em Informática Aplicada Aprendizagem de Máquina 60Alessandro L. Koerich ([email protected])

Algoritmo Lista e Elimina

1. Espaço Versão uma lista contendo cada hipótese em H.

2. Para cada exemplo de treinamento < x, c(x) >

remover do Espaço Versão qualquer hipótese h para qual h(x) ≠ c(x)

3. forneça a lista de hipóteses no Espaço Versão.

Page 16: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 61Alessandro L. Koerich ([email protected])

Algoritmo Lista e Elimina

Aplicando ao exemplo EnjoySport...

Um espaço versão com seus conjuntos fronteira geral e específico.

Mestrado em Informática Aplicada Aprendizagem de Máquina 62Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidatos

O algoritmo Eliminação de Candidatos representa o Espaço Versão armazenando somente seus membros mais gerais (G) e mais específicos (S)

Dado somente G e S, é possível enumerar todos os membros do espaço versão.

Mestrado em Informática Aplicada Aprendizagem de Máquina 63Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Mestrado em Informática Aplicada Aprendizagem de Máquina 64Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Inicializar G com a hipótese mais geral em H.

Inicializar S com a hipótese mais geral em H.

Para cada exemplo de treinamento d, faça- Se d for um exemplo positivo

- Remova de G qualquer hipótese inconsistente com d

- Para cada hipótese s em S que não for consistente com d- Remova s de S

- Adicione a S as generalizações mínimas h de s tais que

- h seja consistente com d e algum membro de G é mais

geral do que h

- Remova de S qualquer hipótese que seja mais geral do

que outra hipótese em S.

Page 17: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 65Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

- Se d for um exemplo negativo- Remova de S qualquer hipótese inconsistente com d

- Para cada hipótese g em G que não for consistente com d- Remova g de G

- Adicione a G as especializações mínimas h de g tais que

- h seja consistente com d e algum membro de S é mais

específico do que h

- Remova de G qualquer hipótese que seja menos geral do

que outra hipótese em G.

Mestrado em Informática Aplicada Aprendizagem de Máquina 66Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Passo 1

Passo 2

Estas duas fronteiras delimitam o espaço de hipóteses inteiro...

Mestrado em Informática Aplicada Aprendizagem de Máquina 67Alessandro L. Koerich ([email protected])

Aplicando Algo Elim. De Candidato

Mestrado em Informática Aplicada Aprendizagem de Máquina 68Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Page 18: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 69Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Mestrado em Informática Aplicada Aprendizagem de Máquina 70Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Mestrado em Informática Aplicada Aprendizagem de Máquina 71Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Mestrado em Informática Aplicada Aprendizagem de Máquina 72Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Este Espaço Versão aprendido é independente da seqüência na qual os exemplos de treinamento são apresentados.

Se mais dados de treinamento forem usados, as fronteiras S e G se moverão monotonicamentemais perto umas das outras, delimitando um Espaço Versão de Hipóteses Candidatascada vez menor.

Page 19: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 73Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

O algoritmo Eliminação de Candidatoconvergirá para hipótese correta ? Sim, se

não houverem erros nas amostras de treinamento

existir alguma hipótese em H que descreve corretamente o conceito alvo.

E se houverem erros nos dados de treinamento?

Se o segundo exemplo de treinamento for incorretamente apresentado como NO ?

Mestrado em Informática Aplicada Aprendizagem de Máquina 74Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

E se houverem erros nos dados de treinamento? Se o segundo exemplo de treinamento for incorretamente apresentado como NO ?

Neste caso o algoritmo removerá o conceito alvo correto do Espaço Versão !!!!

Se o número de exemplos de treinamento for suficiente, as fronteiras S e G convergirão para um Espaço Versão vazio.

Mestrado em Informática Aplicada Aprendizagem de Máquina 75Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

Como podem ser usados os conceitos parcialmente aprendidos ?

Exemplo:

Mestrado em Informática Aplicada Aprendizagem de Máquina 76Alessandro L. Koerich ([email protected])

Espaço Versão Final “Aprendido”

Page 20: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 77Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

A instância A é classificada como positiva por todas as hipóteses no espaço versão final.

A instância B é classificada como negativa por todas as hipóteses no espaço versão final.

A instância C apresenta uma situação diferente. Metade das hipótese do espaço versão classificam como positiva e metade como negativa

→ não pode classificar esta instância com confiança

Mestrado em Informática Aplicada Aprendizagem de Máquina 78Alessandro L. Koerich ([email protected])

Algoritmo Eliminação de Candidato

A instância D é classificada como positiva por 2 hipótese do espaço versão e como negativa por 4 hipóteses do espaço versão

→ A maioria vence

→ classificada como negativa

Porém esta é uma decisão de menor confiança !!!!

Mestrado em Informática Aplicada Aprendizagem de Máquina 79Alessandro L. Koerich ([email protected])

Problemas Find–S e EdeC

As aplicações práticas são limitadas pelo fato de que os dois algoritmos tem uma performance fraca na presença de dados de treinamento com ruído.

Interesse: fornece uma base conceitual para diversos assuntos em aprendizagem de máquina.

Mestrado em Informática Aplicada Aprendizagem de Máquina 80Alessandro L. Koerich ([email protected])

Bias Indutivo

E se o conceito alvo não estiver no espaço de hipóteses?

Podemos evitar este problema utilizando um espaço de hipóteses que inclua todas as hipóteses possíveis?

Qual a influência do espaço de hipóteses na generalização do algoritmo? E no número de exemplos de treinamento que devem ser observados?

Page 21: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 81Alessandro L. Koerich ([email protected])

Espaço de Hipóteses com Bias

Como assegurar que o espaço de hipóteses contenha o conceito alvo desconhecido?

Solução: enriquecer o espaço de hipóteses para incluir todas as hipóteses possíveis.

Exemplo:

Mestrado em Informática Aplicada Aprendizagem de Máquina 82Alessandro L. Koerich ([email protected])

Espaço de Hipóteses com Bias

A hipótese consistente mais específica com os dois primeiros exemplos (e representável no espaço de hipóteses H dado) é:

S2 : < ?, Warm, Normal, Strong, Cool, Change >

Porém, esta hipótese é também excessivamente geral, pois ela cobre erroneamente também o terceiro exemplo de treinamento (negativo).

Mestrado em Informática Aplicada Aprendizagem de Máquina 83Alessandro L. Koerich ([email protected])

Um Aprendiz sem Bias

Idéia: escolher H que expresse cada conceito ensinável , i.e., H é o conjunto potência de X.

Considere H’ = disjunções, conjunções, negações sobre H prévio. e.g.

ChangeNormalWarmSunny ?,?,?,?,?,??,?,,,, ¬∨

Mestrado em Informática Aplicada Aprendizagem de Máquina 84Alessandro L. Koerich ([email protected])

Aprendizagem sem Bias

Propriedade fundamental da inferência indutiva:

Um aprendiz que não faz suposições a priori com respeito a identidade do conceito

alvo, não tem uma base racional para classificar qualquer instância não vista

Algoritmo Eliminação de Candidatos →generaliza, pois, ele é influenciado (biased) pela suposição implícita que o conceito alvo pode ser representado por uma conjunção de valores dos atributos.

Page 22: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 85Alessandro L. Koerich ([email protected])

Bias Indutivo

Considere

Um algoritmo de aprendizagem de conceito L

Instâncias X e um conceito alvo c

Exemplos de treinamento Dc={< x, c(x) >}

Faça L(xi, Dc) indicar a classificação designada para a instância xi por L após o treinamento sobre os dados Dc.

Definição:

O bias indutivo de L é qualquer conjunto mínimo de afirmações B tal que para qualquer conceito alvo c e exemplos de treinamento correspondentes Dc

Mestrado em Informática Aplicada Aprendizagem de Máquina 86Alessandro L. Koerich ([email protected])

Um Aprendiz sem Bias

onde y | z indica que z resulta dedutivamente de y, isto é, que y causa logicamente z.

( ) ( )[ ]),( ciii DxLxDcBXx −∧∧∈∀ |

Mestrado em Informática Aplicada Aprendizagem de Máquina 87Alessandro L. Koerich ([email protected])

Bias Indutivo

Exemplos de algoritmos ( + - bias)

Rotina (Rote–Learner): aprendizagem corresponde somente em armazenar cada exemplo de treinamento observado na memória.

Eliminação de Candidatos: novas instâncias são classificadas somente quando todos os membros do Espaço Versão atual concordam na classificação.

Find–S: encontra a hipótese específica mais consistente com os exemplos de treinamento. Usa esta hipótese para classificar todas as instâncias subseqüentes.

Mestrado em Informática Aplicada Aprendizagem de Máquina 88Alessandro L. Koerich ([email protected])

Resumo

Aprendizagem de conceito pode ser vista como um problema de busca em um espaço amplo pré–definido de hipóteses em potencial;

A ordenação parcial geral à específica das hipóteses fornece uma estrutura útil para organizar a busca no espaço de hipóteses.

Page 23: Plano de Aula - ppgia.pucpr.bralekoe/AM/2005/2-AprendizagemConceito-ApreMaq.pdf · Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de

Mestrado em Informática Aplicada Aprendizagem de Máquina 89Alessandro L. Koerich ([email protected])

Resumo

O algoritmo Find–S utiliza este ordenamento geral a específico, realizando uma busca de específica à geral no espaço de hipóteses para encontrar a hipótese mais específica consistente com os exemplos de treinamento;

O algoritmo Eliminação de Candidatosutiliza este ordenamento parcial geral a específico para calcular o Espaço Versãoatravés da computação incremental dos conjuntos mais específicos (S) e mais gerais (G).

Mestrado em Informática Aplicada Aprendizagem de Máquina 90Alessandro L. Koerich ([email protected])

Resumo

Como os conjuntos S e G delimitam o conjunto inteiro de hipóteses consistente com os dados, eles fornecem uma descrição da incerteza em relação à identidade exata do conceito alvo.

As aplicações práticas são limitadas pelo fato de que os dois algoritmos tem uma performance fraca na presença de dados de treinamento com ruído.