aprendizado de descrições lógicas

69
Aprendizado de Descrições Lógicas • Aprendizado inductivo pode ser visto como um processo de busca de uma boa hipoteses num grande espaço. • O espaço de hipoteses, definido pela linguagem de representação escolhida para a tarefa. • No termo lógico a relação entre hipoteses, objetivos e exemplos.

Upload: renate

Post on 26-Jan-2016

28 views

Category:

Documents


3 download

DESCRIPTION

Aprendizado inductivo pode ser visto como um processo de busca de uma boa hipoteses num grande espaço. O espaço de hipoteses, definido pela linguagem de representação escolhida para a tarefa. No termo lógico a relação entre hipoteses, objetivos e exemplos. Aprendizado de Descrições Lógicas. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Aprendizado de Descrições Lógicas

Aprendizado de Descrições Lógicas

• Aprendizado inductivo pode ser visto como um processo de busca de uma boa hipoteses num grande espaço.

• O espaço de hipoteses, definido pela linguagem de representação escolhida para a tarefa.

• No termo lógico a relação entre hipoteses, objetivos e exemplos.

Page 2: Aprendizado de Descrições Lógicas

Hipóteses

• A situação comum é:

• predicado objetivo Q (ex: esperar num restaurante)

• Hipoteses: uma definição candidata do predicado Q.

x Q(x) Ci(x)

r Esperar(r) stado(r,medio) v (Estado(r,cheio) ^ ~fome(r) ^ tipo(r,F)) v (estado(r,cheio) ^ ~fome(r) ^ tipo(r,T) ^ Sex/Sab(r)) v (Situação(r,cheio) ^ ~fome(r) ^ tipo(r,B))

Page 3: Aprendizado de Descrições Lógicas

Extensão de uma hipoteses

• Cada hipoteses prediz um certo conjunto de exemplos. Os que satisfacem sua definição

• Duas hipoteses são diferentes => suas extensões são inconsistentes.

• Logicamente falando, um exemplo é um objeto ao qual o conceito objetivo se aplica ou não. Ele tem uma descrição lógica.

Page 4: Aprendizado de Descrições Lógicas

Exemplo

• Ex: linha 1,

• alternativa(x) ^ ~bar(x) ^ ~sex/sab(x) ^ fome(x) ^ .... => Esperar(x)

• o conjunto de treinamento é então a conjunção de todas essas sentenças.

• A hipoteses esta de acordo com todos os exemplos SSE é logicamente consistente com todos os conjuntos de treinamento

Page 5: Aprendizado de Descrições Lógicas

Consistência

• Hi é consistente com todos os conj. De treinamento => consistente com cada exemplo

• Um exemplo pode ser falso - para a hipoteses

• Se a hipoteses afirma ser negativo mais de fato é +

• Um exemplo pode ser um falso positivo para a hipoteses, se a hipoteses diz que é positivo mais o exemplo é negativo.

Page 6: Aprendizado de Descrições Lógicas

Aprendizado Inductivo

• Assumindo que o exemplo esta correto e a hipoteses não, então

• um sistema de inferência poderia portanto, aprender dos exemplos eliminando 1 ou + hipoteses

• Aprendizado inductivo como um processo de gradualmente eliminar hipoteses que são inconsistentes com os exemplos, como o espaço de hipoteses pode ser inmenso, esta aproximação não é utilizada.

Page 7: Aprendizado de Descrições Lógicas

Busca pela melhor hipoteses

• Manter uma hipoteses única e ajustar ela a novos exemplos de maneira a manter consistência.

+ + ++ + ++ + +

- - - - -

- - - - - -

---

---

+ + ++ + ++ + +

- - - - -

- - - - - -

---

---+

+ + ++ + ++ + +

- - - - -

- - - - - -

---

---+

+ + +- + ++ + +

- - - - -

- - - - - -

---

---+

+ + +- + ++ + +

- - - - -

- - - - - -

---

---+

-

Espaçoconsistente

Falso negativo

Hipotesesgeneralizada

Falsopositivo

Hipotesesespecializada

Page 8: Aprendizado de Descrições Lógicas

Tarefa de inducir conjunções lógicas

• Dado um conjunto de instâncias de treinamento positivas para a classe C

• Dado um conjunto de instâncias de treinamento negativas para a classe C

• Encontrar Uma conjunçào lógica que extenda uma descrição intensional para usar em classificação de instâncias futuras.

Page 9: Aprendizado de Descrições Lógicas

Espaço de Classes conceituais

• Parcialmente ordenado

T, a mais geral

F, a mais especifica

Page 10: Aprendizado de Descrições Lógicas

Indução não incremental de CL

• Bredth-first search (EGS, G->S)

• a cada nivel EGS considera todas as especializações de uma H, com + 1 condição.

• Para cada especialização gerada H

• H cobre todos os exemplos + , cc ela é retirada.

• Se H ainda cobre algum exemplo negativo, será novamente especializada no proximo ciclo, se não H é consistente.

Page 11: Aprendizado de Descrições Lógicas

Algoritmo: EGS+ - + -

Page 12: Aprendizado de Descrições Lógicas

Algoritmo

Page 13: Aprendizado de Descrições Lógicas

Problemas

• Complexidade computacional

• Ruido nos dados

• Solução -> heuristica

Page 14: Aprendizado de Descrições Lógicas

HGS(G->S)

• Manipula dois conjuntos

• Closed (H, sem melhora)

• Open (H, podem ser melhoradas)

• A cada estagio HGS considera todas as especializações de Hset com + 1 condição (S)

• S -> f(S)

• Se f(S) > f(H), Open-set = Open-set +S

• Se S f(S) < f(H) , H -> Closed-set

Page 15: Aprendizado de Descrições Lógicas

HGS

Depois de considerar todas as especializações das descrições em Hset

Se existem H em Open-set continua,

Se não retorna H com maior score.

Avaliação heuristica

ex: Pc + Nnc/(P+N) (0,1)

Page 16: Aprendizado de Descrições Lógicas

Algoritmo HGS

Page 17: Aprendizado de Descrições Lógicas

Problemas de HGS

• HGS ou HSG

• custo de memoria fixo

• busca sobre controle, mais não sempre gera a descrição otima para um conjunto de dados

• relativamente robusta com respeito a ruido, e a hipoteses que são aproximadamente conjuntivas

• em HSG deve-se cuidar o exemplo inicial usado.

Page 18: Aprendizado de Descrições Lógicas

Indução Incremental IGS

• Um caso de treinamento por vez, guarda-se Hs consistentes com exemplos.

• Inicializa com T

• encontra e-, abandona as Hi tal que Hi->e-, substituindo por uma variante

• Abandona qualquer Hi tal que Hi ~->e+.

• Obs: guarda e reprocessa explicitamente a lista de exemplos +, fazendo uma aproximação incremental somente com respecto a exemplos -.

Page 19: Aprendizado de Descrições Lógicas

Algoritmo: IGS+

-

+

-

Page 20: Aprendizado de Descrições Lógicas

Algoritmo

Page 21: Aprendizado de Descrições Lógicas

Algoritmo ISG• Estrutura básica similar a IGS

• Esta tecnica retem um conjunto de descrições que são consistentes com as instâncias observadas

• Inicializa o conjunto de Hs a 1a instância positiva do conjunto de treinamento

• frente a uma instância + , verfica as Hs, substituindo as inconsistentes por "minimas"mais gerais

• ISG abandona as Hs que cobrem instâncias negativas, e Hs mais especificas que outras.

• O ciclo ISG usa e+ para gerar Hs e e- para abandonar Hs

Page 22: Aprendizado de Descrições Lógicas

Tecnicas Bidirecionais

• Combinação de S->G e G->S

• Neste caso, ou G ou S atua como operador primario, sendo que o outro efetua backtracking

Page 23: Aprendizado de Descrições Lógicas

Tecnicas Bidirecionais

• Outra alternativa, espaço de versão, que IGS e ISG

• 2 conjuntos de descrições (S,G)

• ISG atualiza S, quando encontra e+

• IGS atualiza G, quando encontra e-

• não é necessário reter as instâncias + nem -

• IGS apaga os membros de G que são mais especificos que todos os membros de S, similar ISG com S.

Page 24: Aprendizado de Descrições Lógicas

Problemas dos Métodos I. Exaustivos

• ISG, IGS, Bidireccionais guardam em memoria todas as descrições consistentes com os dados

• Em alguns dominios o tamanho do conjunto pode crecer exponencialmente

• Ruido e conceito não é uma conjunção lógica

Page 25: Aprendizado de Descrições Lógicas

Método Hill Climbing

• Minimizar o processamento para cada nova instância, reduzir memoria requerida

• Ideia: Guardar uma hipoteses

• Hill Climbing

• metodo de busca clássico de IA

• se aplicam todos os possiveis operadores

• comparam os resultados, função de avaliação

• seleciona-se o melhor, iterar até não obter progressos

Page 26: Aprendizado de Descrições Lógicas

Hill Climbing

• Busca num espaço n-dimensional, com f

• Esta função determina a forma da superficie

• Em geral f é estatica, assim a forma da superficie é constante.

• Em ML, cada nova instância muda f modificando o contorno da superficie

• Esta característica deixa pouco claro as limitações tradicionais deste método (mínimo local)

• Existe dependência na ordem de presentação das instâncias

Page 27: Aprendizado de Descrições Lógicas

Algoritmo IHC

• Para cada instância I, o método verifica se H classifica corretamente

• Se correto, IHC não atua

• Se errado, IHC gera todas as revisões de H que corrigem o erro

• usa f para ordenar as candidatas, nos últimos K casos

• A melhor é comparada com H pai, fica a melhor

• O caso mais antigo é substituido pelo novo

• O processo continua ate que existam instâncias

Page 28: Aprendizado de Descrições Lógicas

Algoritmo IHC

• O algoritmo responde diferente se e+ ou e-

• e-, IHC diz e+, H é geral demais, -> S

• e+, IHC diz e-, H é muito especifica, -> G

• Formas de inicialização

• a mais geral

• o primeiro exemplo

Page 29: Aprendizado de Descrições Lógicas

Algoritmo IHC

Page 30: Aprendizado de Descrições Lógicas

IHC em operação+

-

-

+

-

(1+1)/2=1 (1+1)/2=1 (0+1)/2=0.5 (0+1)/2=0.5

(1+2)/3=1 (1+2)/3=1 (0+2)/3=2/3

(1+1)/3=2/3 (0+1)/3=1/3

(1+2)/3=1 (0+2)/3=2/3 (0+2)/3=2/3

Page 31: Aprendizado de Descrições Lógicas

Comentarios IHC

• Baixos requisitos de memoria e processamento

• Uma hipoteses

• Sensibilidade a ordem no treinamento, maior quantidade de instâncias de treinamento para converger

• Menos sensitivo a ruido

Page 32: Aprendizado de Descrições Lógicas

Exercicios

Page 33: Aprendizado de Descrições Lógicas

Indução de Conceitos Competitivos

Page 34: Aprendizado de Descrições Lógicas

Indução de Conceitos Competitivos

• Protótipos

• Tarefa• dado um conjunto de instâncias pre-classificadas

• encontrar uma descrição intencional

• um conjunto de protótipos

Page 35: Aprendizado de Descrições Lógicas

Indução de Conceitos Competitivos

• Esquemas competitivos não podem ser representados isoladamente

• A extensão de um conceito depende de sua descrição e da dos outros

• O operador típico é o calculo da media das instâncias de treinamento.

• A descrição especifica a tendência central das instâncias

Page 36: Aprendizado de Descrições Lógicas

Aprendizado baseado em Instâncias

• Guardam instâncias específicas ao invés de uma descrição abstrata

• Protótipos• conjunção de pares atributos valor

Page 37: Aprendizado de Descrições Lógicas

Protótipos

A

B

Peso

Altura Altura

Peso

A D

B C

Page 38: Aprendizado de Descrições Lógicas

Protótipos

• Usar protótipos para classificação é um processo de três passos:

• Dada uma instância I,

• calcula-se sua distância a cada protótipo• distância euclidiana,

• distância de hamming

• Usa-se o resultado para classificar a instância, o protótipo mais perto

Page 39: Aprendizado de Descrições Lógicas

Método média das Instâncias

• Realizar a média das instâncias para encontrar o protótipo de cada classe

• Para determinar o valor pi de um atributo para

um protótipo (numérico)• pi= 1/n xij (j=1,n)

Page 40: Aprendizado de Descrições Lógicas

Método incremental

• Ao encontrar uma instância de uma classe nova, guarde esta instância como protótipo

• Quando observar uma instância de uma classe conhecida, recalcule o protótipo

• para cada atributo i

pi= (xi-pi)/n+1

• para atributos nominais, escolha o valor mais frequente

Page 41: Aprendizado de Descrições Lógicas

Método média das Instâncias

• Em termos de eficiência e elegância é um dos melhores

• pouca expressão representacional• linhas de fronteiras

Page 42: Aprendizado de Descrições Lógicas

Método dos Pesos

• Um dos problemas do método anterior é tratar todos os atributos de forma equivalente

• Se os atributos tem escalas diferentes• normalizar

• Alguns atributos tem maior importância

Page 43: Aprendizado de Descrições Lógicas

Relevância dos atributos

- -

Peso

Altura

+

+ + -

Pesos de atributos iguais Altura 0.93 e peso 0.68

- -

Peso

Altura

+

+ + -

Page 44: Aprendizado de Descrições Lógicas

Métrica de distância

i wi (pi-xi)2

• wi ?• wi = 1 - 1/n( (k=1,c) j=1,nk pki - xji)• n = número total de instâncias de treinamento• nk = número de instâncias para a classe c

Page 45: Aprendizado de Descrições Lógicas

Construção de listas de decisão

• Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão

• Neste tópico se tratará da indução de descrições disjuntivas (v)

Page 46: Aprendizado de Descrições Lógicas

Múltiplas regiões

Peso

Altura

+ + --

+ + - -

- + + +

Page 47: Aprendizado de Descrições Lógicas
Page 48: Aprendizado de Descrições Lógicas

Construção de listas de decisão

Page 49: Aprendizado de Descrições Lógicas

Construção de listas de decisão

• Forma normal disjuntiva FND

• combina um conjunto de descrições D1,D2,..Dn em uma disjunção {D1vD2v..Dn }

• as vezes mais de uma classe "match"uma instância

• criar descrições mutualmente exclusivas

• precedência, lista ordenada

Page 50: Aprendizado de Descrições Lógicas

A tarefa de indução disjuntiva

• Dado: Um conjunto de instâncias de treinamento, cada uma com sua classe associada

• Encontrar: Uma descrição disjuntiva que, corretamente classifique instâncias não observadas

• Ao menos para algumas representações, o espaço de FND é parcialmente ordenado (G->S), mas o fator de ramificação é muito grande

Page 51: Aprendizado de Descrições Lógicas

Aprendizado não-incremental Dividir e Conquistar (NDC)

• Tarefa de discriminar entre duas classes

• construir a FND de uma classe e usar a outra como default. Tecnicamente o resultado é uma lista de decisão.

Page 52: Aprendizado de Descrições Lógicas

NDC• Entrada:

• Pset, conjunto de instâncias +

• Nset, conjunto de instâncias -

• FND uma disjunção de uma descrição de uma única região

• Saída: Uma disjunção de uma única região

• Nivel-Top chamada: NDC(Pset,Nset,{})

• Procedimento NDC(Pset,Nset,FND)

• Se Pset esta vazio Então retorne FND

• CC Encontre uma região D que cobra algumas instâncias em Pset e não em Nset, FND=FND+D, Pset=Pset-{D->}

• Retorne NDC(Pset,Nset,DNF)

Page 53: Aprendizado de Descrições Lógicas

NDC usando HSG

+

+ -

- +

+ --

Peso

Altura

+

+ -

- +

+ --

Peso

Altura

Page 54: Aprendizado de Descrições Lógicas

MDC

• NDC é projetado para inducir expressões para uma única classe

• MDC utiliza NDC como bloco de construção para mais de duas classes

Page 55: Aprendizado de Descrições Lógicas

MDC• Entrada: Cset é conjunto dos nomes das classes, Iset é o

conjunto das instâncias de treinamento.

• Saída: uma lista de decisão

• Procedimento MDC(Cset,Iset)

• Rule-set = {}

• Para cada Classe em Cset,

• Pset = {i Iset e i Classe}, Nset = {i Iset e i Classe}, FND = NDC(Pset,Nset,{}).

• Para cada termo D em FND, Rule-set =Rule-set + Se D então Classe

• Elimine possiveis conflitos entre descrições de classe, retorne Rule-set

Page 56: Aprendizado de Descrições Lógicas

Indução Incremental usandoDividir para conquistar (IDC)

• Utiliza ideias de Hill Climbing

• Guarda uma única hipoteses em memoria (um conjunto de termos lógicos disjuntivo)

• Guarda as k últimas instâncias de treinamento, para avaliar as hipoteses

• Revisa suas hipoteses somente quando realiza um erro de classificação

• IDC utiliza a função de avaliação para escolher

Page 57: Aprendizado de Descrições Lógicas

Revisões em IDC Erro de classificação de uma instância positiva,

generalizar a hipoteses

• modificar um termo da FND; remover um teste booleano, nominal ou características numericas, Aumentar o tamanho do retangulo ou mudanças nos pesos

• Como a hipoteses pode ter multiples termos, IDC deve aplicar generalização a cada um deles

• Outra alternativa envolve em adicionar um termo novo (a descrição da instância ou a descrição mais geral que não case com os exemplos negativos)

Page 58: Aprendizado de Descrições Lógicas

Revisões em IDC

• Erro de classificação de uma instância negativa, especializar a hipoteses

• modificar cada termo da FND que case com a instância; adicionar um teste booleano, nominal ou características numericas, diminuir o tamanho do retangulo ou mudanças nos pesos

• Outra alternativa envolve em eliminar um termo

Page 59: Aprendizado de Descrições Lógicas

Algoritmo IDC

Page 60: Aprendizado de Descrições Lógicas

Função de Avaliação

• Incluir uma medida da simplicidade da expresão e de precisão

• simplicidade 1/t , t número de termos

• precisão a = (Pc + N~c)/k

• F = a + 1/t ou F = (1-w)a + w 1/t , w entre 0 e 1

Page 61: Aprendizado de Descrições Lógicas

Comportamento de IDC

+

+

+1/1+1/1=2

-

2/2+1/1=2

2/3+1/1=5/3

+

3/4+1/1=7/4

V

4/4+1/2=3/2

+

V

4/4+1/2=3/2

Page 62: Aprendizado de Descrições Lógicas

Problemas

• Métodos que utilizam "Hill Climbing" possuem baixos requisitos de memoria e processamento

• Eles consideram somente uma hipoteses

• Sensibilidade a ordem das instâncias de treinamento, maior número de casos para convergência

• Pode não converger e em ambiente com ruido podem abandonar sua boas hipoteses

Page 63: Aprendizado de Descrições Lógicas

Indução de listas de decisão por excepção NEX

• O método dividir e conquistar constrõe a lista de forma top-down, adicionando o primeiro termo na lista e logo o segundo...

• Pode-se operar na direção oposta, NEX inicializa sua lista criando uma classe default, baseado na classe mais frequente

• Em cada iteração, NEX aplica sua lista aos casos restantes para verificar os classificados erroneamente

Page 64: Aprendizado de Descrições Lógicas

NEX

• Nex seleciona a classe mais comun neste conjunto,

• chama uma subrutina para inducir a descrição mais específica que cobre os membros desclassificados desta classe, e

• adiciona a regra na frente da lista de decisão

• Continua-se desta forma até que a lista classifique todas as instâncias de treinamento.

Page 65: Aprendizado de Descrições Lógicas

Fronteiras criadas por NEX

Peso

Altura

+ +

+

++

+

++

-

__

_

_

_

Peso

Altura

+ +

+

++

+

++

-

__

_

_

_

Page 66: Aprendizado de Descrições Lógicas

Algoritmo NEX

Page 67: Aprendizado de Descrições Lógicas

Indução de disjunções competitivas

• NDC, utiliza uma tecnica competitiva simples, para criar um conjunto inicial de descrições

• NDC utiliza isto para classificar o conjunto.

• O algoritmo remove os casos problematicos e os coloca em "pseudo classes"

• NDC produz um novo conjunto de descrições

• Repete-se o processo, até que se tenha um conjunto que corretamente classifique

Page 68: Aprendizado de Descrições Lógicas

Algoritmo NDC

Page 69: Aprendizado de Descrições Lógicas

NDC e protótipos

Peso

Altura

+ ++ +

- - + +

- -

Peso

Altura

+ ++ +

- - + +

- -