36
Aprendizado de Máquinas Introdução à Aprendizado Não- Supervisionado David Menotti, Ph.D. http://web.inf.ufpr.br/menotti Universidade Federal do Paraná (UFPR) Departamento de Informática (DInf)

Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

  • Upload
    lykhue

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Aprendizado de Máquinas

Introdução àAprendizado Não-Supervisionado

David Menotti, Ph.D.http://web.inf.ufpr.br/menotti

Universidade Federal do Paraná (UFPR)Departamento de Informática (DInf)

Page 2: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Objetivos

• Introduzir aprendizagem– Não Supervisionada

Page 3: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Como classificar esses pontos?

Por que estudar esse tipo de problema?

Page 5: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 6: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 7: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Clustering

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

Quatro grupos (clusters)

Page 8: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

k-Means – Um Exemplo

Objetos em um plano 2D

Page 11: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

k-Means – Um Exemplo

Passo 1:Centróides inseridos aleatoriamente

Page 12: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

k-Means – Um Exemplo

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

Page 13: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

k-Means – Um Exemplo

Passo 3: Recalcular os centróides

Page 14: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

k-Means – Um Exemplo

Impacto da inicialização aleatória.

Page 15: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

k-Means – Um Exemplo

Impacto da inicialização aleatória

FronteiraDiferente

Page 16: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 17: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

k-Means – Um Exemplo

4 Centróides

Page 18: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Calculando Distâncias

• Distância Euclidiana

• Manhattan (City Block)

d=∑i=1

n

|x i− y i|

d=√∑i=1

n

(x i− y i )2

x

y

x

y

Page 19: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Calculando Distâncias

• Minkowski – Parâmetro r

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

d=(∑i=1

n

( x i− y i )r)

1r

Page 20: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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.

d= [( x− y )´C−1( x− y ) ]12

Page 21: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 22: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

A Importância das Medidas de Distâncias

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

Page 23: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Critérios de Otimização

• Até agora discutimos somente como medir a similaridade.

• Um outro 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.

D= {x1 , . .. ,xn }

D1 , . .. ,Dc

Page 24: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 25: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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

mi=1ni

∑x∈D i

x

J e=∑i=1

c

∑x∈Di

‖x−mi‖2

Page 26: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 27: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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

• Vetor médio total

• Dispersão do cluster i

• Within-cluster

• Between-cluster

mi=1ni

∑x∈D i

x

m=1n∑D

x

S i=∑x∈Di

( x−mi )( x−mi )t

Sw=∑i= 1

c

Si

S B=∑i=1

c

ni(mi−m)(mi−m)t

Page 28: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 29: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Critérios de Dispersão

Clusters dispersosAlto within

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

Caso não ideal

Page 30: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Critérios de Dispersão

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

Page 31: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

Diferentes clusters para c=2 usando diferentes critérios de

otimização

Erro Quadrado

Sw

Relação Sw/Sb

Page 32: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 33: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

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 34: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

k-Means - Simulação

• Um applet java para a simulação do k-Means pode ser encontrado na seguinte URL:

http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html

Page 35: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo
Page 36: Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means – Um Exemplo Passo 1:Centróides inseridos aleatoriamente. k-Means – Um Exemplo

http://www.ai-junkie.com/ann/som/som1.html