Você está na página 1de 112

Introdução à Classificação e

Classificador KNN

Tópicos Especiais em Telecomunicações I


Temática: Reconhecimento de Padrões

Prof. David Nascimento Coelho

1/
Agenda

● Histórico
● Obs: Profs Levy Boccato e Romis Attux - Unicamp
● Definições Gerais
● Classificação: Definindo o problema
● Tipos de aprendizado
● Avaliação de Classificadores
● Medidas de Distância
● KNN e Nearest Centroid Classifier
2/
Histórico

● Marcos Históricos
● Anos 1940: John von Neumann – autômatos celulares / auto-
replicação.
● 1943: Warren McCulloch e Walter Pitts – modelo lógico
(“booleano”) do neurônio.
● 1946 – 1953: Macy conferences – Cybernetics.
● 1948: Norbert Wiener – livro Cybernetics.
● 1948/1949: William Grey Walter – “tortoises”.
● 1950: Alan Turing – artigo intitulado Computing Machinery and
Intelligence – Teste de Turing.

3/
Histórico

● Marcos Históricos
● 1950: Claude Shannon – Programming a Computer for Playing
Chess.
● 1955: Allen Newell / Herbert Simon – Logic Theorist: Prova de
teoremas do “Principia Mathematica” de Russell e Whitehead.
Simon: “solução do problema mente/corpo”.
● 1956: Dartmouth Conference: organizada por Marvin Minsky, John
McCarthy, Claude Shannon, Nathan Rochester. Na proposta, foi
utilizada a expressão artificial intelligence (AI). Pretende-se discutir
“computers, natural language processing, neural networks, theory
of computation, abstraction and creativity”. Marca o início da era
de ouro da AI.

4/
Histórico

● Marcos Históricos
● 1958: Frank Rosenblatt – Perceptron. “Perceptron may eventually
be able to learn, make decisions, and translate languages”.
● 1959: Herbert Simon, J. C. Shaw, Allen Newell – General Problem
Solver: busca em grafos como base.
● 1964 – 1966: ELIZA – Joseph Weizenbaum – primeiro chatterbot.
● Final dos anos 1960: Marvin Minsky e Seymour Papert: micro-
worlds, blocks world. Exemplo – Terry Winograd e SHRDLU (1968 –
1970): instruções para operações com “blocos".

5/
Histórico

● Marcos Históricos
● 1960 – 1970: Amplo otimismo sobre o desenvolvimento da AI.
Previsões de que o problema estará resolvido em um período de
tempo “curto”. Expressivo financiamento governamental / militar
(e.g., DARPA).
● Anos 1960 - anos 1970: algoritmos evolutivos surgem em diversos
trabalhos (Rechenberg, Schwefel, Fogel, Holland et al.). O clássico
livro de Holland é de 1975.
● 1969: Minsky e Papert – livro Perceptrons: críticas que
desacreditam o campo das redes neurais, que entra numa “era das
trevas”.

6/
Histórico

● Marcos Históricos
● 1974 – 1980: “Inverno” – decepção com as dificuldades
encontradas. Cortes de financiamento. Críticas à AI: John Lucas,
John Searle et al.
● 1976: Weizenbaum – livro Computer Power and Human Reason –
questões éticas do uso da AI (decisão / escolha).
● 1980 – 1987: Boom da AI – Sistemas especialistas / redes neurais
● 1980: Marco para os sistemas especialistas (Edward Feigenbaum),
baseados em regras (de experts). XCON economiza milhões de
dólares da Digital Equipment Corporation.

7/
Histórico

● Marcos Históricos
● Anos 1980: Financiamento expressivo (EUA, Reino Unido, Japão).
● 1982: Rede de Hopfield, Mapa de Kohonen – renascimento do
paradigma conexionista.
● 1986: Rumelhart, Hinton, Williams, McClelland / Werbos (1974) –
consolidação do processo conhecido como retropropagação de
erro (error backpropagation).
● 1986: Trabalho de Farmer, Packard e Perelson sobre redes
imunológicas. Nos anos 1990, a área de sistemas imunológicos
artificiais se consolida (Forrest, Kephart, Dasgupta et al.).
Posteriormente, importantes desenvolvimentos seriam realizados
por Timmis, Neal, de Castro, Von Zuben et al.
8/
Histórico

● Marcos Históricos
● 1987 – 1993: “Segundo inverno”. Cortes de financiamento /
fechamento de empresas de AI.
● 1993 – 2011: Conquistas importantes. Alguns fatores: aumento
exponencial (lei de Moore) da capacidade de computação;
desenvolvimento da teoria de agentes; métodos probabilísticos
ganham fôlego (e.g. métodos bayesianos); avanços teóricos
importantes (e.g. consolidação das SVMs).
● 1995: Kennedy e Eberhart – Particle Swarm Optimization.
● 1997: Deep Blue derrota Garry Kasparov, então campeão mundial
de xadrez, num match de seis partida.

9/
Histórico

● Marcos Históricos
● 2005: Um robô de Stanford vence a DARPA Grand Challenge. Ele
dirigiu autonomamente por 131 milhas.
● 2011 – dias atuais: Era do “big data” e do “deep learning”.
● 2011: Watson (IBM) vence um desafio de Jeopardy! contra dois
experts humanos.
● 2012: Krizhevsky, Sutskever, Hinton: uma rede convolucional
profunda ganha a competição ILSVRC na base de dados ImageNet
por ampla margem. É um marco de uma revolução que segue em
frente.
● 2016: AlphaGo derrota Lee Sedol, um dos principais mestres de Go
do planeta num match de cinco partidas.
10 /
Definições

● Inteligência Computacional / Artificial


● “Contraponto com "inteligência natural".
Máquinas/Agentes que tentam imitar as características
encontradas em animais e humanos. Responde a um
estimulo externo, e toma decisões. Busca solucionar
determinada atividade/problema”.
● "Uma máquina pensando, se comportando como um
humano, resolvendo problemas ..."

11 /
Definições

● Inteligência Computacional / Artificial


● Diversas aplicações práticas:
● Automação de trabalhos de rotina;
● Reconhecimento de palavras;
● Diagnósticos médicos...
● Soluções de problemas difíceis para seres humanos
● Lista de regras formais e matemáticas
● Xadrez: Deep Blue (IBM) x Kasparov (1997)
● Go: AlphaGo (Google DeepMind) x Lee Sedol
12 /
Definições

● Inteligência Computacional / Artificial


● Maiores desafios:
● Tarefas fáceis para pessoas, mas difíceis de descrever
formalmente.
● Problemas que resolvemos intuitivamente.

13 /
Definições

● Ciência de dados (Data Science)


● “Aplicação de ciência para descobrir valores ocultos dos
dados“
● Collecting, analyzing, modeling data. Using this data to
solve problems.
● "Using data, to cause as much impact as possible to a
company (insights, improve products, create data products,
product recommendation)”
● Good data scientist = Problem solver!
● Statistics + Linear Algebra + Artificial Intelligence.
14 /
Definições

● Aprendizado de Máquina (Machine Learning)


● “Sub-área da inteligência artifical”
● “Machine learning is the science (and art) of
programming computers so they can learn from data”.
(Aurélien Géron, 2017)
● “Field of study that gives computers the ability to learn
without being explicitly programmed”. (Arthur Samuel,
1959)
● "Única abordagem viável para a construção de sistemas
de IA que podem operar em ambientes complicados do
mundo real" (Goodfellow et al. 2016).
15 /
Definições

● Aprendizado de Máquina (Machine Learning)


● “A computer program is said to learn from experience E
with respect to some task T and some performance
measure P, if its performance on T, as measured by P,
improves with experience E”. (Tom Mitchell, 1997)
● "O ponto central está associado à busca por modelos
computacionais que se mostrem capazes de aprimorar
sua habilidade em realizar uma determinada tarefa à
medida que são expostos aos dados disponíveis".
● Dados disponíveis devem ser representativos do
problema.
16 /
Definições

● Padrão (Pattern)
● “Is a regularity in the world, in human-made design, or in
abstract ideas. Any regularly repeated arrangement”
● Reconhecimento de padrões (Pattern Recognition)
● “The process of automatically recognizing patterns in
data by using a machine learning algorithm”
● “Classification of data based on knowledge already
gained or on statistical information extracted from
patterns and/or their representation”.

17 /
Definições

● Reconhecimento de padrões (Pattern Recognition)


● Classificação
● Detectar se transações são suceptíveis de serem fraudulentas;
● Determinar se email é ou não “spam”...
● Regressão
● Prever a receita do próximo ano, o preço de um produto, a
posição de um foguete no próximo instante…
● Agrupamentos (Clustering)
● Recomendar produtos para cada cliente com base no que
clientes similares compraram...
18 /
Classificação: Definindo o problema

●Atribuir uma classe (ou rótulo) para uma certa


amostra ou sinal de entrada
●Realiza a correspondência "mais provável" para a
entrada, tendo em conta a sua características
estatísticas.
●Classificar determinado sinal como pertencente ou
não a um certo número de categorias previamente
estabelecidas.

19 /
Classificação: Definindo o problema

●Dada uma amostra, a qual das classes conhecidas ela


pertence?
● Aplicações em muitas áreas: psicologia, psiquiatria,
fluxo de tráfego, ciência da computação, etc.
●A Classificação Estatística é um tipo de problema do
chamado reconhecimento de padrões.

20 /
Classificação: Definindo o problema

●A classificação é considerada uma instância de


Aprendizado Supervisionado.
●Ou seja, um conjunto de treinamento de observações
corretamente identificadas está disponível.
●O procedimento não supervisionado correspondente
é conhecido como clustering e envolve o agrupamento
de dados em categorias com base em alguma medida
de similaridade ou distância inerente.

21 /
Classificação: Definindo o problema

22 /
Classificação: Definindo o problema

● Para a definição formal, precisa-se:


● Um número finito de K classes: C1, C2, ...,CK
● Um número finito de Ni objetos por classe Ci, i=1,…,K
● Um número finito de p atributos (features) para
representar numericamente cada sinal.
● Um mecanismo de memória e/ou aprendizado.
● Uma regra de decisão para classificar novos objetos.
● Um critério de avaliação do classificador.

23 /
Classificação: Definindo o problema

● Classe (Class)
● Conjunto de objetos / amostras que compartilham um
mesmo conjunto de características ou atributos comuns a
todos.

● Objeto / amostra (object, sample)


● Único exemplar de uma classe conhecida ou não.
● É representado por um conjunto de atributos.

24 /
Classificação: Definindo o problema

● Atributo (feature)
● Característica ou propriedade representativa de um
determinado objeto.

● Vetor de atributos ou padrão (pattern)


● Em geral, mais de um atributo é necessário para
descrever um objeto. Assim, é interessante considerar
um conjunto de atributos organizados na forma de um
vetor.

25 /
Classificação: Definindo o problema

● Atributos: Tipos
● Nominal: cor, identificação, profissão, …
● Ordinal: gosto (ruim, médio, bom), dias da semana , …
● Intervalar: temperatura em Celsius, …
● Racional: peso, tamanho, idade …

● Atributos: Representação
● Deve ser numérica
● (computador entende apenas números)

26 /
Classificação: Definindo o problema

● Atributos: Discretos x Contínuos


● Atributos “inadequados”
● Não contém nenhuma informação relevante para a
separação das classes, não importa o classificador usado.
● Solução: definir novos atributos.

● Atributos Correlacionados
● Podem ser influenciados por um mecanismo comum de
modo que variem juntos. Pode degradar o desempenho.
● Ex: raio e área do círculo, variância e desvio-padrão, etc.
27 /
Classificação: Definindo o problema

● Vetor de atributos
● Os atributos do objeto formam um espaço
multidimensional (espaço de Características).
● Cada objeto é então representado como sendo um ponto
nesse espaço.
● Gráfico de dispersão (scatter plot)

28 /
Classificação: Definindo o problema

● Atributos: Exemplos
● Estatísticos (no domínio do tempo)

29 /
Classificação: Definindo o problema

● Atributos: Exemplos
● Relacionados à entropia

● Relacionados à forma

30 /
Classificação: Definindo o problema

● Atributos: Exemplos
● No domínio da frequência
● Transformada de Fourier
● Módulo da Transformada de Fourier
● Fase Transformada de Fourier
● Concentração Espectral
● Densidade Espectral de Potência
● Atributos Estatísticos da Transformada de Fourier
● Atributos Estatísticos da Densidade Espectral de Potência

31 /
Classificação: Definindo o problema

● Atributos: Exemplos
● Baseados em Histograma

● Baseados em outras transformadas


● Wavelet
● Short-time Fourier Transform (STFT)
● Coeficientes Mel-Cepstrais

32 /
Classificação: Definindo o problema

● Atributos: Exemplos

33 /
Tipos de Aprendizado

● Quanto ao tipo de treinamento


● Supervisionado
● Semi-supervisionado
● Não supervisionado
● Reforço

34 /
Tipos de Aprendizado

● Quanto ao tipo de treinamento


● Supervisionado
● Consiste em apresentar um padrão a ser reconhecido
juntamente com a resposta que o sistema deve fornecer ao
deparar-se novamente com o esse padrão
● Guiado por um “professor” externo que possui conhecimento
sobre o ambiente
● Parâmetros do sistema são ajustados por apresentações
sucessivas do padrão de modo a reproduzir comportamento do
“professor”

35 /
Tipos de Aprendizado

● Quanto ao tipo de treinamento


● Não-supervisionado
● Não tem “crítico” ou “professor” externo, apenas os dados de
entrada
● Busca extrair as propriedades estatisticamente relevantes
● Clustering: descobre categorias automaticamente
● Quantização: atribui valores discretos para um atributo que
aceita infinitos valores

36 /
Tipos de Aprendizado

● Quanto ao tipo de treinamento


● Semi-supervisionado
● Combina uma pequena quantidade de amostras classificadas
com um grande número de amostras não classificadas para
produzir melhores classificadores
● Tem um “professor” externo apenas para parte dos exemplos
de treinamento

37 /
Tipos de Aprendizado

● Quanto ao tipo de treinamento


● Por reforço
● Processo de tentativa e erro que procura maximizar sinal de
reforço guiado por um “crítico” externo
● Se ação tomada por sistema é seguida por estado satisfatório,
sistema é fortalecido, caso contrário, sistema é enfraquecido
● Tipos de reforço: Positivo (recompensa), Negativo (punição) e
Nulo
● Obs: “universo programado”

38 /
Tipos de Aprendizado

● Quanto ao modelo
● Classificadores Paramétricos
● Partem da premissa de que os objetos seguem uma
distribuição conhecida
● Muitas vezes se considera a distribuição normal
● Esta hipótese conduz, em geral, a superfícies de decisão com
formas simples (linear ou quadrática)

39 /
Tipos de Aprendizado

● Quanto ao modelo
● Classificadores Paramétricos: Linear
● Uma superfície de decisão (ou separação) que separa as
amostras é obtida a partir da combinação linear dos atributos

40 /
Tipos de Aprendizado

● Quanto ao modelo
● Classificadores Paramétricos: Quadrático
● Uma superfície de decisão (ou separação) que separa as
amostras é obtida a partir da combinação quadrática dos
atributos.

41 /
Tipos de Aprendizado

● Quanto ao modelo
● Não-paramétricos
● Não se conhece o comportamento estatístico dos dados
● Não existe informação a priori sobre a distribuição de
probabilidade ou as funções discriminantes
● Podem utilizar uma função de distância como medida de
similaridade entre as amostras (um objeto desconhecido é
atribuído a classe a que menos se distancia)
● Ex: KNN (K-nearest neighbors ou K-vizinhos mais próximos)

42 /
Tipos de Aprendizado

● Quanto ao modelo
● Outra forma de definir:
● Número fixo de parâmetros x
● Número de parâmetros cresce com o número de dados
● Qual utilizar?
● Depende da credibilidade do modelo paramétrico
● Com baixo número de amostras de treino as técnicas não
paramétricas conduzem, em geral, a melhores desempenhos
do que as técnicas paramétricas, mesmo quando o modelo é
correto.

43 /
Tipos de Aprendizado

● Quanto à hierarquia
● Hierárquico x Não-hierárquico
● Se referem principalmente a maneira como grupos são
divididos e/ou organizados
● Métodos Hierárquicos: constroem uma hierarquia de
partições, ou seja, existe algum tipo de similidade ou
relação entre grupos
● Métodos Não-Hierárquicos: não existe nenhum relação
ou similidade entre grupos. É construída uma partição
dos dados, baseando-se nas características que estes
objetos possuem.

44 /
Tipos de Aprendizado

● Quanto à hierarquia
● Ex1: relações evolutivas entre diferentes grupos de
organismos biológicos (árvore filogenética)

45 /
Tipos de Aprendizado

● Quanto à hierarquia

46 /
Avaliação de Classificadores

● Espera-se de um classificador:
● Boa taxa de acertos para os dados não-supervisionados
(boa acurácia durante a fase de teste).
● Pouca sensibilidade ao uso de diferentes amostras de
dados
● Como obter conjuntos de treino e teste?
● Particionar o conjunto de dados conhecidos em
subconjuntos mutualmente exclusivos
● Utilizar alguns destes subconjuntos para treinamento e o
restante dos subconjuntos para o teste ou validação do
modelo.
47 /
Avaliação de Classificadores

● Particionamento: Hold out (Split-Sample)


● Uma das técnica mais simples. Faz uma única partição da
amostra A maior parte dos dados é usada como dados de
treinamento, e o restante é usado como dados de teste
● Ex.: Treinamento 2/3 e teste 1/3

48 /
Avaliação de Classificadores

● Particionamento: Hold out (Split-Sample)


● Indicado para uma grande quantidade de dados.
● Gera problemas para pequena quantidade de dados
● Quanto menor o conjunto de treinamento, maior a
variância do classificador (instabilidade)
● Menor o conjunto de teste, menos confiável
● Classes podem ser sub-representadas ou super-
representadas

49 /
Avaliação de Classificadores

● Particionamento: Random subsampling


● Múltiplas execuções de Holdout, com diferentes
partições treinamento-teste escolhidas de forma
aleatória
● Não pode haver interseção entre os conjuntos de teste e
treinamento
● Permite uma estimativa de erro mais precisa
● Erro de classificação = média da taxa de erro de
classificação obtida para cada execução

50 /
Avaliação de Classificadores

● Particionamento: Random subsampling


● Ex: duas execuções

51 /
Avaliação de Classificadores

● Particionamento: Cross Validation


● Validação cruzada
● Classe de métodos de particionamento de dados
● Muito útil quando quantidade de dados disponível é
pequena
● Consiste em particionar o conjunto de dados em
subconjuntos mutualmente exclusivos
● Utiliza-se alguns subconjuntos para treinamento e o
restante para teste
● Métodos: “K-fold” e “Leave-one-out”

52 /
Avaliação de Classificadores

● Particionamento: Cross Validation – K-fold


● Consiste em dividir o conjunto total de dados em k
subconjuntos mutualmente exclusivos do mesmo
tamanho

● A cada iteração, uma das partições é usada para testar o


modelo e as outras k-1 são usadas para treinar o modelo

53 /
Avaliação de Classificadores

● Particionamento: Cross Validation – K-fold

54 /
Avaliação de Classificadores

● Particionamento: Cross Validation – K-fold


● Cada objeto participa o mesmo número de vezes do
treinamento: k-1 vezes

● Cada objeto participa o mesmo número de vezes do


teste: 1 vez

● Taxa de erro = média dos erros de validação das k


partições

55 /
Avaliação de Classificadores

● Particionamento: Leave-one-out
● Caso particular do k-fold com k = N (total de dados)

56 /
Avaliação de Classificadores

● Particionamento: Leave-one-out
● Vantagens:
● Treinamento com mais dados
● Estimativa de erro é não tendenciosa, ou seja, tende à taxa
verdadeira

● Desvantagem:
● Alto custo computacional (indicado para uma quantidade
pequena de dados)

57 /
Avaliação de Classificadores

● Matriz (ou tabela) de confusão


● Cada linha da matriz representa as instâncias em uma
classe prevista, enquanto cada coluna representa as
instâncias em uma classe real (ou vice-versa).

● Cada elemento (ou casa) possui a proporção (ou


quantidade) de casos referente a ela

58 /
Avaliação de Classificadores

● Matriz (ou tabela) de confusão

59 /
Avaliação de Classificadores

● Matriz (ou tabela) de confusão

60 /
Avaliação de Classificadores

● Matriz (ou tabela) de confusão

61 /
Avaliação de Classificadores

● Matriz (ou tabela) de confusão


● Estatísticas:
● True or False Positive; True or false negative
● Precision (precisão)
● “Dado que classificou como positivo, quantas vezes acertou?”
● Recall or Sensitivity (sensibilidade)
● “Dado que a amostra é positiva, quantas vezes acertou?”
● Specificity (especificidade)
● Accuracy (acurácia)
● F1 Score
● Matthews Correlation Coefficient (MCC)

62 /
Medidas de Distância

● Definição
● Entende-se por distância a medida da separação de 2
objetos (Comprimento do segmento de reta que os liga)
● Em reconhecimento de padrões, a distância indica a
dissimilaridade ou afastamento entre dois atributos ou
vetores de atributos.

63 /
Medidas de Distância

● Aplicações
● Pode ser utilizada para indicar a dissimilaridade ou
afastamento entre um vetor de atributos e uma classe
● Pelo centroide ou elemento mais próximo

64 /
Medidas de Distância

● Aplicações
● Pode ser utilizada para indicar a dissimilaridade ou
afastamento entre duas classes distintas
● Pelo centroide ou elemento mais próximo

65 /
Medidas de Distância

● Métrica
● Formalização do conceito de distância
● Um espaço onde exista uma métrica definida é chamado
de espaço métrico.
● Para uma função ser considerada uma distância, ou
métrica, entre dois vetores de atributos, ela deve seguir
alguns axiomas (consensos iniciais).

66 /
Medidas de Distância

● Métrica
● Axiomas (ou propriedades) que definem
● 𝑑 𝑥, 𝑦 = 𝑑(𝑦, 𝑥)
● 𝑑 𝑥, 𝑦 ≥ 0
● 𝑑 𝑥, 𝑥 = 0

● Outras propriedades:
● 𝑑 𝑥, 𝑦 = 0, se e somente se x = 𝑦

● 𝑑 𝑥, 𝑦 ≤ 𝑑 𝑥, 𝑧 + 𝑑 𝑧, 𝑦 → desigualdade triangular

67 /
Medidas de Distância

● Métrica
● Desigualdade triangular

68 /
Medidas de Distância

● Distância de Minkowski
● Métrica para o Espaço Euclidiano e que serve de
generalização para outras distâncias.
● “Distância de Minkowski de ordem s”
● City-block (ou Manhattan): 𝑠=1
● Euclidiana: 𝑠=2
● Chebyshev (ou Chessboard): 𝑠 → +∞
● “Mínima”: 𝑠 → −∞

69 /
Medidas de Distância

● Distância de Minkowski
● Formalização:

● City-block (𝑠 = 1)
● Somatório dos módulos das diferenças dos atributos
● Depende da rotação do sistema de coordenadas, mas não
depende de sua reflexão em torno de um eixo ou suas
translações.

70 /
Medidas de Distância

● Distância de Minkowski
● City-block (𝑠 = 1)

71 /
Medidas de Distância

● Distância de Minkowski
● Euclidiana (𝑠 = 2)
● Distância mais comum entre dois pontos
● “Medida com uma régua”
● É invariante a:
● Rotação do sistema de coordenadas
● Reflexão em torno de um eixo
● Translações

72 /
Medidas de Distância

● Distância de Minkowski
● Euclidiana (𝑠 = 2)

73 /
Medidas de Distância

● Distância de Minkowski
● Chebyshev
● Considera o máximo valor dentro os módulos das diferenças
entre dois pontos.

74 /
Medidas de Distância

● Distância de Minkowski
● Comparações
Euclidiana City-block Chebyshev

75 /
Medidas de Distância

● Distância de Mahalanobis
● Se baseia nas correlações entre atributos, com as quais
distintos padrões podem ser identificados e analisados.
● Introduzida pelo indiano Prasant Chandra Mahalanobis
● Formalização

76 /
Medidas de Distância

● Distância de Mahalanobis
● Leva em consideração a variância de cada atributo, assim
como a covariância entre eles.
● Transforma os dados em dados normalizados não
correlacionados e calcula a distância Euclidiana para os dados
transformados
● É invariante à escala (não depende da escala das medições)

77 /
Medidas de Distância

● Distância de Mahalanobis
● Os pontos A e B possuem as mesmas distâncias
euclidianas da média (centro da elipse).
● No entanto, o ponto B é claramente "mais diferente" da
população do que o ponto A

78 /
Medidas de Distância

● Distância de Mahalanobis
● Se a matriz de covariância for igual a identidade, a
distância de Mahalanobis é igual à distância Euclideana.

● Se a matriz de covariância é diagonal, a medida de


distância resultante é igual à distância Euclideana
normalizada

79 /
Medidas de Distância

● Distância Quadrática
● Generalização da distância de Mahalanobis
● Leva em consideração a relação entre os atributos

● Matriz “A” deve ser simétrica e positiva definida.


● Deste modo, 𝑑 𝑋, 𝑌 ≥ 0
● Matriz “A” deve ser calculada de acordo com o problema
● Se 𝐴 = 𝑆, temos a distância de Mahalanobis.
● Se 𝐴 = 𝐼, temos a distância Euclideana.
80 /
Normalização/Padronização dos dados

● Objetivo
● Prática realizada para evitar que determinado algoritmo
fique enviesado (biased) para variáveis com maior ordem
de grandeza.
● Z-Score
● Também conhecido como “escore padronizado”
● Indica o quanto “acima ou abaixo da média” um
determinado escore está em termos de unidades
padronizadas de desvio.

81 /
Normalização/Padronização dos dados

● Z-Score
● Calculado a partir da média e desvio padrão dos dados,
indica quantas unidades de desvio padrão uma
observação ou dado está acima ou abaixo da média.
𝑥𝑖 − 𝜇𝑖
𝑧𝑖 =
𝜎𝑖
● Permite que se compare duas amostras obtidas em
escalas diferentes de medição.
● Retorna uma versão centralizada (média 0) e ajustada
(desvio padrão unitário) dos atributos.

82 /
Normalização/Padronização dos dados

● Entre 0 e 1
𝑥𝑖 − 𝑥𝑚𝑖𝑛
𝑥ҧ𝑖 =
𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛
● Entre -1 e +1
𝑥𝑖 − 𝑥𝑚𝑖𝑛
𝑥ҧ𝑖 = 2 −1
𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛

83 /
Rotulação (codificação) das Classes

●Atribuir, a cada classe de um problema, um número


ou vetor (rótulo) que codifique unicamente esta.
● Ex: Conjunto de dados “Iris (Fisher)”
● Classes: Vírginica, Setosa, Versicolor.
● Número de classes (𝑁𝑐 ): 3
● Rótulos Sequenciais:
● Classses: {0, 1, 2}
● 𝐶 = 0 ou 𝐶 = 1 ou 𝐶 =2

84 /
Rotulação (codificação) das Classes

●Atribuir, a cada classe de um problema, um número


ou vetor (rótulo) que codifique unicamente esta.
● Rótulos Binários
● 𝐶 = [1 0 0]𝑇 ou 𝐶 = [0 1 0]𝑇 ou 𝐶 = [0 0 1]𝑇

● Rótulos Bipolares:
● 𝐶 = [1, −1, −1]𝑇 ou 𝐶 = [−1,1, −1]𝑇 ou 𝐶 = [−1, −1,1]𝑇

85 /
Algoritmo KNN

● Definições
● K-vizinhos mais próximos (K-Nearest Neighbors)
● Método não-paramétrico
● Em geral, definido em termos de distância Euclidiana

● Porém, outras distâncias podem ser utilizadas


● Ex: Mahalanobis

86 /
Algoritmo KNN

● Definições
● Vantagens de utilizar outras distâncias:
● “Algumas direções podem ser mais importantes que outras
para a classificação”.

87 /
Algoritmo KNN

● Ideia básica
● Usa as k instâncias mais similares (vizinhos mais próximos) para
realizar uma classificação por votação
● Se anda como um pato, “quacks” como um pato, então
provavelmente é um pato

88 /
Algoritmo KNN

● Ideia básica
● Armazena-se todos os dados de treinamento
● Cada instância corresponde a um ponto no espaço “n-
dimensional”
● Estes dados são usados para predizer a qual classe
pertence uma instância desconhecida usando a distância

89 /
Algoritmo KNN

● Classificando um novo objeto


● 1) Calcule a distância deste para todos os objetos do
treinamento
● 2) Obtenha os k objetos do treinamento mais similares
(mais próximos)
● 3) Classifique o objeto desconhecido como pertencente a
classe da maioria dos k vizinhos

90 /
Algoritmo KNN

● Qual a classe do círculo verde?


● A) Para K = 3
● B) Para K = 5

91 /
Algoritmo KNN

● E em caso de empate?
● Considerar apenas os k-1 vizinhos mais próximos
● Em caso de novo empate, repetir esse processo
● Ex: K = 4

92 /
Algoritmo KNN

● Como escolher o valor de k?


● K muito pequeno
● Sensível a ruído, a classificação das amostras pode ser instável
● K muito grande
● Mais robusto a ruído
● Porém, se K for maior que o número de amostras de alguma
das classes, a vizinhança do objeto-teste tende a incluir objetos
de outras classes, podendo levar a erros
● Heurística
● 𝐾 = 𝑁 1Τ2
93 /
Algoritmo KNN

● Necessidade de normalização!
● Evita que certos atributos dominem a medida de
distância
● Exemplo:
● Altura de um adulto: 1.4m a 2.1m
● Peso de um adulto: 50Kg a 130Kg
● Faixa salarial: R$400 a R$30.000

94 /
Algoritmo KNN

● Necessidade de normalização!

95 /
Algoritmo KNN

● Exemplo 1:

96 /
Algoritmo KNN

● Exemplo 1:
● Passo 1: normalização
● Ex: z-score

97 /
Algoritmo KNN

● Exemplo 1:
● Passo 1: normalização
● Ex: z-score

98 /
Algoritmo KNN

● Exemplo 1:
● Passo 2: calcular as distâncias da amostra desconhecida
para cada uma das amostras de treinamento

99 /
Algoritmo KNN

● Exemplo 1:
● Passo 3: identificar as “k” amostras mais próximas
● Ex: K = 3

100 /
Algoritmo KNN

● Exemplo 1:
● Passo 3: identificar as “k” amostras mais próximas
● Ex: K = 5

101 /
Algoritmo KNN

● Vantagens
● Não requer modelo para os dados (não-paramétrico)
● Ideal para conjuntos de dados pequenos ou médios
● Pode ser paralelizado

● Desvantagens
● Custo computacional e de armazenamento alto
● A constante K usada para definir o número de vizinhos é obtida por
tentativa e erro (ou validação cruzada).
● Sua precisão pode ser severamente degradada pela presença de
ruído ou atributos irrelevantes
102 /
Algoritmo KNN

● Algoritmo NN
● Uma amostra desconhecida é considerada como
pertencente a mesma classe da amostra conhecida que
apresentar a menor distância até ela
● É um caso particular do algoritmo KNN com K = 1

103 /
Algoritmo KNN

● Aprendizado baseado em instâncias


● KNN é um exemplo dessa classe de algoritmos
● Durante o treinamento, os métodos de aprendizagem
baseados em instâncias simplesmente armazenam os
exemplos de treinamento.
● Métodos de aprendizagem baseados em instâncias
assumem que as instâncias podem ser representadas
como pontos em um espaço euclidiano
● Algoritmos que comparam novas instâncias do problema
com instâncias vistas no treinamento
104 /
Algoritmo KNN

● Aprendizado baseado em instâncias


● Têm-se um conjunto de distâncias (medida de
dissimilaridade) entre a nova instância e todos os
exemplos de treinamento.
● É um tipo de aprendizado preguiçoso (lazy learning)
● Generalização além dos dados de treinamento só é feita até
que haja um objeto novo para classificar.
● Diferente de aprendizado ansioso (eager learning)
● Sistema tenta generalizar os dados de treinamento antes de
“receber uma consulta”.

105 /
Nearest Centroid Classifier

● Definições
● Também conhecido como algoritmo do protótipo mais
próximo (nearest prototype classifier)
● Similar ao algoritmo NN
● Atribui uma observação à classe de amostras de
treinamento cujo centroide (média) se encontra mais
próximo

106 /
Nearest Centroid Classifier

107 /
Nearest Centroid Classifier

108 /
Nearest Centroid Classifier

● Definições
● Menor complexidade computacional e menos memória
● Em comparação com o algoritmo KNN!
● Não necessita armazenar toda a base de dados
● Realiza uma menor quantidade de cálculos de distância
● Não funciona muito bem em muitas situações
● Não leva em conta o formato da classe no gráfico de dispersão
(nuvem de dados da classe), mas apenas o centroide da nuvem

109 /
Classificadores baseados em distância mínima

● O que pode causar desempenho ruim?


● Atributos inadequados
● Atributos correlacionados
● As superfícies de decisão podem ser não lineares
● Existência de subclasses distintas
● Espaço de padrões muito complexo

110 /
Classificadores baseados em distância mínima

● O que pode causar desempenho ruim?

111 /
Classificadores baseados em distância mínima

● O que pode causar desempenho ruim?

112 /

Você também pode gostar