53
Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D. http://www.decom.ufop.br/menotti Universidade Federal de Ouro Preto (UFOP) Programa de Pós-Graduação em Ciência da Computação (PPGCC)

Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D. Universidade Federal de Ouro Preto (UFOP) Programa

Embed Size (px)

Citation preview

Page 1: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Reconhecimento de Padrões

Tipos de Aprendizagem

David Menotti, Ph.D.http://www.decom.ufop.br/menotti

Universidade Federal de Ouro Preto (UFOP)Programa de Pós-Graduação em Ciência da Computação (PPGCC)

Page 2: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Objetivos

• Introduzir diferentes tipos de aprendizagem– Supervisionada

• Métodos paramétricos e não paramétricos.

– Não Supervisionada– Incremental– Com Reforço

Page 3: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Supervisionada

• Alguém (um professor) fornece a identificação (rótulos) de cada objeto da base de dados. – Métodos Paramétricos: Assumem que a

distribuição dos dados é conhecida(distribuição normal por exemplo)

– Métodos Não-Paramétricos: Não consideram essa hipótese.

Page 4: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Supervisionada

• Em muitos casos não se tem conhecimento da distribuição dos dados.

• Consequentemente, utilizar um método paramétrico pode não ser adequado.

Distribuição Normal

Page 5: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Supervisionada

• Um algoritmo não-paramétrico para aprendizagem supervisionada é o k-NN (k Nearest Neighbor).

• Consiste em atribuir a um exemplo de teste x a classe do seu vizinho mais próximo.

Page 6: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-NN

• Significado de k:– Classificar x atribuindo a ele o rótulo representado

mais frequentemente dentre as k amostras mais próximas.

– Contagem de votos.

• Uma medida de proximidade bastante utilizada é a distância Euclidiana:

n

iii yxyxd

1

2),(

Page 7: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Distância Euclidiana

x = (2,5)

y = (3,4)

41.124532),( 22 yxd1.41

Page 8: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Distância Euclidiana

44.26)35(3432),( 222 yxd

Page 9: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-NN: Um Exemplo

1 2 3 4 5 6 7 8

1

2

3

4

A qual classe pertenceeste ponto?Azul ou vermelho?

não se pode afirmar

vermelho – 5,2 - 5,3

vermelho – 5,2 - 5,3 - 6,2

azul – 3,2 - 2,3 - 2,2 - 2,1k=7

k=5

k=1

k=3

Calcule para os seguintes valores de k:

A classificação pode mudar de acordocom a escolha de k.

Page 10: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Matriz de Confusão

• Matriz que permite visualizar as principais confusões do sistema.

• Considere um sistema com 3 classes, 100 exemplos por classe.

c1 c2 c3

c1 100

c2 100

c3 100

100% de classificaçãoc1 c2 c3

c1 90 10

c2 100

c3 5 95

Erros de classificação

10 exemplos de C1foram classificadoscomo C2

Page 11: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Exercício

• Implementar em C um kNN.– Mostrar a taxa de reconhecimento do sistema

para k= {1,3,5,7}– Mostrar a matriz de confusão.– Analisar o impacto da base de aprendizagem na

taxa de reconhecimento.

Page 12: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Não-Supervisionada

• O que pode ser feito quando se tem um conjunto de exemplos mas não se conhece as categorias envolvidas?

Page 13: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Como classificar esses pontos?

Por que estudar esse tipo de problema?

Page 14: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Não-Supervisionada

• Primeiramente, coletar e rotular bases de dados pode ser extremamente caro.– Ex: Gravar voz é barato, mas rotular todo o

material gravado é caro.• Segundo, muitas vezes não se tem

conhecimento das classes envolvidas.– Trabalho exploratório nos dados

(ex. Data Mining.)

Page 15: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Não-Supervisionada

• Pré-classificação:– Suponha que as categorias envolvidas são

conhecidas, mas a base não está rotulada.– Pode-se utilizar a aprendizagem não-

supervisionada para fazer uma pré-classificação, e então treinar um classificador de maneira supervisionada.

Page 16: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Clustering

• É a organização dos objetos similares (em algum aspecto) em grupos.

Quatro grupos (clusters)

Page 17: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Cluster

• Uma coleção de objetos que são similares entre si, e diferentes dos objetos pertencentes a outros clusters.

• Isso requer uma medida de similaridade.• No exemplo anterior, a similaridade utilizada

foi a distância.– Distance-based Clustering

Page 18: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means Clustering

• É a técnica mais simples de aprendizagem não supervisionada.

• Consiste em fixar k centróides (de maneira aleatória), um para cada grupo (clusters).

• Associar cada indivíduo ao seu centróide mais próximo.

• Recalcular os centróides com base nos indivíduos classificados.

Page 19: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Algoritmo k-Means

1. Determinar os centróides2. Atribuir a cada objeto do grupo o centróide

mais próximo.3. Após atribuir um centróide a cada objeto,

recalcular os centróides.4. Repetir os passos 2 e 3 até que os centróides

não sejam modificados.

Page 20: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means – Um Exemplo

Objetos em um plano 2D

Page 21: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means – Um Exemplo

Passo 1:Centróides inseridos aleatoriamente

Page 22: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means – Um Exemplo

Passo 2: Atribuir a cada objeto o centróide mais próximo

Page 23: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means – Um Exemplo

Passo 3: Recalcular os centróides

Page 24: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means – Um Exemplo

Impacto da inicialização aleatória.

Page 25: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means – Um Exemplo

Impacto da inicialização aleatória

FronteiraDiferente

Page 26: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means – Inicialização

• Importância da inicialização.• Quando se têm noção dos centróides, pode-se

melhorar a convergência do algoritmo.• Execução do algoritmo várias vezes, permite

reduzir impacto da inicialização aleatória.

Page 27: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means – Um Exemplo

4 Centróides

Page 28: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Calculando Distâncias

• Distância Euclidiana

• Manhattan (City Block)

n

iii yxd

1

n

iii yxd

1

2

x

y

x

y

Page 29: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Calculando Distâncias

• Minkowski – Parâmetro r

• r = 2, distância Euclidiana• r = 1, City Block

rn

i

rii yxd

1

1

Page 30: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Calculando Distâncias

• Mahalanobis– Leva em consideração as variações estatísticas dos

pontos. Por exemplo ser x e y são dois pontos da mesma distribuição, com matriz de covariância C, a distância é dada pela equação

– Se a matriz C for uma matriz identidade, essa distância é igual a distância Euclidiana.

211 )()´( yxCyxd

Page 31: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

A Importância das Medidas de Distâncias

• Suponha que dois exemplos pertencem ao mesmo cluster se a distância Euclidiana entre eles for menor que d.

• É obvio que a escolha de d é importante.• Se d for muito grande, provavelmente

teremos um único cluster, se for muito pequeno, vários clusters.

Page 32: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

A Importância das Medidas de Distâncias

• Nesse caso, estamos definido d e não k.

Page 33: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Critérios de Otimização

• Até agora discutimos somente como medir a similaridade.

• Um outros aspecto importante em clustering é o critério a ser otimizado.

• Considere um conjunto composto de n exemplos, e que deve ser dividido em c sub-conjuntos disjuntos .

• Cada sub-conjunto representa um cluster.

nxxD ,...,1

cDD ,...,1

Page 34: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Critérios de Otimização

• O problema consiste em encontrar os clusters que minimizam/maximizam um dado critério.

• Alguns critérios de otimização:– Soma dos Erros Quadrados.– Critérios de Dispersão

Page 35: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Soma dos Erros Quadrados

• É o mais simples e usado critério de otimização em clustering.

• Seja ni o número de exemplos no cluster Di e seja mi a média desse exemplos

• A soma dos erros quadrados é definida

iDxi

i xn

m1

c

i Dxie

i

mxJ1

2

Page 36: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Soma dos Erros Quadrados

Adequado nesses casos- Separação natural

Não é muito adequado para dadosmais dispersos.Outliers podem afetar bastante os vetores médios m

Je = grande

Je = pequeno

Je = pequeno

Page 37: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Critérios de Dispersão• Vetor médio do cluster i

• Vetor médio total

• Dispersão do cluster i

• Within-cluster

• Between-cluster

iDxi

i xn

m1

D

xn

1m

iDx

tiii mxmxS ))((

c

iiw SS

1

c

i

tiiiB mmnS

1

)m)(m(

Page 38: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Critérios de Dispersão

• Relação Within-Between

Caso ideal

Baixo within (Sw)(boa compactação)

Alto between (Sb)Clusters distantesum do outro.

Page 39: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Critérios de Dispersão

Clusters dispersosAlto within

Baixo between (Sb)Baixa distância entreos clusters.

Caso não ideal

Page 40: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Critérios de Dispersão

• Podemos entender melhor os critérios de dispersão analisando o seguinte exemplo:

Page 41: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Diferentes clusters para c=2 usando diferentes critérios de otimização

Erro Quadrado

Sw

Relação Sw/Sb

Page 42: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Algumas Aplicações de Clustering

• Marketing: Encontrar grupos de consumidores com comportamento similares

• Biologia: Classificar grupos de plantas e animais.• Bibliotecas: Organização de livros.• Administração: Organização de cidades, classificando

casas de acordo com suas características.• WWW: Classificação de conteúdos.

Page 43: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Problemas

• Vetores de característica muito grandes: tempo de processamento elevado.

• Definição da melhor medida de distância: Depende do problema. As vezes é difícil, especialmente quando se trabalha com grandes dimensões.

• O resultado do clustering pode ser interpretado de diferentes maneiras.

Page 44: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

k-Means - Simulação

• Um applet java para a simulação do k-Means pode ser encontrado na seguinte URL:http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html

Page 45: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Incremental

• Também conhecida com aprendizagem on-line.

• Interessante quando a aquisição de dados é difícil e cara.– Pequenos lotes de dados com o decorrer do

tempo.– Podem não estar disponível em um futuro

próximo.

Page 46: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Incremental

• Isso torna necessário ter um classificador que aprenda incrementalmente.

• Processo incremental genérico:

Page 47: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Incremental

• Dilema da Estabilidade-Plasticidade:– Aprender novas informações sem esquecer

aquelas aprendidas anteriormente – Tipos clássicos de redes neuronais, tais como MLP

não possuem essa propriedade.• Catastrophic forgetting (quando novos dados são

apresentados, aqueles aprendidos anteriormente são esquecidos).

Page 48: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Incremental

• Um algoritmo de aprendizagem incremental deve possuir as seguintes propriedades:– Aprender a partir de novos dados.– Não necessitar dos dados antigos.– Preservar conhecimento adquirido.– Acomodar novas classes, introduzidas com os

novos dados.

Page 49: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem Incremental

• Quais classificador tem essas características?– SOM (Self Organization Map)– ???

Page 50: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem por Reforço ART (Adaptative Resonance Theory)

Aprendizagem não supervisionada

Page 51: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

ART (Adaptative Resonance Theory)

• Outros tipos de ART têm sido propostos nos últimos anos:– FAM, ARTMAP-IC, etc...

Page 52: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa

Aprendizagem com Reforço

• Aprendizagem com base na interação com o ambiente.

• Não se diz qual ação o classificador deve tomar.• O classificador tenta diferentes ações e escolhe

aquela que oferece um melhor retorno.– Tentativa-e-erro.

• Robótica.• Recuperação de Informação Baseada no Conteúdo

Page 53: Reconhecimento de Padrões Tipos de Aprendizagem David Menotti, Ph.D.  Universidade Federal de Ouro Preto (UFOP) Programa