Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means...

Post on 01-Nov-2018

215 views 0 download

Transcript of Aprendizado de Máquinas Introdução à Aprendizado Não ... · Objetos em um plano 2D. k-Means...

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)

Objetivos

• Introduzir aprendizagem– Não Supervisionada

Aprendizagem Não-Supervisionada

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

Como classificar esses pontos?

Por que estudar esse tipo de problema?

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.)

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.

Clustering

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

Quatro grupos (clusters)

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

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.

k-Means – Um Exemplo

Objetos em um plano 2D

k-Means – Um Exemplo

Passo 1:Centróides inseridos aleatoriamente

k-Means – Um Exemplo

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

k-Means – Um Exemplo

Passo 3: Recalcular os centróides

k-Means – Um Exemplo

Impacto da inicialização aleatória.

k-Means – Um Exemplo

Impacto da inicialização aleatória

FronteiraDiferente

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.

k-Means – Um Exemplo

4 Centróides

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

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

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

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.

A Importância das Medidas de Distâncias

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

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

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

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

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

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

Critérios de Dispersão

• Relação Within-Between

Caso ideal

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

Alto between (Sb)Clusters distantesum do outro.

Critérios de Dispersão

Clusters dispersosAlto within

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

Caso não ideal

Critérios de Dispersão

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

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

otimização

Erro Quadrado

Sw

Relação Sw/Sb

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.

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.

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

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