reconhecimento de padrões tipos de aprendizagem

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)

Upload: hilda

Post on 06-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

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. http ://www.decom.ufop.br/menotti. Objetivos. Introduzir diferentes tipos de aprendizagem Supervisionada - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reconhecimento de Padrões Tipos de Aprendizagem

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

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

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

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

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

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

Distância Euclidiana

x = (2,5)

y = (3,4)

41.124532),( 22 yxd1.41

Page 8: Reconhecimento de Padrões Tipos de Aprendizagem

Distância Euclidiana

44.26)35(3432),( 222 yxd

Page 9: Reconhecimento de Padrões Tipos de Aprendizagem

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

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

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

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

Como classificar esses pontos?

Por que estudar esse tipo de problema?

Page 14: Reconhecimento de Padrões Tipos de Aprendizagem

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

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

Clustering

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

Quatro grupos (clusters)

Page 17: Reconhecimento de Padrões Tipos de Aprendizagem

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

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

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

k-Means – Um Exemplo

Objetos em um plano 2D

Page 21: Reconhecimento de Padrões Tipos de Aprendizagem

k-Means – Um Exemplo

Passo 1:Centróides inseridos aleatoriamente

Page 22: Reconhecimento de Padrões Tipos de Aprendizagem

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

k-Means – Um Exemplo

Passo 3: Recalcular os centróides

Page 24: Reconhecimento de Padrões Tipos de Aprendizagem

k-Means – Um Exemplo

Impacto da inicialização aleatória.

Page 25: Reconhecimento de Padrões Tipos de Aprendizagem

k-Means – Um Exemplo

Impacto da inicialização aleatória

FronteiraDiferente

Page 26: Reconhecimento de Padrões Tipos de Aprendizagem

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

k-Means – Um Exemplo

4 Centróides

Page 28: Reconhecimento de Padrões Tipos de Aprendizagem

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Aprendizagem Incremental

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

Page 50: Reconhecimento de Padrões Tipos de Aprendizagem

Aprendizagem por Reforço ART (Adaptative Resonance Theory)

Aprendizagem não supervisionada

Page 51: Reconhecimento de Padrões Tipos de Aprendizagem

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

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