construção de listas de decisão

Post on 14-Jan-2016

20 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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). Múltiplas regiões. Peso. + + - - + + - - - - PowerPoint PPT Presentation

TRANSCRIPT

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)

Múltiplas regiões

Peso

Altura

+ + --

+ + - -

- + + +

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

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

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.

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)

NDC usando HSG

+

+ -

- +

+ --

Peso

Altura

+

+ -

- +

+ --

Peso

Altura

MDC

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

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

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

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

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)

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

Algoritmo IDC

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

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

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

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

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.

Fronteiras criadas por NEX

Peso

Altura

+ +

+

++

+

++

-

__

_

_

_

Peso

Altura

+ +

+

++

+

++

-

__

_

_

_

Algoritmo NEX

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

Algoritmo NDC

NDC e protótiposPeso

Altura

+ ++ +

- - + +

- -

Peso

Altura

+ ++ +

- - + +

- -

Aprendizado Baseado em Instancias

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.

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.

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

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.

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.

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.

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

Numero de vizinhos

1 vizinho classifica como +5 vizinhos classificam como -

Regressão

• Classificação no caso de valores reais

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

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)

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

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)

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)

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.

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

Exercicios

Indução de Conceitos Competitivos

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

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

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

Protótipos

A

B

Peso

Altura Altura

Peso

A D

B C

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

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)

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

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

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

Relevância dos atributos

- -

Peso

Altura

+

+ + -

Pesos de atributos iguais Altura 0.93 e peso 0.68

- -

Peso

Altura

+

+ + -

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