Aula 6

Propaganda
Reconhecimento de Padrões
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Escola Superior de Tecnologia – Engenharia Informática
Reconhecimento de Padrões
Prof. João Ascenso
Sumário: Métodos não paramétricos
„
Introdução aos métodos não paramétricos
„
Janelas de Parzen
„
Método dos k vizinhos mais próximos
„
Classificação com o método dos k vizinhos mais
próximos
„
Distâncias (métricas)
„
Redução da dimensionalidade (PCA)
26-11-2003
2
Métodos não paramétricos
„
Na estimação de Bayes e de máxima verosimilhança a
forma das probabilidades é conhecida:
„
„
„
„
Na prática, as formas paramétricas mais conhecidas não são
adequadas a muitos problemas do mundo real.
Em particular, a maior parte das formas paramétricas são
unimodais enquanto muitos problemas práticos envolvem
densidades multimodais
Uma forma de ultrapassar este obstáculo é utilizar uma mistura de
densidades.
A outra forma é utilizar a estimação de parâmetros não
paramétrica
26-11-2003
3
Técnicas de estimação de parâmetros não paramétrica
„
Na estimação não paramétrica:
„
„
„
Existem dois tipos principais de estimação não paramétrica
de parâmetros no reconhecimento de padrões:
„
„
„
Não se assume que se conhece a forma de distribuição.
No entanto, calcula-se uma estimativa da função densidade de
probabilidade a partir dos dados de treino.
Estimação das funções de verosimilhança a partir das amostras de
treino.
Estimação directa das probabilidades à priori.
O método mais simples de estimação de parâmetros é o
método do histograma.
26-11-2003
4
Distribuição para características binárias
„
„
As características só podem assumir os valores 0,1.
Uma característica binária têm a probabilidade:
„
„
„
P(x = 1) = p
P(x = 0) = 1-p
E escreve-se da forma:
P( x) = p (1 − p )
x
„
(1− x )
Para um vector de d características i.i.d.
d
P( x) = ∏ p (1 − p)
xi
(1− xi )
i =1
26-11-2003
5
Método do histograma
„
Divide-se o espaço de amostras em intervalos ou células e
aproxima-se a densidade no centro de cada célula por uma
fracção de pontos dos dados de treino:
„
Intervalos de largura h e origem em x0,as células são definidas por:
⎡⎣ x0 + mh; x0 + ( m − 1) h⎤⎦
„
O histograma é definido como:
26-11-2003
6
Método do histograma
26-11-2003
7
Método do histograma
„
h controla a granularidade da estimativa:
26-11-2003
8
Método do histograma
„
Se h é largo:
„
„
„
Se h é estreito:
„
„
A probabilidade no intervalo é estimada com mais fiabilidade, uma
vez que é baseada num maior número de amostras.
Por outro lado, a densidade estimada é plana numa região muito
larga e a estrutura fina da distribuição é perdida.
Preserva-se a estrutura fina da densidade, mas o grau de
confiança diminui (no limite, pode haver intervalos sem amostras).
Regra empírica:
„
Sendo d o número de dimensões, o número de intervalos ou
1
células deve ser:
(n) d +1
26-11-2003
9
Método do histograma: problemas
„
Então, para ter nI intervalos por dimensão:
nI ≈ (n)
„
„
sao necessarias n ≈ (nI ) d +1 amostras de treino
Exemplo: d=5;10 intervalos ⇒ n ≈ 106
Problemas:
„
„
„
„
„
1
d +1
O histograma é descontínuo, é um artefacto da escolha dos
intervalos.
A escolha da origem pode ter um efeito significativo na estimativa
da densidade.
O número de intervalos cresce exponencialmente com o número
de dimensões.
Necessário um n.º elevado de amostras de treino.
Não é muito usado, apenas para visualização dos dados.
26-11-2003
10
Conceitos fundamentais
„
A maior parte das técnicas não paramétricas de estimação
de parâmetros assentam nos seguintes teoremas:
„
A probabilidade P que um vector x esteja contido na região R é
dado por:
P =
∫
p ( x)dx
R
„
Se tivermos n amostras, a probabilidade de k das n amostras
fazerem parte de R é:
Pk
⎛n⎞
= ⎜⎜ ⎟⎟ P
⎝k ⎠
26-11-2003
k
(1 − P ) n − k
E[k ] = nP
11
Conceitos fundamentais
„
„
„
A distribuição binomial possui um pico muito acentuado em
torno do valor esperado.
O número de amostras observadas em R (kobs) deve ser
aproximadamente igual a kobs ≈ E[k] = nP
O que leva a P = kobs/n
26-11-2003
12
Conceitos fundamentais
26-11-2003
13
Conceitos fundamentais
„
Se assumirmos p(x) como uma função contínua e a região R
tão pequena que p(x) não varia, vamos ter:
P =
∫
p ( x ) d x ≈ p ( x ') V
R
„
„
„
em que x’ é um ponto na região R e
V é o volume no espaço R
Combinando as equações temos:
k obs / n
p ( x ') ≅
V
26-11-2003
14
Conceitos fundamentais
„
Existem duas aproximações nas relações anteriores:
„
„
„
Se k (ou n) tender para infinito
ou V convergir para zero.
Então estas aproximações vão convergir para valores exactos.
26-11-2003
15
Conceitos fundamentais
„
De forma a estimar a densidade em x defini-se as seguintes
regiões que contêm o ponto x:
„
„
R1, R2, ...., Rn com 1, 2, ..., n amostras
kn / n
pn (x) ≅
Vn
De forma a pn(x) convergir para p(x):
lim Vn = 0
n →∞
„
lim kn = ∞
n →∞
kn
lim = 0
n →∞ n
Exemplos que cumprem estas condições:
„
„
Parzen: O volume inicial Vo diminui: Vn = Vo
n
K-nn: Rn cresce até conter kn amostras: k = n
n
26-11-2003
16
Conceitos fundamentais
26-11-2003
17
Janelas de Parzen
„
„
Assume-se que região Rn é um cubo com d dimensões e com o
comprimento de cada contorno hn
O número de amostras que se encontram na região Rn pode ser
obtida analiticamente através da função de janela:
⎧⎪1
uj ≤ 1
2
ϕ (u ) = ⎨
⎪⎩0 caso contrario
„
O número de amostras e a estimativa para a densidade de
probabilidade é dada por:
⎛ x − xi ⎞
kn = ∑ ϕ ⎜
⎟
h
i =1
⎝ n ⎠
n
26-11-2003
1
p n ( x) =
n
1 ⎛ x − xi
ϕ ⎜⎜
V
hn
i =1 n ⎝
n
∑
⎞
⎟
⎟
⎠
18
Janelas de Parzen
„
A função da janela φ é utilizada para interpolação:
„
„
„
„
„
Cada amostra contribui para a estimativa de acordo com a sua
distância a x.
Se hn é muito grande então pn(x) é uma superposição de
funções que variam pouco, sendo uma estimativa pouco
fiável de p(x).
Se hn é muito pequena então pn(x) é uma função de dirac e a
sua estimativa é apenas a soma de pulsos pequenos.
Com um número ilimitado de amostras pn(x) converge para
p(x) para qualquer valor de hn.
Com um número limitado de amostras, o melhor a fazer é
procurar um compromisso.
26-11-2003
19
Janelas de Parzen
„
Escolha das janelas de parzen
26-11-2003
20
Janelas de Parzen
26-11-2003
21
Janelas de Parzen
26-11-2003
22
Condições de convergência
„
Se pn(x) é uma variável aleatória que depende dos valores
de {x1,x2, ... , xn} com média e variância dadas por:
„
A estimativa pn(x) converge para p(x) se:
„
e as seguintes condições garantem convergência:
26-11-2003
23
Janelas de Parzen
„
Convergência da média
26-11-2003
24
Janelas de Parzen
„
Convergência da variância
26-11-2003
25
Janelas de Parzen
„
p(x) é uma normal:
„
„
„
„
média zero
variância unitária
Univariada
A função de janela é:
1 −u2 2
ϕ (u ) =
e
2π
„
pn(x) é uma média das
densidades normais:
1 n 1 ⎛ x − xi ⎞
pn ( x) = ∑ ϕ ⎜
⎟
n i =1 hn ⎝ hn ⎠
26-11-2003
26
Janelas de Parzen
„
Com duas
densidades
normais.
26-11-2003
27
Janelas de Parzen
26-11-2003
28
Classificação utilizando Janelas de Parzen
26-11-2003
29
Redes PNN (probabilistic neural networks)
„
„
„
As janelas de Parzen podem ser implementadas como uma
rede neuronal estatística.
Considere n padrões com d dimensões, escolhidos
aleatoriamente de c classes.
A rede PNN consiste em:
„
„
„
„
d unidades de entrada (input layer)
n unidades intermédias (pattern layer) ligadas a
apenas uma e só uma unidade de classe (output layer)
Os pesos entre as unidades entrada e as unidades
intermédias vão ser calculados através de uma fase de
treino.
26-11-2003
30
Redes PNN (probabilistic neural networks)
26-11-2003
31
Redes PNN - Treino
26-11-2003
32
Redes PNN - Classificação
26-11-2003
33
Redes PNN - vantagens
„
„
„
„
Velocidade da aprendizagem.
Memória reduzida.
A classificação é realizada em paralelo.
Novos padrões de treino podem ser incorporados facilmente.
26-11-2003
34
Estimação dos Kn vizinhos mais próximos
„
„
Um dos problemas com as janelas de Parzen é como
determinar uma função de janela óptima.
Outro problema é que as janelas de parzen dependem da
selecção inicial do volume da célula V
„
„
Uma solução é escolher o volume da célula de acordo com a
distribuição dos dados.
A estimação dos k vizinhos mais próximos permite resolver
este problema:
„
„
A região é agora em função dos dados de treino
Para estimar p(x) em x, a região deve crescer até capturar kn
amostras, onde kn é uma função especificada por n p ( x ) ≅
n
26-11-2003
kn / n
Vn
35
Exemplos
26-11-2003
36
Exemplos
26-11-2003
37
Exemplos
26-11-2003
38
Estimação das probabilidades a Posteriori
„
Todos os métodos estudados podem ser utilizados para
obter as probabilidades a posteriori dos dados P(ωi|x).
„
Para uma célula de volume V em redor de x captura-se k
amostras, das quais ki amostras pertencem a ωi
ki / n
pn ( x, ωi ) =
V
„
Pn (ωi | x) =
pn ( x, ωi )
c
∑ p ( x, ω
j =1
n
j
)
ki
=
k
Para obter o mínimo erro, escolhe-se a classe mais
frequentemente representada na célula.
„
Para um número suficientemente grande de células, as
probabilidades a posteriori estimadas são fiáveis.
26-11-2003
39
Regra do vizinho mais próximo (NN)
„
Ambos os métodos, janelas de parzen e Kn vizinhos mais
próximos, podem ser utilizados para calcular as
probabilidades a posteriori utilizando n-amostras de dados
de treino.
„
„
„
Esta probabilidade pode ser utilizada pela regra de Bayes.
Uma abordagem radical é utilizar o método dos vizinhos
mais próximos para classificar directamente os dados de
treino desconhecidos ⇒ regra do vizinho mais próximo.
Enquanto a regra de Bayes (classificação MAP) é óptima
para escolher entre as diferentes classes, a regra do vizinho
mais próximo é sub-óptima.
26-11-2003
40
Regra do vizinho mais próximo
„
„
„
„
Suponha que temos Dn={x1, ......, xn} amostras de treino
classificadas (rotuladas).
Seja x’ em Dn o ponto mais próximo de x, que necessita de
ser classificado.
A regra do vizinho mais próximo consiste em atribuir ao
elemento x a mesma classificação que o x’.
A regra do vizinho mais próximo cria partições no espaço de
características em células de Voronoi.
26-11-2003
41
Regra do vizinho mais próximo
26-11-2003
42
Limite para o erro
„
„
„
Seja P* o mínimo erro possível (classificador MAP)
Seja P o erro dado pela regra do vizinho mais próximo.
Dado um número ilimitado de dados de treino podemos
mostrar que:
c
P* )
P ≤ P ≤ P (2 −
c −1
*
26-11-2003
*
43
Regra dos k-vizinhos mais próximo (KNN)
„
„
„
As técnicas NN ou k-NN constróem directamente a regra de
decisão sem estimar as densidades condicionadas às
classes.
Motivação: Padrões próximos no espaço de características
possivelmente pertencem à mesma classe.
Extensão do NN: a regra dos k-vizinhos mais próximos
classifica x atribuindo-lhe a classe mais representada nos k
vizinhos mais próximos do conjunto de treino.
„
„
„
Por outras palavras, dado x procuramos as k amostras mais
próximas.
A classe mais frequente é atribuída a x.
k é usualmente ímpar para evitar empates.
26-11-2003
44
Exemplo
26-11-2003
45
Regra dos k-vizinhos mais próximos
„
A selecção de k é um compromisso:
„
„
„
Se k é muito alto ⇒ alguns destes vizinhos k podem ter
probabilidades diferentes.
Se k é muito baixo ⇒ A estimação pode não ser fiável.
O comportamento óptimo é obtido à medida que k e n se
aproxima de infinito.
26-11-2003
46
Regra do k-vizinhos mais próximo: métricas
26-11-2003
47
Métricas
„
O classificador dos vizinhos mais próximos baseia-se numa métrica ou
função de distância entre dois padrões.
26-11-2003
48
Propriedades das métricas
„
„
„
„
Não negativa: d(a,b) ≥ 0
Reflexiva: d(a,b) = 0 se e só se a = b
Simétrica: d(a,b) = d(b,a)
Inequação do triângulo: d(a,b) + d(b,c) ≥ d(a,c)
26-11-2003
49
Métricas
„
Distância de Minskowski, classe genérica de métricas para padrões
com d dimensões:
1/ k
⎛
k ⎞
Lk (a, b) = ⎜ ∑ ai − bi ⎟
⎝ i =1
⎠
d
„
„
Esta distância é parametrizável através do parâmetro k
A distância euclidiana ou a norma L2 é dada por:
L2 = d euclidiana (a, b) =
„
d
∑(a − b )
i =1
i
2
i
Dá mais ênfase às características com elevada dissimilaridade.
26-11-2003
50
Métricas
„
A distância de manhattam, city-block ou diferença absoluta é
calculada a partir da norma L1 :
d
L1 = d manhattam (a, b) = ∑ ai − bi
i =1
„
„
Reduz tempo de cálculo em relação à distância euclidiana.
Não é possível encurtar esquinas.
26-11-2003
51
Mais métricas
„
Distância de máxima distância:
d
d max dist (a, b) = max bi − ai
i =1
„
Apenas considera o par de características mais distantes.
„
Distância de Mahalanobis:
d mahalanobis (a, b) = ( x − y ) Σ
T
26-11-2003
−1
( x − y)
52
Variantes na decisão K-NN
„
Escolha da medida de distância no cálculo dos vizinhos
„
„
No caso do conjunto de treino ser infinito, o desempenho é
independente da métrica !
Regra de k-NN com distâncias pesadas:
„
„
„
Sejam x1,x2, ... , xk os k vizinhos mais próximos da amostra a
classificar x’
Seja dj = d(x’,xj)
Atribui-se um peso a cada vizinho xj de acordo com:
ωj =
„
dk − d j
d k − d1
0 ≤ωj ≤1
Somam-se os pesos para os vizinhos pertencentes à mesma
classe, atribuindo x’ à classe com maior peso.
26-11-2003
53
Exemplos de kNN
26-11-2003
54
Exemplos de kNN (k=5)
26-11-2003
55
Desvantagens e vantagens
„
Propriedades ideais:
„
„
„
Vantagens:
„
„
„
Menos que 20 atributos por instância
Muitos dados de treino
O treino é rápido.
Aprende funções complexas
Desvantagens:
„
„
„
„
„
As estimativas são sensíveis ao ruído.
O método KNN produz estimativas com declives acentuados (heavy tails).
A estimativa pode ter descontinuidades e o integral sobre todo o espaço de
amostras diverge.
A classificação é lenta.
As estimativas podem se afastar muito se houver atributos irrelevantes.
26-11-2003
56
A maldição da dimensionalidade
„
Uma história de horror:
„
„
„
„
„
Suponha que os dados são descritos por n atributos, e.g. n=20
Apenas n’ são relevantes e.g. n’ = 2
Mau desempenho ! Os problemas são usualmente tão maus como
este ou mesmo piores (e.g. atributos correlacionados) !
Maldição da dimensionalidade: O algoritmo dos k vizinhos mais
próximos é usualmente enganado quando n é grande, i.e.
dimensão de x é alta.
Como solucionar este problema:
„
„
„
Seleccionar características mais relevantes !
Atribuir pesos às características
Transformações que reduzem a dimensionalidade: PCA, SOM,
etc...
26-11-2003
57
Redução da dimensionalidade
Redução da
dimensionalidade
Triangulos
Delaunay
Voronoi (vizinhos
mais próximos)
26-11-2003
58
Redução da dimensionalidade (PCA)
„
Noção Intuitiva: Porque motivo devemos usar transformadas que
reduzem a dimensionalidade na aprendizagem supervisionada ?
„
„
„
„
„
Principal Components Analysis (PCA)
„
„
Pode haver muitos atributos (ou características) com propriedades indesejadas.
Irrelevância: xi têm pouco utilidade se as regiões de decisão g(x) = yi
Dispersão da informação: a “característica de interesse” está espalhado por
muitos xi’s.
Queremos aumentar a “densidade de informação” através da “compressão” de X
Combina-se variáveis redundantes numa única variável, referida como
componente, ou factor
Factor Analysis (FA)
„
„
Termo genérico para uma classe de algoritmos que incluem o PCA
Tutorial: http://www.statsoft.com/textbook/stfacan.html
26-11-2003
59
Redução da dimensionalidade (PCA)
„
Formulação do problema:
„
„
„
„
„
Para o conjunto de dados {x1,x2,...,xn} temos:
xi= {x1i,x2i,...,xdi}
Assume-se que a dimensão d dos dados é alta.
Pretende-se classificar x
Problemas com dimensões elevadas:
„
Se os conjunto de dados for pequeno:
„
„
„
Confiança reduzida na estimativa de parâmetros.
Overfit
Atributos irrelevantes
Muitas dimensões,
poucos pontos
26-11-2003
60
Principal Component Analysis (PCA)
„
„
Objectivo: Pretende-se substituir os dados de entrada com
uma dimensão elevada por um conjunto mais reduzido de
características
PCA:
„
„
Transformação linear da entrada x de d dimensões para m
dimensões de forma a que m < d e preservar o máximo de
variância para os dados.
Equivalentemente, é uma projecção linear para a qual o erro
quadrático médio é minimizado.
26-11-2003
61
PCA
26-11-2003
62
PCA
26-11-2003
63
PCA
26-11-2003
64
PCA
26-11-2003
65
Método PCA
„
O PCA é uma técnica de projecção linear:
u =W (x − µ)
„
„
onde u são os dados com m dimensões, x são os dados
originais com d dimensões e W é uma transformação linear.
O W guarda os vectores de projecção que devem:
„
„
„
Maximizar a variância dos dados transformados.
ou fornecer distribuições não correlacionadas.
ou minimizar os erro de reconstrução quadrático
O W é constituído por funções (ou vectores)
de base.
„
26-11-2003
66
Obter as funções de base
„
„
„
Pretende-se encontrar as funções de base que permitem a
melhor aproximação dos dados, preservando o máximo de
informação possível !
Formalização: substituir d dimensões por M de zi
coordenadas que representam x. Pretende-se obter o
subconjunto M das funções de base.
O erro para cada xn é:
26-11-2003
67
Obter as funções de base
„
Diferencia-se a função de erro em relação a todo o bi e
iguala-se a zero:
„
Rescrevendo:
„
O erro é mínimo quando os vectores de base satisfazem:
26-11-2003
68
Funções de base
„
„
„
„
As melhores funções de base : eliminar d-M vectores com
os valores próprios mais pequenos (ou manter os M
vectores com os maiores vectores próprios)
Os vectores próprios ui são referidos como componentes
principais.
Depois dos vectores próprios ui serem calculados, podemos
transformar os dados de d dimensões em m dimensões.
Para encontrar a verdadeira dimensionalidade dos dados
basta encontrar os valores próprios que contribuem mais (os
pequenos valores próprios são eliminados).
26-11-2003
69
Algoritmo PCA completo
„
„
„
„
„
„
Suponha que têm x1, x2, ... , xM vectores de n × 1
Passo 1: Cálculo da média µi
Passo 2: Subtrair a média aos dados vi = xi – µi
Passo 3: Formar a matriz A = [v1 v2 ... vm] (NxM) e calcular a
matriz de covariância C = AAT
Passo 4: Calcular os valores próprios e vectores próprios de
C.
Passo 5 (Redução da dimensionalidade): manter apenas
os termos correspondentes aos K valores próprios maiores
26-11-2003
70
Exemplo com duas dimensões
GO
26-11-2003
71
Exemplos do PCA
x2
y2
z1
4
2
3
1
z2
2
2
1
1
2
y1
-2
-1
1
-
1
-2
-1
1
2
26-11-2003
x1
2
-1
-2
-1
-2
-2
72
Como escolher a dimensionalidade (m)
„
Como definir a dimensionalidade dos dados transformados ?
„
Proporção da variância retida:
„
m é tipicamente 90% ou 95%. O resto é ruído !
26-11-2003
73
Exemplos de PCA: Faces
26-11-2003
74
Exemplos de PCA: Faces
26-11-2003
75
Problemas do PCA
„
Problemas:
„
„
„
„
O PCA é um método linear.
A verdadeira dimensionalidade pode ser sobre estimada.
Os dados podem ser correlacionados de uma forma não linear.
Existem muitas técnicas nesta área:
„
„
NPCA (Nonlinear PCA): As projecções são não lineares.
ICA (Independent Component Analysis): descorrelaciona
totalmente as componentes.
26-11-2003
76
Download