Sie sind auf Seite 1von 3

Curso de Data Mining

Sandra de Amo Aula 12N - Classicadores Preguiosos: Mtodo k-NN c e Os classicadores que vimos at o momento, baseados em rvores de deciso, redes neue a a rais, redes bayesianas, so caracterizados pelo fato de utilizarem os dados de treinamento para a constru rem um modelo de classicao, que uma vez encontrado e testado, estar pronto para ca a ser utilizado para classicar qualquer objeto novo. O processo de encontrar o modelo lento, e mas uma vez encontrado, o ato de classicar um novo objeto realizado de forma rpida. e a Tais classicadores so chamados de Classicadores Apressados (Eager Classiers). Existem a diversos mtodos de classicao, amplamente utilizados na prtica, que diferem dos mtodos e ca a e apresentados at agora pelo fato de no utilizarem os dados de treinamento para produzirem e a um modelo de classicaao. O processo de classicao utilizado por estes classicadores, ditos c ca preguiosos, pode ser descrito suscintamente da seguinte forma: a cada novo objeto que se quer c classicar, utiliza-se os dados de treinamento para vericar quais so os objetos nesta base de a dados que mais se assemelham ao novo objeto que se quer classicar. O objeto ser classia cado dentro da classe mais comum a que pertencem os objetos mais similares a ele. Assim, a classicao feita por analogia. Nenhum modelo de classicaao criado. Ao invs disto, ca e c e e a cada novo objeto a ser classicado, os dados de treinamento so escaneados. Obviamente, a classicadores preguiosos so computacionalmente dispendiosos. Eles requerem tcnicas ec a e cientes de armazenamento e so adequados para implementaao em ambientes de computaao a c c paralela. Uma qualidade de tais classicadores que suportam aprendizado incremental. Dois e exemplos de classicadores preguiosos so o k-Nearest Neighbor (k vizinhos mais prximos) e c a o o Case-based Reasoning (racionnio baseado em casos). Nesta aula, vamos discutir somente o k-Nearest Neighbor.

k-Nearest Neighbor

Este mtodo foi descrito primeiramente nos anos 1950. Mas foi somente a partir dos anos e 60, quando computadores mais potentes surgiram, que o mtodo ganhou popularidade. Ele tem e sido muito usado, desde ento, principalmente em reconhecimento de padres. a o Descrio do Mtodo. Suponhamos um conjunto D de tuplas de treinamento. Cada eleca e mento de D uma tupla (x1 ,x2 ,...,xn ,c), onde c a classe ` qual pertence a tupla (x1 ,...,xn ). A e e a tupla (x1 ,...,xn ) pode ser vista como um ponto num espao n-dimensional. Seja Y = (y1 ,...,yn ) c uma nova tupla, ainda no classicada. A m de classic-la, calcula-se as distncias de Y a a a a todas as tuplas de treinamento e considera-se as k tuplas de treinamento mais prximas de Y . o Dentre estas k tuplas, verica-se qual a classe que aparece com mais frequncia. A tupla Y ser e a classicada dentro desta classe mais frequente. a e Como calculada a distncia. A distncia entre duas tuplas calculada utilizando uma e a noao de distncia, por exemplo, a distncia euclidiana: c a a 1

d(X,Y ) =

n (xi yi )2 i=1

Geralmente, preciso normalizar os valores de cada atributo, a m de que todos caiam num e mesmo intervalo de variaao, no havendo muita discrepncia entre os valores dos diferentes c a a atributos, que poderia inuir tendenciosamente no clculo da distncia. O processo de normaa a lizao simples: seja v um valor do atributo A que aparece na tupla Y . Para normalizar v ca e consideramos o valor v [0,1] calculado como: v minA maxA minA onde minA e maxA so os valores m a nimos e mximos que pode assumir o atributo A. Por a exemplo, seja A o atributo Renda-Mensal, e suponhamos que a renda mensal m nima R$ e 300,00 e a mxima R$ 20.000,00. O valor de R$ 1200,00 normalizado para 0,045. a e e v =

Questes diversas o
Algumas questes surgem naturalmente ao se utilizar o mtodo k-NN na prtica: o e a Como calcular a distncia quando existem atributos cujos valores no so numricos, por a a a e exemplo o atributo Cor ? Um mtodo simples o seguinte: se xi = yi ento xi yi = 1, e e a se xi = yi ento xi yi = 0. Outros mtodos mais sosticados podem ser utilizados, onde a e se utiliza esquemas de graduao das diferentes cores. Por exemplo, (vermelho - azul) = ca 0,5 e (azul - preto) = 0,2. O que fazer quando a tupla a ser classicada incompleta, isto , alguns campos esto e e a faltando ? Em geral, se o valor de um atributo A est faltando tanto na tupla X (do a conjunto de treinamento) quanto na tupla Y (a ser classicada), consideramos a diferena c mxima, isto (xi yi ) = 1. Para atributos categricos, sempre consideramos a diferena a e o c mxima (=1) caso o valor do atributo est faltando em uma ou ambas as tuplas. Para a a atributos numricos (normalizados), quando os valores esto faltando em ambas as tuplas, e a considera-se a diferena mxima. Se o valor (v) est presente numa das tuplas e faltando c a a na outra, considera-se a diferena como sendo o mximo entre 1 v e v 0. c a Como determinar o melhor valor de k ? O melhor valor de k pode ser determinado experimentalmente. Comea-se com k = 1, e utiliza-se um conjunto de testes, para estimar o c taxa de erro do classicador. Para cada k, classica-se as tuplas do conjunto de testes e verica-se quantas tuplas foram bem classicadas. O valor de k que d a menor taxa de a e erro ser o escolhido. Normalmente, os valores de k escolhidos so 1, 2, 3 e n, onde n a a o tamanho da base de treinamento.

Questes de Complexidade o

Seja n o tamanho da base de treinamento e k = 1. Para classicar uma nova tupla so a necessrios O(n) comparaoes. Ordenando e armazenando as tuplas de treinamento numa rvore a c a de busca (B-tree), o nmero de comparaoes pode ser reduzido para O(log n). Tcnicas de u c e 2

computaao paralela reduzem o nmero de comparaes a uma constante, independente do c u co valor de n. Uma implementaao do mtodo k-NN est dispon em c e a vel http://www-users.cs.umn.edu/kumar/dmbook/resources.htm

Das könnte Ihnen auch gefallen