• Nenhum resultado encontrado

Aprendizado Baseado em Instâncias. Cleber Zanchettin Ricardo Prudêncio

N/A
N/A
Protected

Academic year: 2021

Share "Aprendizado Baseado em Instâncias. Cleber Zanchettin Ricardo Prudêncio"

Copied!
75
0
0

Texto

(1)

Aprendizado Baseado em

Instâncias

Cleber Zanchettin

Ricardo Prudêncio

(2)

Introdução

•  Soluções para novos problemas podem

ser definidas, adaptando soluções dadas

a problemas

similares

•  É comum memorizarmos situações e

recuperá-las quando necessário

(3)

Aprendizado Baseado em

Instâncias

•  Problemas resolvidos no passado são

representados como

instâncias

– E.g., exemplos de treinamento previamente

etiquetados

•  Instâncias são

recuperadas

e

adaptadas

(4)

Aprendizado Baseado em

Instâncias

•  Generaliza informações com base em exemplos

de treinamento:

–  Para inferir a classe de novas instâncias (ou

instâncias de consulta)

–  Cada vez que uma instância é recebida, se computa uma função objetivo com base no conhecimento

oferecido pela base de exemplos de treinamento

•  Estima a classe da nova instância com base em

comportamentos locais

(5)

Aprendizado Baseado em

Instâncias

Lazy learning

ou aprendizado preguiçoso

–  Método de aprendizagem em que a generalização

além dos dados de treinamento é adiada até que uma consulta seja feita ao sistema

•  Diferente da aprendizagem ansiosa (

eager

learning

)

–  Sistema tenta generalizar os dados de treinamento antes de receber uma consulta

(6)

Aprendizado Baseado em

Instâncias

•  Classe de algoritmos de aprendizado que

inclui, por exemplo:

K-Vizinhos Mais Próximos

(7)

Algoritmo de K-Vizinhos Mais

Próximos

(8)

Algoritmo k-NN

•  Todas as instâncias correspondem a

pontos

em um espaço n-dimensional

•  Vizinhança definida por uma função de

distância

, ou por uma função de

similaridade

–  Menor distância = maior similaridade

•  Classe de um novo exemplo é definida a

(9)

Algoritmo k-NN

•  O atributo de saída é definido na forma:

Discreta

(por exemplo, por maior número de

votos)

Contínua

(o atributo de saída é definido pela

ponderação das saídas das K instâncias mais

próximas)

(10)

Algoritmo k-NN

•  Definições:

–  : instância descrita pelo vetor –  : classe de

•  Treinamento básico:

–  Armazenar exemplos de treinamento

i

x

)

(

,

i i

f

x

x

)

(

),...,

(

1

x

i

a

n

x

i

a

)

(

x

i

f

x

i

(11)

Algoritmo k-NN

•  Dado exemplo a ser classificado,

–  Seja as k instâncias mais similares a

–  Retorne classe majoritária das instâncias recuperadas

onde q

x

= ∈

k i i V v q

v

f

x

x

f

1 ^

))

(

,

(

max

arg

)

(

δ

k

x

x ,...,

1

x

q

contrário

caso

x

f

v

e

x

f

v

se

x

f

v

i i i

,

0

))

(

,

(

)

(

1

))

(

,

(

=

==

=

δ

δ

(12)

Algoritmo k-NN

•  Algoritmo k-NN usa comumente a

Distância

Euclidiana

para definição de vizinhança

=

=

n r j r i r j i

x

a

x

a

x

x

d

1 2

))

(

)

(

(

)

,

(

(13)

Algoritmo k-NN

•  Atributos de maior

escala numérica

podem

dominar função de distância

–  Usualmente, os atributos são normalizados para intervalo entre 0 e 1

))

(

(

min

)

(

max

))

(

(

min

)

(

)

(

i i i i i i NORM

x

a

x

a

x

a

x

a

x

a

=

))

(

(

))

(

(

)

(

)

(

i i i i NORM

x

a

std

x

a

mean

x

a

x

a

=

(14)

Algoritmo k-NN

•  Boa prática: incluir a normalização dos dados

implicitamente no cálculo da distância

2 2 1 (max ( ) min ( )) )) ( ) ( ( ) , ( j r i i r i j r i r n r j i x a x a x a x a x x d − − =

= 2 2 1

(

(

(

)))

))

(

)

(

(

)

,

(

i r i j r i r n r j i

x

a

std

x

a

x

a

x

x

d

=

=

(15)

Algoritmo k-NN

•  Distância de Hamming para

atributos

categóricos

:

–  Soma 1 para cada atributo cujo valor não coincide nas instâncias ⎪ ⎩ ⎪ ⎨ ⎧ == = contrário caso x a x a se x a x a dist r i r j r i r j , 1 ) ( ) ( , 0 )) ( ), ( (

=

=

n r j r i r j i HAMMING

x

x

dist

a

x

a

x

d

1

))

(

),

(

(

)

,

(

(16)

Algoritmo k-NN

•  Função de distância considerando

missing

values

(Witten, Frank (2000, p.115)):

–  Para atributos categóricos: distância é igual a 1 na presença de missing values

–  Para atributos numéricos:

•  Se os dois valores comparados são missing values então distância igual a 1

•  Se apenas um dos valores é missing value, então distância é o maior dentre os seguintes valores:

–  Tamanho normalizado do atributo presente

(17)

Algoritmo k-NN

•  Outras funções de distância:

) ( min ) ( max ) ( ) ( ) , ( 1 i r i i r j j r i r n r j i x a x a x a x a x x d − − =

= •  Distância L1 Normalizada

•  Distância Cosseno Normalizada

= = = ∗ ∗ = n r j r n r i r n r j r i r j i x a x a x a x a x x d 1 2 1 2 1 ) ( ) ( ) ( ) ( ) , (

(18)

Algoritmo k-NN

- Exemplo

Espaço de instâncias

q

x

•  Exemplos da classe negativa •  Exemplos da classe positiva •  Exemplos a ser classificado

•  Com k = 1, exemplo xq

(19)

Algoritmo k-NN

- Exemplo

Espaço de instâncias

q

x

•  Exemplos da classe negativa •  Exemplos da classe positiva •  Exemplos a ser classificado

•  Com k = 3, exemplo xq

(20)

Algoritmo k-NN

- Exemplo

Espaço de instâncias

q

x

•  Exemplos da classe negativa •  Exemplos da classe positiva •  Exemplos a ser classificado

•  Com k = 5, exemplo xq

(21)

Algoritmo k-NN

•  O

dilema

da escolha do parâmetro k

–  O algoritmo se torna mais flexível

–  Valores muito baixos podem aumentar a contribuição de exemplos ruidosos

–  Menor gasto computacional

q

(22)

Algoritmo k-NN

•  O

dilema

da escolha do parâmetro k

–  Valores muito altos podem aumentar a contribuição de

exemplos pouco similares, e assim, menos relevantes

–  Mais robusto a ruído

–  Menor flexibilidade

q

(23)

Algoritmo k-NN

•  O que fazer em caso de

empate

entre duas ou

mais classes?

–  Considerar apenas os k-1 vizinhos mais próximos

–  Em caso de novo empate, repetir esse processo

–  Esse processo para quando uma classe for unânime

k = 4: empate

(24)

Algoritmo k-NN

•  O valor do parâmetro k é escolhido comumente

através de

tentativa-e-erro

–  Avaliação empírica com diferentes valores de k

(25)

Algoritmo k-NN com Ponderação

pela Distância

•  A contribuição de cada vizinho pode ser

ponderada pela distância com a instância a

ser classificada

= ∈

k i i i V v q

w

v

f

x

x

f

1 ^

))

(

,

(

max

arg

)

(

δ

2

)

,

(

1

i q i

x

x

d

w =

)

,

(

1

i q i

x

x

d

w =

w

i

=

1

d

(

x

q

,

x

i

)

(26)

Algoritmo k-NN com Ponderação

pela Distância

•  Com ponderação, a escolha adequada de k se tornaria menos importante?

–  Note que instâncias muitos distantes teriam pouca contribuição na predição

•  “There is no harm in allowing all training examples to have an influence on the classification…” – T.

Mitchell (1997, p. 234)

•  Método de Shepard: k-NN ponderado usando todos os exemplos de treinamento como vizinhos

(27)

Algoritmo k-NN

- Discussão

•  Se somente os k mais próximos forem considerados:

–  Algoritmo é denominado local

•  Se todas as instâncias de treinamento forem consideradas:

(28)

Algoritmo k-NN

- Discussão

•  Computam a saída em função dos atributos de entrada •  Se os atributos de entrada não forem bem definidos o

resultado pode ser ruim:

–  Por exemplo, instâncias são representadas por 10 atributos de entrada e 1 de saída

–  Porém, somente 2 atributos de entrada são relevantes

–  Os 8 outros podem influenciar a saída, mas nem deveriam existir na base de aprendizado!

•  Uma abordagem para resolver esse problema é dar um peso para cada atributo:

–  Assim os mais relevantes serão mais considerados!

(29)

Algoritmo k-NN para Regressão

•  Algoritmo pode ser usado para estimar valores

de funções contínuas

k

x

f

x

f

k i i q

=

1 ^

(

)

)

(

•  Predição é a média simples dos valores alvo armazenados nas instâncias recuperadas

(30)

Algoritmo k-NN para Regressão

•  Regressão com Ponderação pela Distância

= = ← k i i k i i i q w x f w x f 1 1 ^ ( ) ) (

•  Predição é a média ponderada dos valores alvo armazenados nas instâncias recuperadas

(31)

Algoritmo k-NN

- Discussão

•  Vantagens

–  Fácil de implementar

–  Não requer uma etapa de treinamento

–  Ideal para conjuntos de dados pequenos ou médios •  Algoritmos, como árvores de decisão, precisam

de mais dados para gerar um bom modelo

–  Usa informação local, podendo ser implementado com comportamentos adaptativos

(32)

Algoritmo k-NN

- Discussão

•  Desvantagens

– É muito sensível a presença de atributos

irrelevantes e/ou redundantes

•  Curse of Dimensionality

– Custo computacional e armazenamento em

alguns contextos é impraticável

•  Reduzir o número de exemplos de treinamento pode amenizar esse problema

•  Algoritmos baseados em protótipos também

(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)

Novo Exemplo x Vizinho mais Próximo

de x

Exemplo: problema de 2 classes (x,o) e 2 atributos representados nos eixos x e y

Diagrama de Voronoi

(41)

Novo Exemplo

3 vizinhos mais próximos

2x, 1o

Diagrama de Voronoi, K=3

(42)

Novo Exemplo 7 vizinhos mais próximos

3x, 4o

Diagrama de Voronoi, K=7

(43)

KNN: Regressão, K=1

(44)

KNN: Regressão, K=3

(45)

KNN: Regressão, K=5

(46)

Fronteiras

(47)

Fronteiras, K=1

(48)

Fronteiras, K=5

(49)

Fronteiras, K=10

(50)

Fronteiras

(51)

Fronteiras, K=1

(52)

Fronteiras, K=5

(53)

Fronteiras, K=10

(54)

Fronteiras

(55)

Fronteiras, K=1

(56)

Fronteiras, K=5

(57)

Fronteiras, K=10

(58)

Fronteiras

(59)

Fronteiras, K=1

(60)

Fronteiras, K=5

(61)

Fronteiras, K=10

(62)

Fronteiras (Árvore de Decisão)

(63)

Exemplos

http://vision.stanford.edu/teaching/cs231n-demos/knn/ http://demonstrations.wolfram.com/

(64)

Algoritmo de Raciocínio

Baseado em Casos

(65)

Case-Based Reasoning

•  O aprendizado é baseado em duas

condições:

– Decisões são emitidas assim que uma nova

instância ou instância de consulta chega ao

sistema

– Decisões dependem de instâncias de

treinamento similares

•  Nesses dois aspectos são similares às

duas variações de KNN

– No entanto

não considera o caso contínuo

(66)

Case-Based Reasoning

•  Considere uma base de instâncias de

treinamento que descrevem o

funcionamento de uma peça mecânica por

exemplo, o motor de um carro

– Cada instância de treinamento é formada por

uma

descrição simbólica

que conecta duas

peças

– Por exemplo:

•  Câmara de combustão X → Pistão Y

•  Mangueira de alimentação do radiador Z → Radiador T

(67)

Case-Based Reasoning

•  Cada instância na base representa as

conexões entre peças tal como em um

grafo

– Podem também apresentar um termo

(aptidão) para tal conexão

•  Assim, quando um projetista deseja criar

um novo motor:

– Entrada com partes das condições

– Solicita maior aptidão

(68)

Case-Based Reasoning

  CBR:

– Faz um

match

das várias condições que

satisfazem o conceito de entrada, oferecido

pelo projetista, e pode prover

diversas saídas

e suas aptidões relativas

– Tem

alto custo

computacional, pois considera

a associação de regras armazenadas para

montar um único sistema

– A forma de combinação dessas regras difere

do KNN que, em geral, faz uma soma

ponderada

(69)

Case-Based Reasoning

𝐴→

+

┴𝐵

𝐴→

+

┴𝑥→

+

┴𝐵

•  Cria-se uma série de

grafos

conectando

as várias regras e se estima o custo ou

aptidão de cada grafo

– Cada grafo funciona como uma solução

candidata

•  Pode ser que

não haja um grafo

para

representar o sistema todo

(70)

Algoritmo k-NN no WEKA

•  Algoritmo IB1 é a implementação do k-NN com k=1

•  Algoritmo IBk é a uma versão mais completa do k-NN 1

(71)

Algoritmo k-NN no WEKA

•  Parâmetro k

•  Esquema de ponderação pela distância

(72)

Vantagens

•  São algoritmos de aprendizado supervisionado

nos quais instâncias são usada

(incrementalmente) para classificar objetos

•  Custo de atualização das instâncias é baixo

•  Custo ou velocidade do aprendizado é

(treinamento) é baixo

•  É possível adaptar os algoritmos para obter

descrição dos conceitos

(73)

Desvantagens

•  São computacionalmente custosos, desde que considerem todas as instâncias

•  Não tratam bem atributos ruidosos

•  Não são robustos a atributos irelevantes

•  A performance depende muito da escolha da função de similaridade para computer as distâncias

•  Não existe forma simples de tartar atributos nominais e faltantes

•  Não fornecem uma boa descrição da estrutura dos dados

(74)

Exemplo

•  Applet

(75)

Referências

•  T. Mitchell, 1997. Machine Learning.

•  I. Witten, E. Frank, 2000. Data Mining – Practical

Machine Learning Tools and Techniques with Java Implementations.

•  D. Aha, D. Kibler, M. Albert, ,1991. Instance-based learning algorithms. Machine Learning, 6:37--66.

Referências

Documentos relacionados

Os dados serão adicionados no fim do arquivo (“append“) se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente. • “rb“: Abre

ü Densidade constante de bits: existem mais setores nas trilhas de fora. • Velocidade linear varia com localidade da trilha (mais rápida para

Para tratar a diversidade, a complexidade, e as diferentes formas de operações de cada periférico, as interfaces empregam no seu projeto um outro componente, o

 Se a comemoração do aniversário for realizada fora do ambiente escolar e os pais desejarem convidar todos os colegas de sala, sem exceção, poderão enviar o convite preenchido e

Este trabalho não substitui, de forma alguma, a docu- mentação legal vigente, e seu objetivo é esclarecer ao setor produtivo as etapas do processo de avaliação

(2009) apresentam estas metodologias como sendo: (a) Supervisionada: que tem como característica a predição, ao qual determina com base em padrões uma previsão ou

As instâncias fornecidas neste teste foram classificadas contendo os atributos: jogada, movimento, posição e melhoria, com um número mínimo de 41 instâncias por folha e seu

Esta publicação pretende ser um ponto de partida para suas próprias ideias e dispositivos, como uma ferramenta que atua em diferentes contextos e lugares inserindo,