Selec¸ ˜ao e Gerac¸ ˜ao de Prot ´otipos
George Darmiton da Cunha Cavalcanti Centro de Inform ´atica
Sum ´ario
1 Introduc¸ ˜ao
2 Taxonomia
3 T ´ecnicas de Selec¸ ˜ao de Prot ´otipos
Condensed Nearest Neighbor Reduced Nearest Neighbor Rule Edited Nearest Neighbor Rule
Repeated Edited Nearest Neighbor Rule All k NN
Introduc¸ ˜ao
Introduc¸ ˜ao
Introduc¸ ˜ao
Introduc¸ ˜ao
Usando o kNN (k=7), a classe da inst ˆancia de consulta (+) seria
Introduc¸ ˜ao
Introduc¸ ˜ao
O algoritmo kNN ´e computacionalmente caro quando temos muitas inst ˆancias no conjunto de treinamento
Alternativa: eleger representantes para as classes ao inv ´es de utilizar todos os elementos
Essas inst ˆancias selecionadas s ˜ao osprot ´otipos
A selec¸ ˜ao dos prot ´otipos deve, pelo menos, manter o poder de discriminac¸ ˜ao das inst ˆancias representadas por eles
Introduc¸ ˜ao
Introduc¸ ˜ao
O algoritmo kNN ´e computacionalmente caro quando temos muitas inst ˆancias no conjunto de treinamento
Alternativa: eleger representantes para as classes ao inv ´es de utilizar todos os elementos
Essas inst ˆancias selecionadas s ˜ao osprot ´otipos
A selec¸ ˜ao dos prot ´otipos deve, pelo menos, manter o poder de discriminac¸ ˜ao das inst ˆancias representadas por eles
Introduc¸ ˜ao
Introduc¸ ˜ao
O algoritmo kNN ´e computacionalmente caro quando temos muitas inst ˆancias no conjunto de treinamento
Alternativa: eleger representantes para as classes ao inv ´es de utilizar todos os elementos
Essas inst ˆancias selecionadas s ˜ao osprot ´otipos
A selec¸ ˜ao dos prot ´otipos deve, pelo menos, manter o poder de discriminac¸ ˜ao das inst ˆancias representadas por eles
Introduc¸ ˜ao
Introduc¸ ˜ao
O algoritmo kNN ´e computacionalmente caro quando temos muitas inst ˆancias no conjunto de treinamento
Alternativa: eleger representantes para as classes ao inv ´es de utilizar todos os elementos
Essas inst ˆancias selecionadas s ˜ao osprot ´otipos
A selec¸ ˜ao dos prot ´otipos deve, pelo menos, manter o poder de discriminac¸ ˜ao das inst ˆancias representadas por eles
Introduc¸ ˜ao
Introduc¸ ˜ao
Nearest Prototype Classification (NPC)
M ´etodo de classificac¸ ˜ao baseado em prot ´otipos
Cada prot ´otipo deve representar um conjunto de inst ˆancias As classes s ˜ao representadas por um ou mais prot ´otipos Uma das vantagens das t ´ecnicas baseadas em prot ´otipos ´e a reduc¸ ˜ao da demanda de espac¸o para armazenamento e de recursos computacionais para classificac¸ ˜ao
´
E mais eficiente que o kNN, pois o n ´umero de elementos a serem comparados para a classificac¸ ˜ao ´e menor
Introduc¸ ˜ao
Introduc¸ ˜ao
Nearest Prototype Classification (NPC)
M ´etodo de classificac¸ ˜ao baseado em prot ´otipos
Cada prot ´otipo deve representar um conjunto de inst ˆancias
As classes s ˜ao representadas por um ou mais prot ´otipos Uma das vantagens das t ´ecnicas baseadas em prot ´otipos ´e a reduc¸ ˜ao da demanda de espac¸o para armazenamento e de recursos computacionais para classificac¸ ˜ao
´
E mais eficiente que o kNN, pois o n ´umero de elementos a serem comparados para a classificac¸ ˜ao ´e menor
Introduc¸ ˜ao
Introduc¸ ˜ao
Nearest Prototype Classification (NPC)
M ´etodo de classificac¸ ˜ao baseado em prot ´otipos
Cada prot ´otipo deve representar um conjunto de inst ˆancias As classes s ˜ao representadas por um ou mais prot ´otipos
Uma das vantagens das t ´ecnicas baseadas em prot ´otipos ´e a reduc¸ ˜ao da demanda de espac¸o para armazenamento e de recursos computacionais para classificac¸ ˜ao
´
E mais eficiente que o kNN, pois o n ´umero de elementos a serem comparados para a classificac¸ ˜ao ´e menor
Introduc¸ ˜ao
Introduc¸ ˜ao
Nearest Prototype Classification (NPC)
M ´etodo de classificac¸ ˜ao baseado em prot ´otipos
Cada prot ´otipo deve representar um conjunto de inst ˆancias As classes s ˜ao representadas por um ou mais prot ´otipos Uma das vantagens das t ´ecnicas baseadas em prot ´otipos ´e a reduc¸ ˜ao da demanda de espac¸o para armazenamento e de recursos computacionais para classificac¸ ˜ao
´
E mais eficiente que o kNN, pois o n ´umero de elementos a serem comparados para a classificac¸ ˜ao ´e menor
Introduc¸ ˜ao
Introduc¸ ˜ao
Nearest Prototype Classification (NPC)
M ´etodo de classificac¸ ˜ao baseado em prot ´otipos
Cada prot ´otipo deve representar um conjunto de inst ˆancias As classes s ˜ao representadas por um ou mais prot ´otipos Uma das vantagens das t ´ecnicas baseadas em prot ´otipos ´e a reduc¸ ˜ao da demanda de espac¸o para armazenamento e de recursos computacionais para classificac¸ ˜ao
´
E mais eficiente que o kNN, pois o n ´umero de elementos a serem comparados para a classificac¸ ˜ao ´e menor
Introduc¸ ˜ao
Introduc¸ ˜ao
Classificar usando apenas os prot ´otipos
Taxonomia
Taxonomia
Selec¸ ˜ao versus Gerac¸ ˜ao
Selec¸ ˜ao
O conjunto de prot ´otipos ´e formado por inst ˆancias do conjunto de treinamento
Gerac¸ ˜ao
O conjunto de prot ´otipos ´e formado por inst ˆancias que podem pertencer ao conjunto de treinamento
Novas inst ˆancias podem ser criadas atrav ´es da “combinac¸ ˜ao” ou “ajuste”de inst ˆancias do conjunto de treinamento
Taxonomia
Taxonomia
Selec¸ ˜ao versus Gerac¸ ˜ao
Selec¸ ˜ao
O conjunto de prot ´otipos ´e formado por inst ˆancias do conjunto de treinamento
Gerac¸ ˜ao
O conjunto de prot ´otipos ´e formado por inst ˆancias que podem pertencer ao conjunto de treinamento
Novas inst ˆancias podem ser criadas atrav ´es da “combinac¸ ˜ao” ou “ajuste”de inst ˆancias do conjunto de treinamento
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos
Condensed Nearest Neighbor Rule (CNN) – Hart (1968) Reduced Nearest Neighbor Rule (RNN) – Gates (1972) Edited Nearest Neighbor Rule (ENN) – Wilson (1972)
Repeated Edited Nearest Neighbor Rule (RENN) – Tomek (1976) All kNN – Tomek (1976)
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Condensed Nearest Neighbor
Condensed Nearest Neighbor (CNN)
T ´ecnica de Selec¸ ˜ao
Encontrar um subconjunto S que ´e consistente em relac¸ ˜ao ao conjunto de treinamento T
Um subconjunto consistente ´e um conjunto que classifica corretamente todas as inst ˆancias em T
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Condensed Nearest Neighbor
Algoritmo 1 Condensed Nearest Neighbor Rule (CNN) 1: S= ∅
2: S=S∪ {xxx},xxx ∈T
3: while S ´e atualizado do 4: for xxx ∈T\Sdo
5: if class(xxx) 6=class(NN(xxx,S))then 6: S =S∪ {xxx}
7: end if
8: end for
9: end while
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Condensed Nearest Neighbor
Condensed Nearest Neighbor (CNN)
T ´ecnica de Selec¸ ˜ao
Figura:Dados artificiais 2D Figura:CNN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Condensed Nearest Neighbor
Condensed Nearest Neighbor (CNN)
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Condensed Nearest Neighbor
Condensed Nearest Neighbor (CNN)
T ´ecnica de Selec¸ ˜ao
Figura:CNN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Reduced Nearest Neighbor Rule
Reduced Nearest Neighbor Rule (RNN)
T ´ecnica de Selec¸ ˜ao
RNN ´e uma extens ˜ao do CNN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Reduced Nearest Neighbor Rule
Algoritmo 2 Reduced Nearest Neighbor Rule (RNN)
1: S=CNN(T) {Subconjunto gerado pela regra CNN em T}
2: for xxxs∈Sdo 3: S =S\{xxxs}
4: for xxxt ∈T do
5: if class(xxxt) 6=class(NN(xxxt,S))then 6: S =S∪ {xxxs}
7: Continua na linha 2
8: end if
9: end for
10: end for
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Reduced Nearest Neighbor Rule
Reduced Nearest Neighbor Rule (RNN)
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Reduced Nearest Neighbor Rule
Reduced Nearest Neighbor Rule (RNN)
T ´ecnica de Selec¸ ˜ao
Figura:Dados artificiais 2D
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Reduced Nearest Neighbor Rule
Reduced Nearest Neighbor Rule (RNN)
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Reduced Nearest Neighbor Rule
CNN versus RNN
T ´ecnica de Selec¸ ˜ao
Figura:CNN Figura:RNN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Reduced Nearest Neighbor Rule
CNN versus RNN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Reduced Nearest Neighbor Rule
CNN versus RNN
T ´ecnica de Selec¸ ˜ao
Figura:RNN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Edited Nearest Neighbor Rule
Edited Nearest Neighbor Rule (ENN)
T ´ecnica de Selec¸ ˜ao
A t ´ecnica de reduc¸ ˜ao ENN? atua como filtro removedor de ru´ıdos e
suavizador de limites de decis ˜ao
Diferente das t ´ecnicas anteriores (CNN e RNN), preserva pontos do interior das classes
O ENN inicia com S =T e, ao iterar todas as inst ˆancias de T ,
elimina de S os pontos que n ˜ao s ˜ao classificados corretamente utilizando T como conjunto de refer ˆencia
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Edited Nearest Neighbor Rule
Edited Nearest Neighbor Rule (ENN)
T ´ecnica de Selec¸ ˜ao
Algoritmo 3 Edited Nearest Neighbor Rule (ENN) 1: S=T
2: for xxx∈T do
3: if class(xxx) 6=class(kNN(xxx,T))then 4: S=S\{xxx}
5: end if
6: end for
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Edited Nearest Neighbor Rule
Edited Nearest Neighbor Rule (ENN)
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Edited Nearest Neighbor Rule
Edited Nearest Neighbor Rule (ENN)
T ´ecnica de Selec¸ ˜ao
Figura:ENN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Repeated Edited Nearest Neighbor Rule
Repeated Edited Nearest Neighbor Rule (RENN)
T ´ecnica de Selec¸ ˜ao
Da mesma forma que o ENN, inicia com S=T e aplica
repetidamente o processo de eliminac¸ ˜ao do ENN
Faz isso at ´e que n ˜ao ocorram mais remoc¸ ˜oes no subconjunto gerado, isto ´e, todas as inst ˆancias nele contidas estejam em concord ˆancia com a maioria dos seus vizinhos
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Repeated Edited Nearest Neighbor Rule
Repeated Edited Nearest Neighbor Rule (RENN)
T ´ecnica de Selec¸ ˜ao
Algoritmo 4 Repeated Edited Nearest Neighbor Rule (RENN) 1: S=T
2: while S ´e atualizado do
3: S =ENN(S) {Subconjunto gerado pela regra ENN em S}
4: end while
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Repeated Edited Nearest Neighbor Rule
Repeated Edited Nearest Neighbor Rule (RENN)
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos Repeated Edited Nearest Neighbor Rule
Repeated Edited Nearest Neighbor Rule (RENN)
T ´ecnica de Selec¸ ˜ao
Figura:RENN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos All k NN
All k NN
T ´ecnica de Selec¸ ˜ao
Assim como o ENN, o All k NN inicia com S=T
Itera o conjunto de treinamento marcando qualquer inst ˆancia que n ˜ao ´e classificada corretamente pelos seus vizinhos mais pr ´oximos com diferentes valores de k
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos All k NN
All k NN
T ´ecnica de Selec¸ ˜ao
Algoritmo 5 All k NN 1: S=T
2: for i =1 at ´e k do 3: for xxx ∈T do
4: if xxx n ˜ao est ´a marcado e class(xxx) 6=class(NN(xxx,T))then
5: Marque xxx para remoc¸ ˜ao
6: end if
7: end for
8: end for
9: Elimine de S todas as inst ˆancias marcadas para remoc¸ ˜ao
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos All k NN
All k NN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos All k NN
All k NN
T ´ecnica de Selec¸ ˜ao
Figura:All k NN
T ´ecnicas de Selec¸ ˜ao de Prot ´otipos All k NN
Refer ˆencias
G. Gates. The Reduced Nearest Neighbor Rule. IEEE Transactions on Information Theory, IT-18(3):431–433, 1972.
P. E. Hart. The condensed nearest neighbor rule. IEEE Transactions on Information Theory, IT-4:515–516, 1968.
I. Tomek. An experiment with the edited nearest-neighbor rule. IEEE Transactions on Systems, Man, and Cybernetics, 6(6):448–452, 1976. D. L. Wilson. Asymptotic properties of nearest neighbor rules using edited
data. IEEE Transactions on Systems, Man and Cybernetics, 2(3): 408–421, 1972.