SlideShare uma empresa Scribd logo
1 de 96
Baixar para ler offline
Inteligência Artificial – ACH2016
Aula20 – Redes Neurais Profundas
Aprendizado Baseado em Instâncias
Norton Trevisan Roman
(norton@usp.br)
28 de maio de 2019
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 1 / 43
Redes Neurais Profundas
Representação da entrada
Às vezes, é difı́cil saber que caracterı́sticas extrair
A escolha da representação tem um grande efeito no
desempenho de algoritmos de aprendizado
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 2 / 43
Redes Neurais Profundas
Representação da entrada
Às vezes, é difı́cil saber que caracterı́sticas extrair
A escolha da representação tem um grande efeito no
desempenho de algoritmos de aprendizado
Ex: separar 2 categorias de forma linear
Fonte: DL. Goodfellow et al.
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 2 / 43
Redes Neurais Profundas
Representação da entrada
Às vezes, é difı́cil saber que caracterı́sticas extrair
A escolha da representação tem um grande efeito no
desempenho de algoritmos de aprendizado
Ex: separar 2 categorias de forma linear
A escolha da repre-
sentação determina
se um perceptron irá
ou não dar resultados
Fonte: DL. Goodfellow et al.
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 2 / 43
Redes Neurais Profundas
Representação da entrada
Solução: usar o algoritmo para também aprender a
representação
Aprendizado de representação (representation learning)
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 3 / 43
Redes Neurais Profundas
Representação da entrada
Solução: usar o algoritmo para também aprender a
representação
Aprendizado de representação (representation learning)
O objetivo passa também a ser separar os fatores de
variação que explicam os dados observados
As fontes (mesmo não observáveis) que influenciam os dados
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 3 / 43
Redes Neurais Profundas
Representação da entrada
Solução: usar o algoritmo para também aprender a
representação
Aprendizado de representação (representation learning)
O objetivo passa também a ser separar os fatores de
variação que explicam os dados observados
As fontes (mesmo não observáveis) que influenciam os dados
O problema é que muitos fatores de variação
influenciam o conjunto de dados inteiro
Obter uma representação pode ser tão difı́cil quanto resolver
o problema original
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 3 / 43
Redes Neurais Profundas
Representação da entrada
Deep learning
busca então resolver
esse problema
Introduzindo
representações que são
expressas em termos
de outras mais simples
Conceitos complexos
são assim construı́dos
a partir de conceitos
mais simples
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 4 / 43
Redes Neurais Profundas
Representação da entrada
Deep learning
busca então resolver
esse problema
Introduzindo
representações que são
expressas em termos
de outras mais simples
Conceitos complexos
são assim construı́dos
a partir de conceitos
mais simples Fonte: DL. Goodfellow et al.
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 4 / 43
Redes Neurais Profundas
Tipos comuns
Feedforward
Profunda
Ou Perceptron
Multicamadas
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 5 / 43
Redes Neurais Profundas
Tipos comuns
Feedforward
Profunda
Ou Perceptron
Multicamadas
Fonte: DL. Goodfellow et al.
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 5 / 43
Redes Neurais Profundas
Tipos comuns
Feedforward
Profunda
Ou Perceptron
Multicamadas
Uma rede
feedforward mais
profunda que a
normalmente usada Fonte: DL. Goodfellow et al.
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 5 / 43
Redes Neurais Profundas
Tipos comuns
Recorrente
Especializada no
processamento de
dados sequenciais
Fonte: [1]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 6 / 43
Redes Neurais Profundas
Tipos comuns
Recorrente
Especializada no
processamento de
dados sequenciais
Problema:
Leva em conta toda a
sequência de entrada
Fonte: [1]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 6 / 43
Redes Neurais Profundas
Tipos comuns
Recorrente
Especializada no
processamento de
dados sequenciais
Problema:
Leva em conta toda a
sequência de entrada
Fonte: [1]
Podemos não precisar saber isso → seria interessante usar janelas
menores
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 6 / 43
Redes Neurais Profundas
Tipos comuns
Recorrente
Especializada no
processamento de
dados sequenciais
Problema:
Leva em conta toda a
sequência de entrada
Fonte: [1]
Podemos não precisar saber isso → seria interessante usar janelas
menores
Os gradientes propagados por muitos estágios tendem a dissipar ou
explodir (raramente)
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 6 / 43
Redes Neurais Profundas
Tipos comuns
LSTM
Long Short-Term
Memory
Fonte: [2]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 7 / 43
Redes Neurais Profundas
Tipos comuns
LSTM
Long Short-Term
Memory
Variação da rede
recorrente
Fonte: [2]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 7 / 43
Redes Neurais Profundas
Tipos comuns
LSTM
Long Short-Term
Memory
Variação da rede
recorrente
Solução para o
problema da
dissipação do
gradiente
Fonte: [2]
Permite que a rede continue a aprender ao longo de mais
passos
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 7 / 43
Redes Neurais Profundas
Tipos comuns
Convolucional
Especializada no processamento de grades de valores
Ex: imagens
Fonte: [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 8 / 43
Redes Neurais Profundas
Tipos comuns: Convolucional
Camada de Convolução
Varre a entrada, aplicando um filtro k × k a partes dela
Executando operações de modo a reduzir a entrada
Fonte: [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 9 / 43
Redes Neurais Profundas
Tipos comuns: Convolucional
Camada de Pooling
Busca reduzir ainda mais o tamanho do espaço convolvido
Reduzindo os valores dentro de sub-áreas a seu máximo ou média
Fonte: [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 10 / 43
Redes Neurais Profundas
Google TensorFlow Playground
Simulador de
redes feedforward
profundas
Permite ver, dentre
outras coisas, a
saı́da de cada
neurônio
Fonte: https://playground.tensorflow.org/
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 11 / 43
Aprendizado Baseado
em Instâncias
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 12 / 43
Aprendizado Baseado em Instâncias
Modelos Paramétricos
Usam os dados de treinamento para estimar um
conjunto fixo de parâmetros
Ex: Os pesos ωi de uma rede neural
Os exemplos são então resumidos pelos parâmetros
aprendidos
Após o treinamento não precisamos mais dos dados, pois
aprendemos seu padrão de formação
O número de parâmetros é fixo
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 13 / 43
Aprendizado Baseado em Instâncias
Modelos Não Paramétricos
Não são caracterizados por um conjunto limitado de
parâmetros
Estes podem crescer com o número de exemplos vistos
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 14 / 43
Aprendizado Baseado em Instâncias
Modelos Não Paramétricos
Não são caracterizados por um conjunto limitado de
parâmetros
Estes podem crescer com o número de exemplos vistos
Enfoque conhecido como Aprendizado Baseado
em Instâncias (por Exemplos)
Classificam exemplos não vistos por semelhança com o que
já conhece
Toda vez que uma instância deve ser classificada, sua
relação com os exemplos armazenados é examinada, de
modo a dar um valor-alvo para essa instância
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 14 / 43
Modelos Paramétricos
Aprendizado Baseado em Instâncias
Não buscam construir uma função alvo geral a
partir do treinamento
Aprender consiste de simplesmente armazenar os exemplos
de treino
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 15 / 43
Modelos Paramétricos
Aprendizado Baseado em Instâncias
Não buscam construir uma função alvo geral a
partir do treinamento
Aprender consiste de simplesmente armazenar os exemplos
de treino
Vantagens: Fácil e rápido
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 15 / 43
Modelos Paramétricos
Aprendizado Baseado em Instâncias
Não buscam construir uma função alvo geral a
partir do treinamento
Aprender consiste de simplesmente armazenar os exemplos
de treino
Vantagens: Fácil e rápido
Desvantagens:
Tipicamente considera todos os atributos das instâncias
quando tentam buscar exemplos similares na memória
Se o conceito alvo depender de uns poucos atributos, então
instâncias que são mais similares podem ser descartadas
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 15 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo
Armazene todos os
exemplos de treino
Fonte: [4].
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo
Armazene todos os
exemplos de treino
Quando alguém fizer
uma pergunta:
Fonte: [4].
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo
Armazene todos os
exemplos de treino
Quando alguém fizer
uma pergunta:
Encontre o exemplo
conhecido mais próximo
Fonte: [4].
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo
Armazene todos os
exemplos de treino
Quando alguém fizer
uma pergunta:
Encontre o exemplo
conhecido mais próximo
Retorne a resposta
associada a ele
Fonte: [4].
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo
Ideia básica:
É provável que as propriedades de qualquer entrada
particular x sejam similares às dos pontos na vizinhança de x
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 17 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo
Ideia básica:
É provável que as propriedades de qualquer entrada
particular x sejam similares às dos pontos na vizinhança de x
O que significa “ser o vizinho mais próximo”?
Tipicamente, envolve distância euclidiana
x = {a1(x), a2(x), . . . , an(x)}, onde ai (x) são atributos de x
d(xi , xj ) =
v
u
u
t
n
X
r=1
(ar (xi ) − ar (xj ))2
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 17 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo: Problema
Distância euclidiana nem sempre é a melhor
E se quisermos prever o consumo de um carro?
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 18 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo: Problema
Distância euclidiana nem sempre é a melhor
E se quisermos prever o consumo de um carro?
Variáveis:
Peso (em Kg) e número de cilindros
A primeira varia na ordem de centenas ou milhares
A segunda, em unidades
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 18 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo: Problema
Distância euclidiana nem sempre é a melhor
E se quisermos prever o consumo de um carro?
Variáveis:
Peso (em Kg) e número de cilindros
A primeira varia na ordem de centenas ou milhares
A segunda, em unidades
Por mais que aumentemos o número de cilindros, a variação
na distância Euclidiana é pequena
Não corresponde ao fato real
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 18 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo: Solução
Pode-se mudar a escala:
Normalização linear
Para cada atributo aj , faça a0
j =
aj − min(aj )
max(aj ) − min(aj )
Onde min(aj ) é o valor mı́nimo já observado para esse atributo
Contudo, max(aj ) − min(aj ) pode ainda ser muito grande
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 19 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo: Solução
Pode-se mudar a escala:
Normalização linear
Para cada atributo aj , faça a0
j =
aj − min(aj )
max(aj ) − min(aj )
Onde min(aj ) é o valor mı́nimo já observado para esse atributo
Contudo, max(aj ) − min(aj ) pode ainda ser muito grande
Normalização por desvio padrão:
Mudar a escala da entrada de modo a ter média x̄ = 0 e variância
σ2
x = 1
x0
=
x − x̄
σx
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 19 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo: Solução
A mudança de escala coloca os atributos em um
mesmo patamar
De modo que influenciem igualmente
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 20 / 43
Aprendizado Baseado em Instâncias
Vizinho Mais Próximo: Solução
A mudança de escala coloca os atributos em um
mesmo patamar
De modo que influenciem igualmente
Contudo, algumas vezes sabemos que algumas
caracterı́sticas são mais importantes, e não
queremos perder essa informação
Multiplique os valores para essa caracterı́stica por um peso,
aumentando sua influência
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 20 / 43
Vizinho Mais Próximo
Exemplo – Falência
A G F
3 0,2 N
1 0,3 N
4 0,5 N
2 0,7 N
0 1,0 N
1 1,2 N
1 1,7 N
6 0,2 S
7 0,3 S
6 0,7 S
3 1,1 S
2 1,5 S
4 1,7 S
2 1,9 S
A = no
de pagamentos atrasados / ano
G = despesas / receitas
F = Falência
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 21 / 43
Vizinho Mais Próximo
Exemplo – Falência
Suponha que decidimos que
G deveria ser multiplicado
por 5 para ser
apropriadamente comparado
com A
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 22 / 43
Vizinho Mais Próximo
Exemplo – Falência
Suponha que decidimos que
G deveria ser multiplicado
por 5 para ser
apropriadamente comparado
com A
Então usamos a distância
euclidiana com G multiplicado
por 5
d(xi , xj ) =
p
(Ai − Aj )2 + 5(Gi − Gj )2
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 22 / 43
Vizinho Mais Próximo
Exemplo – Falência
Suponha que decidimos que
G deveria ser multiplicado
por 5 para ser
apropriadamente comparado
com A
Então usamos a distância
euclidiana com G multiplicado
por 5
Suponha que temos o ponto
(2, 0.3)
Qual seu valor para F?
d(xi , xj ) =
p
(Ai − Aj )2 + 5(Gi − Gj )2
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 22 / 43
Vizinho Mais Próximo
Exemplo – Falência
Buscamos o ponto mais
próximo
Note que no gráfico os
eixos estão em escala
diferente, por isso o
cı́rculo
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 23 / 43
Vizinho Mais Próximo
Exemplo – Falência
Buscamos o ponto mais
próximo
Note que no gráfico os
eixos estão em escala
diferente, por isso o
cı́rculo
Como o ponto é vermelho,
nossa resposta é “não”
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 23 / 43
Vizinho Mais Próximo
Exemplo – Falência
Vejamos outro ponto:
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 24 / 43
Vizinho Mais Próximo
Exemplo – Falência
Vejamos outro ponto:
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 24 / 43
Vizinho Mais Próximo
Exemplo – Falência
Vejamos outro ponto:
Resposta = Sim
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 24 / 43
Vizinho Mais Próximo
Qual é a hipótese aprendida?
Diferente dos demais algoritmos, não constrói
explicitamente uma descrição da hipótese com base
nos dados que vê
Apenas acha seu valor
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 25 / 43
Vizinho Mais Próximo
Qual é a hipótese aprendida?
Diferente dos demais algoritmos, não constrói
explicitamente uma descrição da hipótese com base
nos dados que vê
Apenas acha seu valor
Partição de Voronoi
Dado um conjunto de pontos (referências), podemos
dividir o espaço em regiões poligonais convexas
Uma para cada referência, representando o conjunto dos
pontos no espaço que estão mais próximos daquela
referência que de qualquer outra
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 25 / 43
Vizinho Mais Próximo
Partição de Voronoi
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 26 / 43
Vizinho Mais Próximo
Partição de Voronoi
Fonte: Adaptado de [4]
A hipótese será representada pelas arestas na
partição de Voronoi que separam a região de pontos
positivos da com pontos negativos
Nunca calculamos esse limite. Ele surge do processo em si
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 26 / 43
Vizinho Mais Próximo
Problemas
Como temos que “lembrar” de todos os dados,
podemos ficar sem memória
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
Vizinho Mais Próximo
Problemas
Como temos que “lembrar” de todos os dados,
podemos ficar sem memória
Apague os pontos que estão longe do limite da partição de
Voronoi
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
Vizinho Mais Próximo
Problemas
Como temos que “lembrar” de todos os dados,
podemos ficar sem memória
Apague os pontos que estão longe do limite da partição de
Voronoi
Ruido:
Ocorre quando não há como fazer uma partição de Voronoi
perfeita. Nesse caso:
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
Vizinho Mais Próximo
Problemas
Como temos que “lembrar” de todos os dados,
podemos ficar sem memória
Apague os pontos que estão longe do limite da partição de
Voronoi
Ruido:
Ocorre quando não há como fazer uma partição de Voronoi
perfeita. Nesse caso:
Ou assumimos que não é ruido, ou seja, que há algum fator válido
que gera esse ponto
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
Vizinho Mais Próximo
Problemas
Como temos que “lembrar” de todos os dados,
podemos ficar sem memória
Apague os pontos que estão longe do limite da partição de
Voronoi
Ruido:
Ocorre quando não há como fazer uma partição de Voronoi
perfeita. Nesse caso:
Ou assumimos que não é ruido, ou seja, que há algum fator válido
que gera esse ponto
Ou dizemos que esse ponto é uma anomalia (outlier) → Representa
um caso incomum que preferimos ignorar, não incorporando à
hipótese
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
Vizinho Mais Próximo
Ruido
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 28 / 43
Vizinho Mais Próximo
Ruido
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 28 / 43
Vizinho Mais Próximo
Ruido
E se quisermos saber
o valor de um ponto
próximo a esse ponto?
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 28 / 43
Vizinho Mais Próximo
Ruido
Encontramos o vizinho
mais próximo
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 29 / 43
Vizinho Mais Próximo
Ruido
Encontramos o vizinho
mais próximo
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 29 / 43
Vizinho Mais Próximo
Ruido
Encontramos o vizinho
mais próximo
Resposta = sim
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 29 / 43
Vizinho Mais Próximo
Ruido
Encontramos o vizinho
mais próximo
Resposta = sim
Consistente com a
primeira visão: o ponto
representa alguma
propriedade importante do
problema Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 29 / 43
Vizinho Mais Próximo
Ruido
Se acharmos que pode
ser ruı́do (uma
anomalia), devemos
mudar o algoritmo de
modo a ignorá-lo
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 30 / 43
Vizinho Mais Próximo
Ruido
Se acharmos que pode
ser ruı́do (uma
anomalia), devemos
mudar o algoritmo de
modo a ignorá-lo
Encontre os k pontos
mais próximos
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 30 / 43
Vizinho Mais Próximo
Ruido
Se acharmos que pode
ser ruı́do (uma
anomalia), devemos
mudar o algoritmo de
modo a ignorá-lo
Encontre os k pontos
mais próximos
Seus k-vizinhos
Fonte: Adaptado de [4]
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 30 / 43
K-Vizinhos Mais Próximos
K-nearest neighbours
Define a vizinhança de um ponto como sendo algo
grande o suficiente para incluir k pontos
k deve ser grande o suficiente para garantir uma estimativa
significativa
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 31 / 43
K-Vizinhos Mais Próximos
K-nearest neighbours
Define a vizinhança de um ponto como sendo algo
grande o suficiente para incluir k pontos
k deve ser grande o suficiente para garantir uma estimativa
significativa
Funciona idêntico ao Vizinho mais Próximo
Exceto que quando queremos saber o valor de um ponto,
buscamos os k pontos mais próximos a ele
Damos, como resposta, a resposta associada à maioria
desses k elementos
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 31 / 43
K-Vizinhos Mais Próximo
Problema
Para k fixo, o tamanho
da vizinhança varia
Grande quando os dados
são esparsos
Pequena para dados
densos
Fonte: AIMA (2a ed.). R&N
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 32 / 43
K-Vizinhos Mais Próximos
Escolha do K
Nada óbvia
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 33 / 43
K-Vizinhos Mais Próximos
Escolha do K
Nada óbvia
Quanto menor, mais a hipótese será sensı́vel a ruido
Maior o risco de overfitting
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 33 / 43
K-Vizinhos Mais Próximos
Escolha do K
Nada óbvia
Quanto menor, mais a hipótese será sensı́vel a ruido
Maior o risco de overfitting
Quanto maior, mais obscura será
No limite, associarı́amos a resposta da maioria dos pontos
no conjunto
Arriscamos não sermos capazes de expressar a hipótese
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 33 / 43
K-Vizinhos Mais Próximos
Escolha do K
Nada óbvia
Quanto menor, mais a hipótese será sensı́vel a ruido
Maior o risco de overfitting
Quanto maior, mais obscura será
No limite, associarı́amos a resposta da maioria dos pontos
no conjunto
Arriscamos não sermos capazes de expressar a hipótese
É comum escolher k por meio de validação cruzada
Veremos mais adiante
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 33 / 43
K-Vizinhos Mais Próximos
Função-alvo
A função-alvo (o que se pretende definir) pode ser
discreta ou contı́nua
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 34 / 43
K-Vizinhos Mais Próximos
Função-alvo
A função-alvo (o que se pretende definir) pode ser
discreta ou contı́nua
Função-alvo discreta:
O resultado será o valor mais comum dentre os k exemplos
de treino mais próximos do ponto-alvo
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 34 / 43
K-Vizinhos Mais Próximos
Função-alvo
A função-alvo (o que se pretende definir) pode ser
discreta ou contı́nua
Função-alvo discreta:
O resultado será o valor mais comum dentre os k exemplos
de treino mais próximos do ponto-alvo
Sejam:
f : Rn
→ V a função-alvo a ser aprendida
V = {v1, . . . , vs} os valores possı́veis para f
ˆ
f a hipótese, definida pelo algoritmo, da função-alvo f (ou seja, a
estimativa feita pelo algoritmo)
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 34 / 43
K-Vizinhos Mais Próximos
Função-alvo discreta – Algoritmo
Treinamento
Para cada exemplo de treino hx, f (x)i, adicione o exemplo à
lista Exemplos
Classificação
Dada uma nova instância xq a ser classificada:
Sejam x1, . . . , xk as k instâncias de Exemplos que estão mais perto
de xq
Retorne ˆ
f (xq) ← O valor mais comum f (xi ) dentre seus k-vizinhos xi
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 35 / 43
K-Vizinhos Mais Próximos
Função-alvo contı́nua
f : Rn
→ R
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 36 / 43
K-Vizinhos Mais Próximos
Função-alvo contı́nua
f : Rn
→ R
Em vez de calcularmos o valor mais comum,
calculamos a média dos k exemplos mais próximos
ˆ
f (xq) ←
k
X
i=1
f (xi )
k
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 36 / 43
K-Vizinhos Mais Próximos
Refinamento: K-vizinhos com pesos
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 37 / 43
K-Vizinhos Mais Próximos
Refinamento: K-vizinhos com pesos
Damos pesos ωi à contribuição de cada vizinho, de
acordo com sua distância ao ponto de interesse xq
Vizinhos mais próximos terão peso maior
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 37 / 43
K-Vizinhos Mais Próximos
Refinamento: K-vizinhos com pesos
Damos pesos ωi à contribuição de cada vizinho, de
acordo com sua distância ao ponto de interesse xq
Vizinhos mais próximos terão peso maior
Para o caso discreto, fazemos o peso proporcional
ao quadrado inverso da distância entre o ponto e xq
ˆ
f (xq) ← argmax
v∈V
k
X
i=1
ωi δ(v, f (xi )), onde ωi =
1
d(xq, xi )2
Para os casos em que d(xq, xi ) = 0, fazemos ˆ
f (xq) = f (xi )
Se houver vários casos assim, ˆ
f (xq) será o valor da maioria
deles
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 37 / 43
K-Vizinhos Mais Próximos
Refinamento: K-vizinhos com pesos
Para o caso contı́nuo, fazemos
ˆ
f (xq) ←
k
X
i=1
ωi f (xi )
k
X
i=1
ωi
Note que
Pk
i=1 ωi é uma constante que normaliza as
contribuições dos vários pesos
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 38 / 43
K-Vizinhos Mais Próximos
A Maldição da Dimensionalidade
Vizinho mais próximo e k-vizinhos funcionam muito
bem para baixas dimensões
Porém, na medida em que aumentam as dimensões, quase
todos os pontos estão longe uns dos outros
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 39 / 43
K-Vizinhos Mais Próximos
A Maldição da Dimensionalidade
Vizinho mais próximo e k-vizinhos funcionam muito
bem para baixas dimensões
Porém, na medida em que aumentam as dimensões, quase
todos os pontos estão longe uns dos outros
Maldição da dimensionalidade:
Ocorre quando a distância entre vizinhos é dominada por um
grande número de atributos irrelevantes
Lembre que a distância é medida com base em todos os atributos
Se um ponto necessitar de poucos atributos para a classificação, ele
pode ser classificado erroneamente, pela proximidade dos outros
atributos (irrelevantes), a outros exemplos
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 39 / 43
K-Vizinhos Mais Próximos
A Maldição da Dimensionalidade: como evitar
Podemos dar pesos diferentes a cada atributo
quando do cálculo da distância
Estes terão que ser determinados via tentativa e erro no
conjunto de treino
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 40 / 43
K-Vizinhos Mais Próximos
A Maldição da Dimensionalidade: como evitar
Podemos dar pesos diferentes a cada atributo
quando do cálculo da distância
Estes terão que ser determinados via tentativa e erro no
conjunto de treino
Podemos eliminar os atributos menos relevantes do
espaço de instâncias
Reduzimos o problema a um de menor dimensionalidade
Seleção de caracterı́sticas (feature selection)
Ex: Principal Component Analysis (PCA), análise fatorial etc
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 40 / 43
Referências
1 Russell, S.; Norvig P. (2010): Artificial Intelligence: A Modern Approach.
Prentice Hall. 2a e 3a ed.
1 Slides do livro: aima.eecs.berkeley.edu/slides-pdf/
2 Mitchell, T.M.: Machine Learning. McGraw-Hill. 1997.
3 Goodfellow, I.; Bengio, Y.; Courville, A. (2016): Deep Learning. MIT
Press.
4 http://ocw.mit.edu/OcwWeb/Electrical-Engineering-
and-Computer-Science/6-034Spring-2005/LectureNotes/index.
htm
5 https://www.codingame.com/playgrounds/243/
voronoi-diagrams/what-are-voronoi-diagrams
6 http://mathworld.wolfram.com/VoronoiDiagram.html
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 41 / 43
Referências
7 https://en.wikipedia.org/wiki/Voronoi_diagram
8 https://www.analyticsvidhya.com/blog/2018/08/
dimensionality-reduction-techniques-python/
9 https://towardsdatascience.com/
deep-learning-feedforward-neural-network-26a6705dbdc7
10 https://towardsdatascience.com/a-comprehensive-guide-to-
convolutional-neural-networks-the-eli5-way-3bd2b1164a53
11 https://towardsdatascience.com/
recurrent-neural-networks-d4642c9bc7ce
12 https://towardsdatascience.com/
recurrent-neural-networks-and-lstm-4b601dd822a5
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 42 / 43
Referências
13 https://medium.com/@curiousily/making-a-predictive-
keyboard-using-recurrent-neural-networks-tensorflow-for-
hackers-part-v-3f238d824218
14 https://towardsdatascience.com/
animated-rnn-lstm-and-gru-ef124d06cf45
15 https://skymind.ai/wiki/lstm
16 https://towardsdatascience.com/a-comprehensive-guide-to-
convolutional-neural-networks-the-eli5-way-3bd2b1164a53
17 https://skymind.ai/wiki/convolutional-network
18 http://cs231n.github.io/convolutional-networks/
Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 43 / 43

Mais conteúdo relacionado

Mais procurados (7)

(ACH2044) Inteligência Artificial - Aula 02
(ACH2044) Inteligência Artificial - Aula 02(ACH2044) Inteligência Artificial - Aula 02
(ACH2044) Inteligência Artificial - Aula 02
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 
(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04(ACH2044) Inteligência Artificial - Aula 04
(ACH2044) Inteligência Artificial - Aula 04
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16
 

Semelhante a (ACH2044) Inteligência Artificial - Aula 20

Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)
iaudesc
 
Aprendizagem Não-Supervisionada
Aprendizagem Não-SupervisionadaAprendizagem Não-Supervisionada
Aprendizagem Não-Supervisionada
Luís Nunes
 
Sistemas Especialistas
Sistemas EspecialistasSistemas Especialistas
Sistemas Especialistas
elliando dias
 

Semelhante a (ACH2044) Inteligência Artificial - Aula 20 (20)

(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11(ACH2055) Arquitetura de Computadores - Aula 11
(ACH2055) Arquitetura de Computadores - Aula 11
 
Introdução a Deep Learning
Introdução a Deep LearningIntrodução a Deep Learning
Introdução a Deep Learning
 
(ACH2044) Sistemas Operacionais - Aula 01
(ACH2044) Sistemas Operacionais - Aula 01(ACH2044) Sistemas Operacionais - Aula 01
(ACH2044) Sistemas Operacionais - Aula 01
 
Representação do conhecimento (rc)
Representação do conhecimento (rc)Representação do conhecimento (rc)
Representação do conhecimento (rc)
 
Aprendizagem Não-Supervisionada
Aprendizagem Não-SupervisionadaAprendizagem Não-Supervisionada
Aprendizagem Não-Supervisionada
 
Fundamentos de banco dados
Fundamentos de banco dadosFundamentos de banco dados
Fundamentos de banco dados
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e Dicas
 
[Jose Ahirton lopes] Do Big ao Better Data
[Jose Ahirton lopes] Do Big ao Better Data[Jose Ahirton lopes] Do Big ao Better Data
[Jose Ahirton lopes] Do Big ao Better Data
 
Resumo c#
Resumo c#Resumo c#
Resumo c#
 
Modelos de previsão de Ocorrências
Modelos de previsão de OcorrênciasModelos de previsão de Ocorrências
Modelos de previsão de Ocorrências
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
Fundamentos de banco dados
Fundamentos de banco dadosFundamentos de banco dados
Fundamentos de banco dados
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
Sistemas Especialistas
Sistemas EspecialistasSistemas Especialistas
Sistemas Especialistas
 
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
[Jose Ahirton Lopes] Deep Learning - Uma Abordagem Visual
 
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
[Ahirton Lopes e Rafael Arevalo] Deep Learning - Uma Abordagem Visual
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...Data Science e Inteligência de dados - Inteligencia artificial e machine lear...
Data Science e Inteligência de dados - Inteligencia artificial e machine lear...
 
Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2Introdução às Redes Neurais - Parte 1/2
Introdução às Redes Neurais - Parte 1/2
 
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual[Jose Ahirton Lopes] Inteligencia Artificial -  Uma Abordagem Visual
[Jose Ahirton Lopes] Inteligencia Artificial - Uma Abordagem Visual
 

Mais de Norton Trevisan Roman

Mais de Norton Trevisan Roman (15)

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06
 
(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23(ACH2001) Introdução à Programação - Aula 23
(ACH2001) Introdução à Programação - Aula 23
 
(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22(ACH2001) Introdução à Programação - Aula 22
(ACH2001) Introdução à Programação - Aula 22
 
(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21(ACH2001) Introdução à Programação - Aula 21
(ACH2001) Introdução à Programação - Aula 21
 
(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20(ACH2001) Introdução à Programação - Aula 20
(ACH2001) Introdução à Programação - Aula 20
 
(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19(ACH2001) Introdução à Programação - Aula 19
(ACH2001) Introdução à Programação - Aula 19
 
(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18(ACH2001) Introdução à Programação - Aula 18
(ACH2001) Introdução à Programação - Aula 18
 
(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17(ACH2001) Introdução à Programação - Aula 17
(ACH2001) Introdução à Programação - Aula 17
 
(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16(ACH2001) Introdução à Programação - Aula 16
(ACH2001) Introdução à Programação - Aula 16
 

Último

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
andrenespoli3
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 

Último (20)

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 

(ACH2044) Inteligência Artificial - Aula 20

  • 1. Inteligência Artificial – ACH2016 Aula20 – Redes Neurais Profundas Aprendizado Baseado em Instâncias Norton Trevisan Roman (norton@usp.br) 28 de maio de 2019 Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 1 / 43
  • 2. Redes Neurais Profundas Representação da entrada Às vezes, é difı́cil saber que caracterı́sticas extrair A escolha da representação tem um grande efeito no desempenho de algoritmos de aprendizado Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 2 / 43
  • 3. Redes Neurais Profundas Representação da entrada Às vezes, é difı́cil saber que caracterı́sticas extrair A escolha da representação tem um grande efeito no desempenho de algoritmos de aprendizado Ex: separar 2 categorias de forma linear Fonte: DL. Goodfellow et al. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 2 / 43
  • 4. Redes Neurais Profundas Representação da entrada Às vezes, é difı́cil saber que caracterı́sticas extrair A escolha da representação tem um grande efeito no desempenho de algoritmos de aprendizado Ex: separar 2 categorias de forma linear A escolha da repre- sentação determina se um perceptron irá ou não dar resultados Fonte: DL. Goodfellow et al. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 2 / 43
  • 5. Redes Neurais Profundas Representação da entrada Solução: usar o algoritmo para também aprender a representação Aprendizado de representação (representation learning) Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 3 / 43
  • 6. Redes Neurais Profundas Representação da entrada Solução: usar o algoritmo para também aprender a representação Aprendizado de representação (representation learning) O objetivo passa também a ser separar os fatores de variação que explicam os dados observados As fontes (mesmo não observáveis) que influenciam os dados Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 3 / 43
  • 7. Redes Neurais Profundas Representação da entrada Solução: usar o algoritmo para também aprender a representação Aprendizado de representação (representation learning) O objetivo passa também a ser separar os fatores de variação que explicam os dados observados As fontes (mesmo não observáveis) que influenciam os dados O problema é que muitos fatores de variação influenciam o conjunto de dados inteiro Obter uma representação pode ser tão difı́cil quanto resolver o problema original Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 3 / 43
  • 8. Redes Neurais Profundas Representação da entrada Deep learning busca então resolver esse problema Introduzindo representações que são expressas em termos de outras mais simples Conceitos complexos são assim construı́dos a partir de conceitos mais simples Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 4 / 43
  • 9. Redes Neurais Profundas Representação da entrada Deep learning busca então resolver esse problema Introduzindo representações que são expressas em termos de outras mais simples Conceitos complexos são assim construı́dos a partir de conceitos mais simples Fonte: DL. Goodfellow et al. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 4 / 43
  • 10. Redes Neurais Profundas Tipos comuns Feedforward Profunda Ou Perceptron Multicamadas Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 5 / 43
  • 11. Redes Neurais Profundas Tipos comuns Feedforward Profunda Ou Perceptron Multicamadas Fonte: DL. Goodfellow et al. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 5 / 43
  • 12. Redes Neurais Profundas Tipos comuns Feedforward Profunda Ou Perceptron Multicamadas Uma rede feedforward mais profunda que a normalmente usada Fonte: DL. Goodfellow et al. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 5 / 43
  • 13. Redes Neurais Profundas Tipos comuns Recorrente Especializada no processamento de dados sequenciais Fonte: [1] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 6 / 43
  • 14. Redes Neurais Profundas Tipos comuns Recorrente Especializada no processamento de dados sequenciais Problema: Leva em conta toda a sequência de entrada Fonte: [1] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 6 / 43
  • 15. Redes Neurais Profundas Tipos comuns Recorrente Especializada no processamento de dados sequenciais Problema: Leva em conta toda a sequência de entrada Fonte: [1] Podemos não precisar saber isso → seria interessante usar janelas menores Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 6 / 43
  • 16. Redes Neurais Profundas Tipos comuns Recorrente Especializada no processamento de dados sequenciais Problema: Leva em conta toda a sequência de entrada Fonte: [1] Podemos não precisar saber isso → seria interessante usar janelas menores Os gradientes propagados por muitos estágios tendem a dissipar ou explodir (raramente) Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 6 / 43
  • 17. Redes Neurais Profundas Tipos comuns LSTM Long Short-Term Memory Fonte: [2] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 7 / 43
  • 18. Redes Neurais Profundas Tipos comuns LSTM Long Short-Term Memory Variação da rede recorrente Fonte: [2] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 7 / 43
  • 19. Redes Neurais Profundas Tipos comuns LSTM Long Short-Term Memory Variação da rede recorrente Solução para o problema da dissipação do gradiente Fonte: [2] Permite que a rede continue a aprender ao longo de mais passos Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 7 / 43
  • 20. Redes Neurais Profundas Tipos comuns Convolucional Especializada no processamento de grades de valores Ex: imagens Fonte: [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 8 / 43
  • 21. Redes Neurais Profundas Tipos comuns: Convolucional Camada de Convolução Varre a entrada, aplicando um filtro k × k a partes dela Executando operações de modo a reduzir a entrada Fonte: [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 9 / 43
  • 22. Redes Neurais Profundas Tipos comuns: Convolucional Camada de Pooling Busca reduzir ainda mais o tamanho do espaço convolvido Reduzindo os valores dentro de sub-áreas a seu máximo ou média Fonte: [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 10 / 43
  • 23. Redes Neurais Profundas Google TensorFlow Playground Simulador de redes feedforward profundas Permite ver, dentre outras coisas, a saı́da de cada neurônio Fonte: https://playground.tensorflow.org/ Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 11 / 43
  • 24. Aprendizado Baseado em Instâncias Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 12 / 43
  • 25. Aprendizado Baseado em Instâncias Modelos Paramétricos Usam os dados de treinamento para estimar um conjunto fixo de parâmetros Ex: Os pesos ωi de uma rede neural Os exemplos são então resumidos pelos parâmetros aprendidos Após o treinamento não precisamos mais dos dados, pois aprendemos seu padrão de formação O número de parâmetros é fixo Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 13 / 43
  • 26. Aprendizado Baseado em Instâncias Modelos Não Paramétricos Não são caracterizados por um conjunto limitado de parâmetros Estes podem crescer com o número de exemplos vistos Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 14 / 43
  • 27. Aprendizado Baseado em Instâncias Modelos Não Paramétricos Não são caracterizados por um conjunto limitado de parâmetros Estes podem crescer com o número de exemplos vistos Enfoque conhecido como Aprendizado Baseado em Instâncias (por Exemplos) Classificam exemplos não vistos por semelhança com o que já conhece Toda vez que uma instância deve ser classificada, sua relação com os exemplos armazenados é examinada, de modo a dar um valor-alvo para essa instância Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 14 / 43
  • 28. Modelos Paramétricos Aprendizado Baseado em Instâncias Não buscam construir uma função alvo geral a partir do treinamento Aprender consiste de simplesmente armazenar os exemplos de treino Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 15 / 43
  • 29. Modelos Paramétricos Aprendizado Baseado em Instâncias Não buscam construir uma função alvo geral a partir do treinamento Aprender consiste de simplesmente armazenar os exemplos de treino Vantagens: Fácil e rápido Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 15 / 43
  • 30. Modelos Paramétricos Aprendizado Baseado em Instâncias Não buscam construir uma função alvo geral a partir do treinamento Aprender consiste de simplesmente armazenar os exemplos de treino Vantagens: Fácil e rápido Desvantagens: Tipicamente considera todos os atributos das instâncias quando tentam buscar exemplos similares na memória Se o conceito alvo depender de uns poucos atributos, então instâncias que são mais similares podem ser descartadas Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 15 / 43
  • 31. Aprendizado Baseado em Instâncias Vizinho Mais Próximo Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
  • 32. Aprendizado Baseado em Instâncias Vizinho Mais Próximo Armazene todos os exemplos de treino Fonte: [4]. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
  • 33. Aprendizado Baseado em Instâncias Vizinho Mais Próximo Armazene todos os exemplos de treino Quando alguém fizer uma pergunta: Fonte: [4]. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
  • 34. Aprendizado Baseado em Instâncias Vizinho Mais Próximo Armazene todos os exemplos de treino Quando alguém fizer uma pergunta: Encontre o exemplo conhecido mais próximo Fonte: [4]. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
  • 35. Aprendizado Baseado em Instâncias Vizinho Mais Próximo Armazene todos os exemplos de treino Quando alguém fizer uma pergunta: Encontre o exemplo conhecido mais próximo Retorne a resposta associada a ele Fonte: [4]. Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 16 / 43
  • 36. Aprendizado Baseado em Instâncias Vizinho Mais Próximo Ideia básica: É provável que as propriedades de qualquer entrada particular x sejam similares às dos pontos na vizinhança de x Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 17 / 43
  • 37. Aprendizado Baseado em Instâncias Vizinho Mais Próximo Ideia básica: É provável que as propriedades de qualquer entrada particular x sejam similares às dos pontos na vizinhança de x O que significa “ser o vizinho mais próximo”? Tipicamente, envolve distância euclidiana x = {a1(x), a2(x), . . . , an(x)}, onde ai (x) são atributos de x d(xi , xj ) = v u u t n X r=1 (ar (xi ) − ar (xj ))2 Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 17 / 43
  • 38. Aprendizado Baseado em Instâncias Vizinho Mais Próximo: Problema Distância euclidiana nem sempre é a melhor E se quisermos prever o consumo de um carro? Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 18 / 43
  • 39. Aprendizado Baseado em Instâncias Vizinho Mais Próximo: Problema Distância euclidiana nem sempre é a melhor E se quisermos prever o consumo de um carro? Variáveis: Peso (em Kg) e número de cilindros A primeira varia na ordem de centenas ou milhares A segunda, em unidades Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 18 / 43
  • 40. Aprendizado Baseado em Instâncias Vizinho Mais Próximo: Problema Distância euclidiana nem sempre é a melhor E se quisermos prever o consumo de um carro? Variáveis: Peso (em Kg) e número de cilindros A primeira varia na ordem de centenas ou milhares A segunda, em unidades Por mais que aumentemos o número de cilindros, a variação na distância Euclidiana é pequena Não corresponde ao fato real Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 18 / 43
  • 41. Aprendizado Baseado em Instâncias Vizinho Mais Próximo: Solução Pode-se mudar a escala: Normalização linear Para cada atributo aj , faça a0 j = aj − min(aj ) max(aj ) − min(aj ) Onde min(aj ) é o valor mı́nimo já observado para esse atributo Contudo, max(aj ) − min(aj ) pode ainda ser muito grande Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 19 / 43
  • 42. Aprendizado Baseado em Instâncias Vizinho Mais Próximo: Solução Pode-se mudar a escala: Normalização linear Para cada atributo aj , faça a0 j = aj − min(aj ) max(aj ) − min(aj ) Onde min(aj ) é o valor mı́nimo já observado para esse atributo Contudo, max(aj ) − min(aj ) pode ainda ser muito grande Normalização por desvio padrão: Mudar a escala da entrada de modo a ter média x̄ = 0 e variância σ2 x = 1 x0 = x − x̄ σx Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 19 / 43
  • 43. Aprendizado Baseado em Instâncias Vizinho Mais Próximo: Solução A mudança de escala coloca os atributos em um mesmo patamar De modo que influenciem igualmente Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 20 / 43
  • 44. Aprendizado Baseado em Instâncias Vizinho Mais Próximo: Solução A mudança de escala coloca os atributos em um mesmo patamar De modo que influenciem igualmente Contudo, algumas vezes sabemos que algumas caracterı́sticas são mais importantes, e não queremos perder essa informação Multiplique os valores para essa caracterı́stica por um peso, aumentando sua influência Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 20 / 43
  • 45. Vizinho Mais Próximo Exemplo – Falência A G F 3 0,2 N 1 0,3 N 4 0,5 N 2 0,7 N 0 1,0 N 1 1,2 N 1 1,7 N 6 0,2 S 7 0,3 S 6 0,7 S 3 1,1 S 2 1,5 S 4 1,7 S 2 1,9 S A = no de pagamentos atrasados / ano G = despesas / receitas F = Falência Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 21 / 43
  • 46. Vizinho Mais Próximo Exemplo – Falência Suponha que decidimos que G deveria ser multiplicado por 5 para ser apropriadamente comparado com A Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 22 / 43
  • 47. Vizinho Mais Próximo Exemplo – Falência Suponha que decidimos que G deveria ser multiplicado por 5 para ser apropriadamente comparado com A Então usamos a distância euclidiana com G multiplicado por 5 d(xi , xj ) = p (Ai − Aj )2 + 5(Gi − Gj )2 Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 22 / 43
  • 48. Vizinho Mais Próximo Exemplo – Falência Suponha que decidimos que G deveria ser multiplicado por 5 para ser apropriadamente comparado com A Então usamos a distância euclidiana com G multiplicado por 5 Suponha que temos o ponto (2, 0.3) Qual seu valor para F? d(xi , xj ) = p (Ai − Aj )2 + 5(Gi − Gj )2 Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 22 / 43
  • 49. Vizinho Mais Próximo Exemplo – Falência Buscamos o ponto mais próximo Note que no gráfico os eixos estão em escala diferente, por isso o cı́rculo Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 23 / 43
  • 50. Vizinho Mais Próximo Exemplo – Falência Buscamos o ponto mais próximo Note que no gráfico os eixos estão em escala diferente, por isso o cı́rculo Como o ponto é vermelho, nossa resposta é “não” Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 23 / 43
  • 51. Vizinho Mais Próximo Exemplo – Falência Vejamos outro ponto: Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 24 / 43
  • 52. Vizinho Mais Próximo Exemplo – Falência Vejamos outro ponto: Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 24 / 43
  • 53. Vizinho Mais Próximo Exemplo – Falência Vejamos outro ponto: Resposta = Sim Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 24 / 43
  • 54. Vizinho Mais Próximo Qual é a hipótese aprendida? Diferente dos demais algoritmos, não constrói explicitamente uma descrição da hipótese com base nos dados que vê Apenas acha seu valor Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 25 / 43
  • 55. Vizinho Mais Próximo Qual é a hipótese aprendida? Diferente dos demais algoritmos, não constrói explicitamente uma descrição da hipótese com base nos dados que vê Apenas acha seu valor Partição de Voronoi Dado um conjunto de pontos (referências), podemos dividir o espaço em regiões poligonais convexas Uma para cada referência, representando o conjunto dos pontos no espaço que estão mais próximos daquela referência que de qualquer outra Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 25 / 43
  • 56. Vizinho Mais Próximo Partição de Voronoi Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 26 / 43
  • 57. Vizinho Mais Próximo Partição de Voronoi Fonte: Adaptado de [4] A hipótese será representada pelas arestas na partição de Voronoi que separam a região de pontos positivos da com pontos negativos Nunca calculamos esse limite. Ele surge do processo em si Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 26 / 43
  • 58. Vizinho Mais Próximo Problemas Como temos que “lembrar” de todos os dados, podemos ficar sem memória Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
  • 59. Vizinho Mais Próximo Problemas Como temos que “lembrar” de todos os dados, podemos ficar sem memória Apague os pontos que estão longe do limite da partição de Voronoi Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
  • 60. Vizinho Mais Próximo Problemas Como temos que “lembrar” de todos os dados, podemos ficar sem memória Apague os pontos que estão longe do limite da partição de Voronoi Ruido: Ocorre quando não há como fazer uma partição de Voronoi perfeita. Nesse caso: Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
  • 61. Vizinho Mais Próximo Problemas Como temos que “lembrar” de todos os dados, podemos ficar sem memória Apague os pontos que estão longe do limite da partição de Voronoi Ruido: Ocorre quando não há como fazer uma partição de Voronoi perfeita. Nesse caso: Ou assumimos que não é ruido, ou seja, que há algum fator válido que gera esse ponto Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
  • 62. Vizinho Mais Próximo Problemas Como temos que “lembrar” de todos os dados, podemos ficar sem memória Apague os pontos que estão longe do limite da partição de Voronoi Ruido: Ocorre quando não há como fazer uma partição de Voronoi perfeita. Nesse caso: Ou assumimos que não é ruido, ou seja, que há algum fator válido que gera esse ponto Ou dizemos que esse ponto é uma anomalia (outlier) → Representa um caso incomum que preferimos ignorar, não incorporando à hipótese Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 27 / 43
  • 63. Vizinho Mais Próximo Ruido Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 28 / 43
  • 64. Vizinho Mais Próximo Ruido Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 28 / 43
  • 65. Vizinho Mais Próximo Ruido E se quisermos saber o valor de um ponto próximo a esse ponto? Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 28 / 43
  • 66. Vizinho Mais Próximo Ruido Encontramos o vizinho mais próximo Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 29 / 43
  • 67. Vizinho Mais Próximo Ruido Encontramos o vizinho mais próximo Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 29 / 43
  • 68. Vizinho Mais Próximo Ruido Encontramos o vizinho mais próximo Resposta = sim Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 29 / 43
  • 69. Vizinho Mais Próximo Ruido Encontramos o vizinho mais próximo Resposta = sim Consistente com a primeira visão: o ponto representa alguma propriedade importante do problema Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 29 / 43
  • 70. Vizinho Mais Próximo Ruido Se acharmos que pode ser ruı́do (uma anomalia), devemos mudar o algoritmo de modo a ignorá-lo Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 30 / 43
  • 71. Vizinho Mais Próximo Ruido Se acharmos que pode ser ruı́do (uma anomalia), devemos mudar o algoritmo de modo a ignorá-lo Encontre os k pontos mais próximos Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 30 / 43
  • 72. Vizinho Mais Próximo Ruido Se acharmos que pode ser ruı́do (uma anomalia), devemos mudar o algoritmo de modo a ignorá-lo Encontre os k pontos mais próximos Seus k-vizinhos Fonte: Adaptado de [4] Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 30 / 43
  • 73. K-Vizinhos Mais Próximos K-nearest neighbours Define a vizinhança de um ponto como sendo algo grande o suficiente para incluir k pontos k deve ser grande o suficiente para garantir uma estimativa significativa Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 31 / 43
  • 74. K-Vizinhos Mais Próximos K-nearest neighbours Define a vizinhança de um ponto como sendo algo grande o suficiente para incluir k pontos k deve ser grande o suficiente para garantir uma estimativa significativa Funciona idêntico ao Vizinho mais Próximo Exceto que quando queremos saber o valor de um ponto, buscamos os k pontos mais próximos a ele Damos, como resposta, a resposta associada à maioria desses k elementos Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 31 / 43
  • 75. K-Vizinhos Mais Próximo Problema Para k fixo, o tamanho da vizinhança varia Grande quando os dados são esparsos Pequena para dados densos Fonte: AIMA (2a ed.). R&N Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 32 / 43
  • 76. K-Vizinhos Mais Próximos Escolha do K Nada óbvia Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 33 / 43
  • 77. K-Vizinhos Mais Próximos Escolha do K Nada óbvia Quanto menor, mais a hipótese será sensı́vel a ruido Maior o risco de overfitting Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 33 / 43
  • 78. K-Vizinhos Mais Próximos Escolha do K Nada óbvia Quanto menor, mais a hipótese será sensı́vel a ruido Maior o risco de overfitting Quanto maior, mais obscura será No limite, associarı́amos a resposta da maioria dos pontos no conjunto Arriscamos não sermos capazes de expressar a hipótese Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 33 / 43
  • 79. K-Vizinhos Mais Próximos Escolha do K Nada óbvia Quanto menor, mais a hipótese será sensı́vel a ruido Maior o risco de overfitting Quanto maior, mais obscura será No limite, associarı́amos a resposta da maioria dos pontos no conjunto Arriscamos não sermos capazes de expressar a hipótese É comum escolher k por meio de validação cruzada Veremos mais adiante Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 33 / 43
  • 80. K-Vizinhos Mais Próximos Função-alvo A função-alvo (o que se pretende definir) pode ser discreta ou contı́nua Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 34 / 43
  • 81. K-Vizinhos Mais Próximos Função-alvo A função-alvo (o que se pretende definir) pode ser discreta ou contı́nua Função-alvo discreta: O resultado será o valor mais comum dentre os k exemplos de treino mais próximos do ponto-alvo Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 34 / 43
  • 82. K-Vizinhos Mais Próximos Função-alvo A função-alvo (o que se pretende definir) pode ser discreta ou contı́nua Função-alvo discreta: O resultado será o valor mais comum dentre os k exemplos de treino mais próximos do ponto-alvo Sejam: f : Rn → V a função-alvo a ser aprendida V = {v1, . . . , vs} os valores possı́veis para f ˆ f a hipótese, definida pelo algoritmo, da função-alvo f (ou seja, a estimativa feita pelo algoritmo) Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 34 / 43
  • 83. K-Vizinhos Mais Próximos Função-alvo discreta – Algoritmo Treinamento Para cada exemplo de treino hx, f (x)i, adicione o exemplo à lista Exemplos Classificação Dada uma nova instância xq a ser classificada: Sejam x1, . . . , xk as k instâncias de Exemplos que estão mais perto de xq Retorne ˆ f (xq) ← O valor mais comum f (xi ) dentre seus k-vizinhos xi Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 35 / 43
  • 84. K-Vizinhos Mais Próximos Função-alvo contı́nua f : Rn → R Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 36 / 43
  • 85. K-Vizinhos Mais Próximos Função-alvo contı́nua f : Rn → R Em vez de calcularmos o valor mais comum, calculamos a média dos k exemplos mais próximos ˆ f (xq) ← k X i=1 f (xi ) k Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 36 / 43
  • 86. K-Vizinhos Mais Próximos Refinamento: K-vizinhos com pesos Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 37 / 43
  • 87. K-Vizinhos Mais Próximos Refinamento: K-vizinhos com pesos Damos pesos ωi à contribuição de cada vizinho, de acordo com sua distância ao ponto de interesse xq Vizinhos mais próximos terão peso maior Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 37 / 43
  • 88. K-Vizinhos Mais Próximos Refinamento: K-vizinhos com pesos Damos pesos ωi à contribuição de cada vizinho, de acordo com sua distância ao ponto de interesse xq Vizinhos mais próximos terão peso maior Para o caso discreto, fazemos o peso proporcional ao quadrado inverso da distância entre o ponto e xq ˆ f (xq) ← argmax v∈V k X i=1 ωi δ(v, f (xi )), onde ωi = 1 d(xq, xi )2 Para os casos em que d(xq, xi ) = 0, fazemos ˆ f (xq) = f (xi ) Se houver vários casos assim, ˆ f (xq) será o valor da maioria deles Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 37 / 43
  • 89. K-Vizinhos Mais Próximos Refinamento: K-vizinhos com pesos Para o caso contı́nuo, fazemos ˆ f (xq) ← k X i=1 ωi f (xi ) k X i=1 ωi Note que Pk i=1 ωi é uma constante que normaliza as contribuições dos vários pesos Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 38 / 43
  • 90. K-Vizinhos Mais Próximos A Maldição da Dimensionalidade Vizinho mais próximo e k-vizinhos funcionam muito bem para baixas dimensões Porém, na medida em que aumentam as dimensões, quase todos os pontos estão longe uns dos outros Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 39 / 43
  • 91. K-Vizinhos Mais Próximos A Maldição da Dimensionalidade Vizinho mais próximo e k-vizinhos funcionam muito bem para baixas dimensões Porém, na medida em que aumentam as dimensões, quase todos os pontos estão longe uns dos outros Maldição da dimensionalidade: Ocorre quando a distância entre vizinhos é dominada por um grande número de atributos irrelevantes Lembre que a distância é medida com base em todos os atributos Se um ponto necessitar de poucos atributos para a classificação, ele pode ser classificado erroneamente, pela proximidade dos outros atributos (irrelevantes), a outros exemplos Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 39 / 43
  • 92. K-Vizinhos Mais Próximos A Maldição da Dimensionalidade: como evitar Podemos dar pesos diferentes a cada atributo quando do cálculo da distância Estes terão que ser determinados via tentativa e erro no conjunto de treino Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 40 / 43
  • 93. K-Vizinhos Mais Próximos A Maldição da Dimensionalidade: como evitar Podemos dar pesos diferentes a cada atributo quando do cálculo da distância Estes terão que ser determinados via tentativa e erro no conjunto de treino Podemos eliminar os atributos menos relevantes do espaço de instâncias Reduzimos o problema a um de menor dimensionalidade Seleção de caracterı́sticas (feature selection) Ex: Principal Component Analysis (PCA), análise fatorial etc Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 40 / 43
  • 94. Referências 1 Russell, S.; Norvig P. (2010): Artificial Intelligence: A Modern Approach. Prentice Hall. 2a e 3a ed. 1 Slides do livro: aima.eecs.berkeley.edu/slides-pdf/ 2 Mitchell, T.M.: Machine Learning. McGraw-Hill. 1997. 3 Goodfellow, I.; Bengio, Y.; Courville, A. (2016): Deep Learning. MIT Press. 4 http://ocw.mit.edu/OcwWeb/Electrical-Engineering- and-Computer-Science/6-034Spring-2005/LectureNotes/index. htm 5 https://www.codingame.com/playgrounds/243/ voronoi-diagrams/what-are-voronoi-diagrams 6 http://mathworld.wolfram.com/VoronoiDiagram.html Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 41 / 43
  • 95. Referências 7 https://en.wikipedia.org/wiki/Voronoi_diagram 8 https://www.analyticsvidhya.com/blog/2018/08/ dimensionality-reduction-techniques-python/ 9 https://towardsdatascience.com/ deep-learning-feedforward-neural-network-26a6705dbdc7 10 https://towardsdatascience.com/a-comprehensive-guide-to- convolutional-neural-networks-the-eli5-way-3bd2b1164a53 11 https://towardsdatascience.com/ recurrent-neural-networks-d4642c9bc7ce 12 https://towardsdatascience.com/ recurrent-neural-networks-and-lstm-4b601dd822a5 Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 42 / 43
  • 96. Referências 13 https://medium.com/@curiousily/making-a-predictive- keyboard-using-recurrent-neural-networks-tensorflow-for- hackers-part-v-3f238d824218 14 https://towardsdatascience.com/ animated-rnn-lstm-and-gru-ef124d06cf45 15 https://skymind.ai/wiki/lstm 16 https://towardsdatascience.com/a-comprehensive-guide-to- convolutional-neural-networks-the-eli5-way-3bd2b1164a53 17 https://skymind.ai/wiki/convolutional-network 18 http://cs231n.github.io/convolutional-networks/ Norton Trevisan Roman(norton@usp.br) 28 de maio de 2019 43 / 43