Transcript
Page 1: Construção de listas de decisão

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 2: Construção de listas de decisão

Múltiplas regiões

Peso

Altura

+ + --

+ + - -

- + + +

Page 3: Construção de listas de decisão

Construção de listas de decisão

Page 4: Construção de listas de decisão

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 5: Construção de listas de decisão

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 6: Construção de listas de decisão

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 7: Construção de listas de decisão

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 8: Construção de listas de decisão

NDC usando HSG

+

+ -

- +

+ --

Peso

Altura

+

+ -

- +

+ --

Peso

Altura

Page 9: Construção de listas de decisão

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 10: Construção de listas de decisão

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 11: Construção de listas de decisão

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 12: Construção de listas de decisão

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 13: Construção de listas de decisão

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 14: Construção de listas de decisão

Algoritmo IDC

Page 15: Construção de listas de decisão

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 16: Construção de listas de decisão

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 17: Construção de listas de decisão

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 18: Construção de listas de decisão

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 19: Construção de listas de decisão

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 20: Construção de listas de decisão

Fronteiras criadas por NEX

Peso

Altura

+ +

+

++

+

++

-

__

_

_

_

Peso

Altura

+ +

+

++

+

++

-

__

_

_

_

Page 21: Construção de listas de decisão

Algoritmo NEX

Page 22: Construção de listas de decisão

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 23: Construção de listas de decisão

Algoritmo NDC

Page 24: Construção de listas de decisão

NDC e protótiposPeso

Altura

+ ++ +

- - + +

- -

Peso

Altura

+ ++ +

- - + +

- -

Page 25: Construção de listas de decisão

Aprendizado Baseado em Instancias

Page 26: Construção de listas de decisão

Introdução

• Em contraste aos métodos de aprendizado que constroem uma descrição explicita genérica da função alvo.

• Os métodos baseados em instâncias guardam os exemplos de treinamento

• A generalização é posposta até que uma nova instância deva ser classificada

• Cada vez que uma nova instância é encontrada, seus relacionamentos com os exemplos previamente guardados é examinado para atribuir um valor de função alvo.

Page 27: Construção de listas de decisão

IBL

• IBL, instance based learning

• Inclui os métodos de vizinho mais próximo, raciocínio baseado em casos

• IBL é um método chamado lazy

• IBL é utilizado em funções alvo com valores discreto ou valores reais.

Page 28: Construção de listas de decisão

IBL

• IBL pode utilizar uma representação simbólica mais complexa para as instâncias -> Raciocínio baseado em Casos.

• O custo de classificar uma nova instância é alto

• Indexação eficiente dos exemplos de teinamento

Page 29: Construção de listas de decisão

Aprendizado K-Nearest Neighbor

• O método IBL mas basico é o algoritmo k-nearest neighbor

• Este algoritmo assume que todas as instâncias correspondem a um ponto no espaço n-dimensional Rn

• O vizinho mais próximo de uma instância é definido em termos da instância euclidiana.

Page 30: Construção de listas de decisão

Distância Euclidiana

• Seja a instância descrita por– (a1(x),a2(x),.........an(x))

• A distância entre 2 instâncias Xi e Xj– d(Xi,Xj)=(∑r=1,n (ar(Xi)-ar(Xj))2)1/2

Esta abordagem é apropriada tanto para funções alvo discretas ou reais.

Page 31: Construção de listas de decisão

Algoritmo para funções Alvo Discretas

• Neste caso o valor f(xq) retornado é o f(xq) mais freqüente entre os k vizinhos de f(xq).

• Algoritmo– Fase de treinamento: para cada exemplo de

treinamento (x,f(x)), adicione o exemplo a lista de exemplos.

Page 32: Construção de listas de decisão

Classificação

• Dado uma instância Xq a ser classificada

• Sejam X1...Xk as instâncias de treinamento mais próximas de Xq

• Retorne– F(Xq) <- argmax )=(∑i=1,k α(r,f(Xi))

• Onde α(a,b)=1 se a=b• Caso contrario α(a,b)=0

Page 33: Construção de listas de decisão

Numero de vizinhos

1 vizinho classifica como +5 vizinhos classificam como -

Page 34: Construção de listas de decisão

Regressão

• Classificação no caso de valores reais

• f(Xq) =(∑i=1,k,f(Xi))/k

Page 35: Construção de listas de decisão

Algoritmo Nearest Neighbor Distâncias Ponderadas

• Um refinamento obvio do algoritmo é atribuir pesos a cada k-vizinho de acordo a sua distância a instância a classificar Xq

• Ex: valores discretos– F(Xq) <- argmax )=(∑i=1,kwi α(r,f(Xi))

– Voto de acordo com a distância– Wi = 1/ d(Xq,Xi)2

– Se Xi= Xq -> f(Xq) = f(Xi)

Page 36: Construção de listas de decisão

Continuo

• f(Xq) =(∑i=1,k,wi f(Xi))/ ∑i=1,k,wi – Normalizar os pesos– K = todas as instâncias ou constante

• Obs: A introdução de pesos no algoritmo o faz um método altamente efetivo para vários problemas práticos

• É robusto a dados com ruído e efetivo com grandes bases de treinamento

• É sensível ao conjunto de atributos

Page 37: Construção de listas de decisão

Regressão Localmente Ponderada

• Esta abordagem usa exemplos de treinamento ponderado por sua distância para formar uma aproximação a f.

• Ex: podemos usar uma função linear, quadrática, rede neural ou alguma outra função.

• Dada uma instância a classificar Xq, a abordagem constrõe uma aproximação f usando os vizinhos de Xq.

• Esta aproximação é utilizada para calcular f(Xq)

Page 38: Construção de listas de decisão

Regressão Linear

• f(X) = w0 + w1 a1(x)+ .....+ wnan(x)

• E = ½ ∑i=1,k,( f(X) – fe(x))2

• ∆W=ŋ ∑i=1,k,( f(X) – fe(x)) an(x)

Page 39: Construção de listas de decisão

Problemas de Dimensionalidade

• Imagine instâncias descritas por 20 atributos, mais somente 2 são relevantes

• Problemas de recuperação, kd-tree, as instâncias são guardadas nas folhas da arvore, com as instâncias vizinhas no no perto dele. Os nos internos da arvore ordenam a nova instância e a classificam testando seus atributos.

Page 40: Construção de listas de decisão

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 41: Construção de listas de decisão

Exercicios

Page 42: Construção de listas de decisão

Indução de Conceitos Competitivos

Page 43: Construção de listas de decisão

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 44: Construção de listas de decisão

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 45: Construção de listas de decisão

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 46: Construção de listas de decisão

Protótipos

A

B

Peso

Altura Altura

Peso

A D

B C

Page 47: Construção de listas de decisão

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 48: Construção de listas de decisão

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 49: Construção de listas de decisão

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 50: Construção de listas de decisão

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 51: Construção de listas de decisão

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 52: Construção de listas de decisão

Relevância dos atributos

- -

Peso

Altura

+

+ + -

Pesos de atributos iguais Altura 0.93 e peso 0.68

- -

Peso

Altura

+

+ + -

Page 53: Construção de listas de decisão

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


Top Related