em contraste aos métodos de aprendizado · 2010. 9. 20. · em contraste aos métodos de...
TRANSCRIPT
Em contraste aos métodos de aprendizadoque constroem uma descrição explicitagenérica da função alvo.
Os métodos baseados em instânciasguardam os exemplos de treinamento
A generalização é posposta até que umanova instância deva ser classificada
Cada vez que uma nova instância é encontrada, seus relacionamentos com osexemplos previamente guardados é examinado para atribuir um valor de funçãoalvo.
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 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 treinamento
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 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.
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.
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
1 vizinho classifica como +
5 vizinhos classificam como -
Classificação no caso de valores reais
f(Xq) =(∑i=1,k,f(Xi))/k
• 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)
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
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)
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)
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.
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
Protótipos
Tarefa
◦ dado um conjunto de instâncias pre-classificadas
◦ encontrar uma descrição intencional
◦ um conjunto de protótipos
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
Guardam instâncias específicas ao invés de uma descrição abstrata
Protótipos◦ conjunção de pares atributos valor
A
B
Peso
Altura Altura
Peso
AD
B C
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
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)
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
Em termos de eficiência e elegância é um dos melhores
pouca expressão representacional
linhas de fronteiras
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
- -
Peso
Altura
+
+ + -
Pesos de atributos iguais Altura 0.93 e peso 0.68
- -
Peso
Altura
+
+ + -
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