um curso sobre reconhecimento de padrões e redes neurais

66
HP – UFCG Analytics Abril-Maio 2012 Um curso sobre Reconhecimento de Padrões e Redes Neurais Por Herman Martins Gomes [email protected]r

Upload: others

Post on 15-Jul-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Um curso sobre Reconhecimento de Padrões e Redes Neurais

HP – UFCG Analytics Abril-Maio 2012

Um curso sobre

Reconhecimento de Padrões e Redes Neurais Por

Herman Martins Gomes [email protected]

Page 2: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Programa

Introdução ao Reconhecimento de Padrões com foco em Redes Neurais

Visão

Geral (2H)

Reconhecimento

Estatístico de Padrões (3H)

Redes Neurais (15H)

Page 3: Um curso sobre Reconhecimento de Padrões e Redes Neurais

•Estimação de Densidades •Análise Discriminante •Avaliação de Performance •Extração e Seleção de Características

Reconhecimento

Estatístico de Padrões (3H)

Page 4: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes – Exercício prático

Projetar empiricamente funções discriminantes para realizar a separação entre entre 2 raças de insetos a partir do número médio de cerdas primordiais (X1) e do número médio de cerdas distais (X2) conforme tabela ao lado

X1 X2 X1 X2

5,92 5,12 4,56 4,045,92 5,36 5,04 4,446,36 5,24 5,44 4,886,40 5,16 5,48 4,206,44 5,64 5,60 4,646,56 5,56 5,64 4,966,64 5,36 5,64 4,966,68 4,96 5,72 5,046,72 5,48 5,76 4,806,72 5,08 5,96 5,086,76 5,60 6,00 4,88

Raça A Raça B

Page 5: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais • Funções Discriminantes

– Abordagem Bayesiana Vs. Análise Discriminante: a forma da função discriminante é especificada e não imposta pela distribuição de probabilidade subjacente

– Escolha por funções discriminantes • Pode depender de conhecimento prévio sobre os padrões a serem

classificados ou • Pode ser uma função particular cujos parâmetros são ajustados via

treinamento – Muitos tipos diferentes de funções discriminantes estão

disponíveis, como • Funções lineares (combinação linear das características descrevendo

um padrão) • Funções não-lineares multiparamétricas, como as redes neurais do

tipo Perceptron de Múltiplas Camadas

Page 6: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes – Discriminação

• também pode ser vista como um problema de regressão em que a variável dependente y é um indicador de classe e os regressores são os vetores x de padrões

– Muitos modelos de função discriminante levam a estimativas E[y|x], que é o objetivo central da análise de regressão (apesar de que, em regressão, y não é necessariamente um indicador de classe)

– Assim, muitas das técnicas empregadas na otimização de funções discriminantes são igualmente aplicáveis a problemas de regressão

Page 7: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes Lineares – São combinações lineares dos componentes de x

– w e w0 são respectivamente o vetor de pesos e o

limiar – Geometricamente, é um hiperplano com vetor normal

na direção de w e uma distância perpendicular à origem igual a |w0| / |w |

Page 8: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes Lineares – A avaliação da função discriminante sobre um padrão x é uma

medida da distância perpendicular desse padrão ao hiperplano

origem Hiperplano

Page 9: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes Lineares – Um classificador de padrões que emprega funções

discriminantes lineares é chamado de máquina linear ou classificador linear

– Um caso especial de máquina linear é o classificador de distância mínima

• Dado um conjunto de pontos protótipos p1, ..., pC (conjunto de treinamento) para cada uma das C classes w1, ... wC

• O classificador de distância mínima mapeia um padrão x na classe wi associada com o ponto pi mais próximo a x

Page 10: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes Lineares – A distância Euclidiana ao quadrado é dada por

– Uma decisão é obtida pelo classificador de distância mínima comparando-se as expressões abaixo (para diferentes valores de i que indicam os protótipos das classes)

Page 11: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes Lineares – A função discriminante linear é expressa por

em que:

– Logo, o classificador de distância mínima é uma máquina linear

– Se os pontos protótipo são as médias das classes, então tem-se um classificador de classe média

Page 12: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes Lineares – Exemplos de regiões de decisão para um

classificador de distância mínima

Page 13: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais • Funções Discriminantes Lineares por Partes

– Generalização do classificador de distância mínima para a situação em que há mais de um protótipo por classe

– Não necessariamente todos os protótipos que formam o conjunto de treinamento precisam ser utilizados (método dos k-vizinhos mais próximos)

– Supondo que existam ni protótipos na classe wi (i=1,...,C), a função discriminante para a classe wi é dada por

– Em que gij é uma função auxiliar para permitir comparações com

os diferentes protótipos de cada classe

Page 14: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Funções Discriminantes Lineares por Partes – Regiões de decisão resultantes (mosaico de Dirichlet ou

diagrama de Voronoi)

Linhas finas: delimitam regiões de vizinhos mais próximos para os conjuntos de protótipos Linhas espessas: delimitam regiões de separação entre as classes

Page 15: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Função Discriminante Generalizada – Também conhecida como máquina phi, é expressa

da seguinte forma:

– φ= (φ11(x), . . . , φD (x))

T é um vetor função de x – Se D=p (o número de características em x) e

φi1(x) = xi então tem-se uma função discriminante linear

Page 16: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Função Discriminante Generalizada – A função discriminante é linear nas funções φi 1 mas não em xi – Uma função discriminante linear nem sempre conseguirá

separar as classes (ver figura abaixo), apesar delas serem separáveis, contudo, se fizermos a transformação

então as classes serão linearmente separáveis no espaço φ

Page 17: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Conceitos Fundamentais

• Função Discriminante Generalizada – Algumas opções disponíveis para as funções φi 1(x)

Page 18: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – A regra de discriminação pode ser construída a

partir da estimação explícita das funções de densidade de probabilidade condicionadas à classe p(x|ωj )

– Uma possível abordagem é assumir um modelo paramétrico simples para as funções de densidade e estimar os parâmetros dos modelos a partir de um conjunto de treinamento

Page 19: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – Assumir uma certa distribuição (normal,

exponencial, Weibull, etc.) – Estimar os parâmetros da distribuição a partir das

observações – Utilizar a distribuição com os parâmetros

estimados

Page 20: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Densidade Normal

Estimação de Densidades

Page 21: Um curso sobre Reconhecimento de Padrões e Redes Neurais

30 observações

Estimação de Densidades

Page 22: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Função densidade de probabilidade estimada (assumindo distribuição normal)

OK

Estimação de Densidades

Page 23: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Uma Densidade Bimodal

Estimação de Densidades

Page 24: Um curso sobre Reconhecimento de Padrões e Redes Neurais

30 observações

Estimação de Densidades

Page 25: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Função densidade de probabilidade estimada (assumindo distribuição normal)

No Good!

Estimação de Densidades

Page 26: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – Distribuição normal univariada – Distribuição normal multivariada

Page 27: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – Classificador Gaussiano: o objetivo é associar o

padrão x à classe com maior p(x|ωj )

– Após algumas manipulações da equação para a distribuição normal multivariada chega-se à regra para o classificador Gaussiano:

Associar x a ωi se gi > gi para todo j ≠ i – A fim de se poder utilizar este classificador é necessário

estimar dos dados de treinamento

Page 28: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – Exemplo Prático: prever o grau de recuperação de

pacientes com graves lesões na cabeça a partir de dados coletados imediatamente após as lesões

• idade agrupada em décadas (0-9, 10-19, ..., 60-69, 70+) • EMV score: respostas oculares, motoras e verbais numa

escala de 7 níveis • MRP score: sumário das respostas motoras nos 4 membros

(numa escala de 1 a 7(normal) • mudança na atividade neurológica nas primeiras 24h: de 1

para deteriorando-se, até 3 (boa) • Pupilas: a reação das pupilas à luz (1 para não reativa ou 2

para reativa)

Page 29: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – Exemplo Prático: prever o grau de recuperação de pacientes

com graves lesões na cabeça a partir de dados coletados imediatamente após as lesões

• Dados: 500 pacientes nos conjuntos de treino e teste distribuídos em 3 classes: (1) morto ou vegetativo, (2) severa desabilidade, e (3) moderada desabilidade ou boa recuperação

• Número de padrões em cada uma das três classes para os conjuntos de treino e de teste

– Treinamento: 259, 52,189 – Teste: 250, 48, 202

• Não há um balanceamento entre as classes e muitos padrões estavam ausentes, mas estes foram substituídos pelas médias das classes no treino e médias da população no teste

Page 30: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – Exemplo Prático: prever o grau de recuperação de

pacientes com graves lesões na cabeça a partir de dados coletados imediatamente após as lesões

• Modelo: funções discriminantes para os dados de cada classe foram definidas conforme a regra do classificador Gaussiano

Page 31: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – Exemplo Prático: prever o grau de recuperação de

pacientes com graves lesões na cabeça a partir de dados coletados imediatamente após as lesões

• Treinamento: cálculo das quantidades que denotam as estimativas de máxima probabilidade da média e da matriz de covariância para cada uma das classes

• As probabilidades a priori das classes foram definidas como sendo

• Um procedimento numérico precisou ser utilizado para calcular a inversa da matriz de covariância e seu determinante para cada classe

Page 32: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Paramétrica – Exemplo Prático: prever o grau de recuperação de

pacientes com graves lesões na cabeça a partir de dados coletados imediatamente após as lesões

• Resultados: resultados em conjuntos de treinamento e teste para o classificador Gaussiano apresentados como matrizes de confusão (há um problema com a classe 2)

Classe predita

Classe predita

Classe verdadeira Classe verdadeira Treinamento Teste

Page 33: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Nem sempre é possível assumir de forma correta a

forma da função densidade de probabilidade – Nestes casos, não se pode assumir que a densidade é

caracterizada por um conjunto de parâmetros – Em métodos não paramétricos, não há uma estrutura

formal para a função de densidade – Há muitos métodos disponíveis, dentro os quais, se

destacam • Histogramas • K- vizinhos mais próximos (visto anteriormente nesta aula

como uma função discriminante linear por partes)

Page 34: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Histogramas

Page 35: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Histogramas

30 observações

Page 36: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Histogramas

10 bins

Page 37: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Histogramas

10 bins

Normalizar

Ajustar

Page 38: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Histogramas

1920 observações

Page 39: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Estimativas por Kernels

K(x) = Função kernel de “área unitária”

h = Parâmetro de alargamento (suavização)

Page 40: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Estimativas por Kernels

h=1 h=1

Kernel Retangular, h=1

Page 41: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Estimativas por Kernels

h=1

Kernel Retangular, h=1

Page 42: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Estimativas por Kernels

h=1

Kernel Retangular, h=1

Page 43: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Não-Paramétrica – Estimativas por Kernels

Kernel Triangular, h=1

Page 44: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Vantagens Métodos paramétricos: • Propriedades teóricas bem

fundamentadas

Métodos não-paramétricos: • Dispensam a escolha a priori de um tipo de distribuição • Aplicabilidade mais ampla • Simplicidade de uso

Page 45: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Estimação de Densidades

• Desvantagens

Métodos paramétricos: • Podem levar a resultados

inadequados se a população não seguir a distribuição assumida

Métodos não-paramétricos: • Requerem um número maior de

amostras para atingir a mesma qualidade de ajuste

• Maior dificuldade para o estabelecimento de propriedades formais

Page 46: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Matriz de Confusão – Múltiplas Classes

Classe Verdadeira (Ground Truth)

Classe 1 Classe2 ... Classe C

Classe Predita

Classe 1 Acerto 1 Erro 1,2 Erro 1,C

Classe 2 Erro 2,1 Acerto 2 ... Erro 2,C

...

Classe C Erro C,1 Erro C,2 Acerto C

Page 47: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Matriz de Confusão – Duas classes

Classe Verdadeira

Positiva Negativa

Classe Predita

Positiva Verdadeiros Positivos (TP)

Falsos Positivos (FP)

Negativa Falso Negativos (FN)

Verdadeiros Negativos (TN)

Page 48: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Tipos de Erro e Relação com Testes Estatísticos – A noção de erro estatístico envolve o

estabelecimento de uma hipótese nula H0 que usualmente corresponde a uma condição default da natureza do problema

• e.g. a assinatura é verdadeira, a região contém uma face, a pessoa é saudável etc.

– A hipótese alternativa tipicamente é a negação da hipótese nula

Page 49: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Tipos de Erro e Relação com Testes Estatísticos

Hipótese nula (H0) é

verdadeira Hipótese nula (H0) é falsa

Rejeitar a hipótese nula Erro tipo I (Falsos Positivos – FP)

Saída correta (Verdadeiros Positivos - TP)

Falha em aceitar a hipótese nula

Saída correta (Verdadeiros Negativos – TN)

Erro tipo II (Falsos Negativos – FN)

Page 50: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Tipos de Erro e Relação com Testes Estatísticos – Taxa de erro tipo I (taxa de falsa aceitação)

• Também conhecida como tamanho (size) do teste, sendo denotado em Estatística por α (alpha)

• Usualmente equivale ao nível de significância do teste • No caso de uma hipótese nula simples, α é a probabilidade

de erro tipo I • No caso de uma hipótese composta, α é o máximo de todas

as possíveis probabilidades de erro tipo I – Taxa de erro tipo II (taxa de falsa rejeição)

• Denotado em Estatística por β (beta) está relacionada à potência (power) de um teste de hipóteses

Page 51: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Regiões de Acerto e Erro

Page 52: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Medidas de Performance

Page 53: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Curvas ROC – Gráfico que relaciona as taxas de verdadeiro

positivo e falso positivos à medida que um limiar de classificação é variado

– Objetivam avaliar o desempenho de classificadores sob diferentes condições operacionais

Page 54: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Curvas ROC – Exemplo

Page 55: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Curvas ROC – Exemplo

Page 56: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Curvas ROC – Outro Exemplo:

Detecção de Faces

Page 57: Um curso sobre Reconhecimento de Padrões e Redes Neurais

Avaliação de Performance

• Particionamento dos Dados – Dados de treinamento para ajuste dos parâmetros livres

dos classificadores – Dados de validação para decidir quando parar o

treinamento e evitar o overfitting – Dados de teste para estimar como será a performance

(taxas de acerto e de erro) do sistema num ambiente real

Treinamento Validação Teste

50% 25% 25%

seleção aleatória

Page 58: Um curso sobre Reconhecimento de Padrões e Redes Neurais

• Particionamento dos Dados – Problema em usar apenas um conjunto de teste

– Apenas um experimento de avaliação de performance será realizado

– Mesmo usando seleção aleatória dos padrões que irão compor os conjuntos, há o risco do conjunto de teste ser uma amostra muito fácil ou muito difícil de classificar

Avaliação de Performance

Page 59: Um curso sobre Reconhecimento de Padrões e Redes Neurais

• Particionamento dos Dados – Algumas soluções

– Leave-one-out Cross Validation – Reservar um padrão k para teste, treinar com os N-1

restantes, avaliar a performance no padrão k, repetir o experimento para k=1,…,N e reportar o erro/acerto médio

– K-fold Cross Validation – Dividir o conjunto de dados em k partições

(subconjuntos disjuntos) de mesma dimensão – Reservar uma partição i para teste, treinar com as k-1

partições restantes, testar com a partição i, repetir o experimento para i = 1,...,k, e reportar o erro/acerto médio

Avaliação de Performance

Page 60: Um curso sobre Reconhecimento de Padrões e Redes Neurais

• Leave-one-out Cross Validation

Avaliação de Performance

N padrões

treinamento teste Treinar em (N - 1) padrões padrão

k

Page 61: Um curso sobre Reconhecimento de Padrões e Redes Neurais

• K-fold Cross Validation

Avaliação de Performance

k-partições

treinamento teste Treinar em (k - 1) partições Teste

Page 62: Um curso sobre Reconhecimento de Padrões e Redes Neurais

• O Problema do Overfitting (Super-especialização) – Fatores como poucos dados de treinamento, modelo

de classificação muito complexo (muitos parâmetros livres) treinado exaustivamente podem levar a erros de treinamento muito pequenos e a erros de teste elevados

– Emprego de um conjunto de validação pode ajudar quando o treinamento deve ser encerrado

Avaliação de Performance

Page 63: Um curso sobre Reconhecimento de Padrões e Redes Neurais

• O Problema do Overfitting (Super-especialização)

Avaliação de Performance

complexidade

Erro de treinamento

Erro de teste/validação Pontos de treinamento

Pontos de teste/validação

parar o treinamento

Page 64: Um curso sobre Reconhecimento de Padrões e Redes Neurais

? Dúvidas

Page 65: Um curso sobre Reconhecimento de Padrões e Redes Neurais

•Extração e Seleção de Características

Reconhecimento

Estatístico de Padrões (3H)

Próximos Passos

Page 66: Um curso sobre Reconhecimento de Padrões e Redes Neurais

•Processo de Aprendizagem •Análise de Componentes Principais •Perceptrons de Simples e Múltiplas Camadas •Mapas Auto Organizáveis •Redes Neurais Recorrentes •Previsão e Análise de Séries Temporais

Redes Neurais

(15H)

Próximos Passos