Aprendizagem de Máquina
Aprendizagem de Conceito
Alessandro L. Koerich
Plano de Aula
Introdução Tarefa de Aprendizagem de Conceito
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.
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 formulado como um problema de
busca em um espaço de hipóteses pré–definido
Introdução
Duas situações serão consideradas:
Algoritmos de Aprendizagem
Situações onde eles convergem para a hipótese correta
Natureza da Aprendizagem Indutiva
Introdução
Aprendizagem envolve aquisição de conceitosgerais 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.
Introdução
Considerar o problema de inferirautomaticamente 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
Introdução
Aprendizagem de Conceito: inferindo uma
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,
Tarefa de Aprendizagem Conceitual
Atributos (ou Características ou Features)
Valor dos Atributos
Atributo Alvo ou
Conceito Alvo
Valor do Atributo Alvo ou
Tarefa de Aprendizagem Conceitual
??? ??? ???
No treinamento queremos encontrar a relação
entre “o valor dos atributos” e o “valor do atributo alvo/conceito alvo”
Uma vez “treinado”, dado um dia qualquer que
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,
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:
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
Tarefa de Aprendizagem Conceitual
Se alguma instância x satisfizer todas as
restrições da hipótese h, então, h classifica x como 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 x como um exemplo negativo:
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) ?
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 é
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
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;
Definição da Tarefa de Aprendizagem Sendo fornecidos: Instâncias (X) Conceito Alvo (c) Conjunto de Hipóteses (H) Exemplos de Treinamento (D) Determinar:
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)
Definição da Tarefa de Aprendizagem
Conjunto de Hipóteses (H): conjunções de
restrições sobre os atributos, por exemplo:
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 >
. . .
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})
Aprendizagem Conceitual: Notação
Conjunto de exemplos de treinamento
Ö D
cada um consistindo de uma instância x de X com o valor do conceito alvo c(x), i.e., < x, c(x)>
Conjunto de todas as hipóteses possíveis H que
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
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
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 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 é:
Aprendizagem como Tarefa de Busca
É importante notar que:
Em selecionando uma representação das hipóteses:
Aprendizagem como Tarefa de Busca
Voltando ao problema anterior....
Temos os atributos e seus possíveis valores:
Aprendizagem como Tarefa de Busca
Assim, o espaço de instâncias X contém:
3y 2 y 2 y 2 y 2 y 2 = 96 instâncias distintas
Existem 5y 4 y 4 y 4 y 4 y 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+(4y 3 y 3 y 3 y 3 y 3) = 973 hipóteses
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
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, ?, ?, ?, ?, ?>
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
Aprendizagem como Tarefa de Busca
Instâncias, hipóteses e a relação:
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
Algoritmo Find–S
Como usar a ordenação parcial ≥g paraorganizar 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.
Algoritmo Find–S
1. Inicialize h como sendo a hipótese mais específica em H.
2. Para cada instância de treinamento positiva x
Para cada restrição de atributo ai em h
Se a restrição ai é satisfeita por x
Então não faça nada
Senão troque ai em h pela próxima restrição mais geral que é satisfeita por x
Aplicando o Algoritmo Find–S
Aplicando o algoritmo ao exemplo anteriorAplicando 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 ← < ∅, ∅, ∅, ∅, ∅, ∅>
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).
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>
Aplicando o Algoritmo Find–S
Passo 2: Find–S ignora o exemplo negativo... pois h já é consistente com o novo exemplo
Aplicando o Algoritmo Find–S
Passo 2: O quarto exemplo positivo leva a
h ← < Sunny, Warm, ?, Strong, ?, ? > Passo 3:
h = < Sunny, Warm, ?, Strong, ?, ? >
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
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
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
Algoritmo Eliminação de Candidatos O algoritmo Eliminação de Candidatos
encontra 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.
Algoritmo Eliminação de Candidatos O algoritmo Eliminação de Candidatos
representa 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.
{
∈
}
Algoritmo Lista e Elimina
Para representar o Espaço Versão, listamostodos 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
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)Algoritmo Lista e Elimina
Aplicando ao exemplo EnjoySport... Um espaço versão com seus conjuntos fronteira
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
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
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
Algoritmo Eliminação de Candidato Passo 1
Passo 2
Estas duas fronteiras delimitam o espaço de
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 monotonicamente mais perto umas das outras, delimitando um
Espaço Versão de Hipóteses Candidatas
Algoritmo Eliminação de Candidato O algoritmo Eliminação de Candidato
convergirá 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
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
Algoritmo Eliminação de Candidato Como podem ser usados os conceitos
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
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 negativaResumo
Aprendizagem de conceito pode ser vistacomo um problema de busca em um espaço
amplo pré–definido de hipóteses em potencial;
A ordenação parcial geral à específica das
Resumo
O algoritmo Find–S utiliza este ordenamentogeral 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 Candidatos
utiliza este ordenamento parcial geral a
específico para calcular o Espaço Versão
através da computação incremental dos
Resumo
Como os conjuntos S e G delimitam o conjuntointeiro 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 um desempenho