Escolar Documentos
Profissional Documentos
Cultura Documentos
Classificador KNN
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
11 /
Definições
13 /
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
19 /
Classificação: Definindo o problema
20 /
Classificação: Definindo o problema
21 /
Classificação: Definindo o problema
22 /
Classificação: Definindo o problema
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.
24 /
Classificação: Definindo o problema
● Atributo (feature)
● Característica ou propriedade representativa de um
determinado objeto.
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 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
32 /
Classificação: Definindo o problema
● Atributos: Exemplos
33 /
Tipos de Aprendizado
34 /
Tipos de Aprendizado
35 /
Tipos de Aprendizado
36 /
Tipos de Aprendizado
37 /
Tipos de Aprendizado
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
48 /
Avaliação de Classificadores
49 /
Avaliação de Classificadores
50 /
Avaliação de Classificadores
51 /
Avaliação de Classificadores
52 /
Avaliação de Classificadores
53 /
Avaliação de Classificadores
54 /
Avaliação de Classificadores
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
58 /
Avaliação de Classificadores
59 /
Avaliação de Classificadores
60 /
Avaliação de Classificadores
61 /
Avaliação de Classificadores
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.
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
● 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
84 /
Rotulação (codificação) das Classes
● 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
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
90 /
Algoritmo KNN
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
● 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
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
110 /
Classificadores baseados em distância mínima
111 /
Classificadores baseados em distância mínima
112 /