alexandre xavier falcão & david menotti

47
MO443/MC920 Introdução ao Processamento de Imagem Digital Clustering de pixels por Kmeans Classificação de pixels por Knn Alexandre Xavier Falcão & David Menotti Universidade de Campinas (UNICAMP)

Upload: kristy

Post on 23-Feb-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Universidade de Campinas ( UNICAMP). MO443/MC920 Introdução ao Processamento de Imagem Digital Clustering de pixels por Kmeans Classificação de pixels por Knn. Alexandre Xavier Falcão & David Menotti. Objetivos. Introduzir diferentes tipos de aprendizagem - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Alexandre Xavier Falcão & David Menotti

MO443/MC920

Introdução ao Processamento de Imagem Digital

Clustering de pixels por Kmeans Classificação de pixels por Knn

Alexandre Xavier Falcão & David Menotti

Universidade de Campinas (UNICAMP)

Page 2: Alexandre Xavier Falcão & David Menotti

Objetivos

• Introduzir diferentes tipos de aprendizagem– Não Supervisionada (Kmeans)– Supervisionada (Knn)• não paramétricos.

• Relacionar as técnicas com pixels

Page 3: Alexandre Xavier Falcão & David Menotti

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 4: Alexandre Xavier Falcão & David Menotti

Como ‘‘classificar’’ esses pontos?

Por que estudar esse tipo de problema?

Page 5: Alexandre Xavier Falcão & David Menotti

Aprendizagem Não-Supervisionada

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

gravado é caro.– Rotular TODA uma grande base de imagens é muito

caro, mas... alguns elementos de cada classe não• Segundo, muitas vezes não se tem

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

(ex. Data Mining.)

Page 6: Alexandre Xavier Falcão & David Menotti

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 (tópico de pesquisa)

Page 7: Alexandre Xavier Falcão & David Menotti

Clustering

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

Quatro grupos (clusters)

Page 8: Alexandre Xavier Falcão & David Menotti

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 9: Alexandre Xavier Falcão & David Menotti

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 10: Alexandre Xavier Falcão & David Menotti

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 11: Alexandre Xavier Falcão & David Menotti

k-Means – Um Exemplo

Objetos em um plano 2D

Page 12: Alexandre Xavier Falcão & David Menotti

k-Means – Um Exemplo

Passo 1:Centróides inseridos aleatoriamente

Page 13: Alexandre Xavier Falcão & David Menotti

k-Means – Um Exemplo

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

Page 14: Alexandre Xavier Falcão & David Menotti

k-Means – Um Exemplo

Passo 3: Recalcular os centróides

Page 15: Alexandre Xavier Falcão & David Menotti

k-Means – Um Exemplo

Impacto da inicialização aleatória.

Page 16: Alexandre Xavier Falcão & David Menotti

k-Means – Um Exemplo

Impacto da inicialização aleatória

FronteiraDiferente

Page 17: Alexandre Xavier Falcão & David Menotti

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 18: Alexandre Xavier Falcão & David Menotti

k-Means – Um Exemplo

4 Centróides

Page 19: Alexandre Xavier Falcão & David Menotti

Calculando Distâncias

• Distância Euclidiana

• Manhattan (City Block)

n

iii yxd

1

n

iii yxd

1

2

x

y

x

y

Page 20: Alexandre Xavier Falcão & David Menotti

Calculando Distâncias

• Minkowski – Parâmetro r• r = 2, distância Euclidiana• r = 1, City Block

rn

i

rii yxd

1

1

Page 21: Alexandre Xavier Falcão & David Menotti

Calculando Distâncias

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

pontos. Por exemplo se 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 22: Alexandre Xavier Falcão & David Menotti

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 23: Alexandre Xavier Falcão & David Menotti

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 24: Alexandre Xavier Falcão & David Menotti

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

m 1

c

i Dxie

i

mxJ1

2

Page 25: Alexandre Xavier Falcão & David Menotti

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 26: Alexandre Xavier Falcão & David Menotti

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

m 1

D

xn1m

iDx

tiii mxmxS ))((

c

iiw SS

1

c

i

tiiiB mmnS

1

)m)(m(

Page 27: Alexandre Xavier Falcão & David Menotti

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 28: Alexandre Xavier Falcão & David Menotti

Critérios de Dispersão

Clusters dispersosAlto within

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

Caso não ideal

Page 29: Alexandre Xavier Falcão & David Menotti

Critérios de Dispersão

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

Page 30: Alexandre Xavier Falcão & David Menotti

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

Erro Quadrado

Sw

Relação Sw/Sb

Page 31: Alexandre Xavier Falcão & David Menotti
Page 32: Alexandre Xavier Falcão & David Menotti

Normalização

• Evitar que uma característica se sobressaia a outras.– V1 = {200, 0.5, 0.002}– V2 = {220, 0.9, 0.050}

• Se calcularmos a distância Euclidiana, veremos que a primeira característica dominará o resultado.

32

Page 33: Alexandre Xavier Falcão & David Menotti

Normalização

• Diferentes técnicas de normalização

Min-Max Z-Score

)min()max()min(xx

xxn ii

)()(

xstdxmeanxn i

i

Tanh

1

)()(001tanh

21

xstdxmeanxn i

i

xxn i

i

Soma

33

Page 34: Alexandre Xavier Falcão & David Menotti

Normalização

• Considere as seguintes características– Qual delas discrimina os pontos verdes x azuis?

Page 35: Alexandre Xavier Falcão & David Menotti
Page 36: Alexandre Xavier Falcão & David Menotti

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 37: Alexandre Xavier Falcão & David Menotti

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 38: Alexandre Xavier Falcão & David Menotti

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 39: Alexandre Xavier Falcão & David Menotti

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 40: Alexandre Xavier Falcão & David Menotti

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 41: Alexandre Xavier Falcão & David Menotti

kNN: Funciona bem?

• Certamente o kNN é uma regra simples e intuitiva.• Considerando que temos um número ilimitado de

exemplos– O melhor que podemos obter é o erro Bayesiano (E*)– Para n tendendo ao infinito, pode-se demonstrar que o

erro do kNN é menor que 2E*• Ou seja, se tivermos bastante exemplos, o kNN vai

funcionar bem.

Page 42: Alexandre Xavier Falcão & David Menotti

kNN: Distribuições Multi-Modais

• Um caso complexo de classificação no qual o kNN tem sucesso.

Page 43: Alexandre Xavier Falcão & David Menotti

kNN: Como escolher k

• Não é um problema trivial.– k deve ser grande para minimizar o erro.• k muito pequeno leva a fronteiras ruidosas.

– k deve ser pequeno para que somente exemplos próximos sejam incluídos.

• Encontrar o balanço não é uma coisa trivial.– Base de validação

Page 44: Alexandre Xavier Falcão & David Menotti

kNN: Como escolher k

• Para k = 1,...,7 o ponto x é corretamente classificado (vermelho.)

• Para k > 7, a classificação passa para a classe azul (erro)

Page 45: Alexandre Xavier Falcão & David Menotti

kNN: Complexidade

• O algoritmo básico do kNN armazena todos os exemplos. Suponha que tenhamos n exemplos– O(n) é a complexidade para encontrar o vizinho

mais próximo.– O(nk) complexidade para encontrar k exemplos

mais próximos• Considerando que precisamos de um n grande

para o kNN funcionar bem, a complexidade torna-se problema.

Page 46: Alexandre Xavier Falcão & David Menotti

kNN: Reduzindo complexidade• Se uma célula dentro do diagrama de Voronoi possui os

mesmos vizinhos, ela pode ser removida.

Mantemos a mesma fronteira e diminuímos a quantidade de exemplos

Page 47: Alexandre Xavier Falcão & David Menotti

kNN: Reduzindo complexidade

• kNN protótipos– Consiste em construir protótipos para representar

a base– Diminui a complexidade, mas não garante as

mesmas fronteiras