alexandre xavier falcão & david menotti
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 PresentationTRANSCRIPT
![Page 1: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/4.jpg)
Como ‘‘classificar’’ esses pontos?
Por que estudar esse tipo de problema?
![Page 5: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/7.jpg)
Clustering
• É a organização dos objetos similares (em algum aspecto) em grupos.
Quatro grupos (clusters)
![Page 8: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/11.jpg)
k-Means – Um Exemplo
Objetos em um plano 2D
![Page 12: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/12.jpg)
k-Means – Um Exemplo
Passo 1:Centróides inseridos aleatoriamente
![Page 13: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/13.jpg)
k-Means – Um Exemplo
Passo 2: Atribuir a cada objeto o centróide mais próximo
![Page 14: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/14.jpg)
k-Means – Um Exemplo
Passo 3: Recalcular os centróides
![Page 15: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/15.jpg)
k-Means – Um Exemplo
Impacto da inicialização aleatória.
![Page 16: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/16.jpg)
k-Means – Um Exemplo
Impacto da inicialização aleatória
FronteiraDiferente
![Page 17: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/18.jpg)
k-Means – Um Exemplo
4 Centróides
![Page 19: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/31.jpg)
![Page 32: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/34.jpg)
Normalização
• Considere as seguintes características– Qual delas discrimina os pontos verdes x azuis?
![Page 35: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/35.jpg)
![Page 36: Alexandre Xavier Falcão & David Menotti](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.com.br/reader035/viewer/2022062323/56816406550346895dd5b1de/html5/thumbnails/47.jpg)
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