introdução - programa de pós-graduação em...

19
Aprendizagem de Máquina Aprendizagem Não Supervisionada Alessandro L. Koerich Mestrado em Informática Aplicada Pontifícia Universidade Católica do Paraná (PUCPR) Mestrado em Informática Aplicada Aprendizagem de Máquina 2 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Plano de Aula Aprendizagem não supervisionada Algoritmos de agrupamento (Clustering) Seqüenciais Hierárquicos Baseados na otimização de funções Outros Mestrado em Informática Aplicada Aprendizagem de Máquina 3 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Introdução Previamente, todas as amostras de treinamento estavam rotuladas, ou seja, com o valor do conceito alvo associado Estes exemplos são ditos “supervisionados”, pois, contém tanto a entrada (atributos), quanto a saída (valor do conceito alvo). 0.43 0.03 0.40 0.19 0.12 0.16 0.04 0.01 0.00 0.01 0.40 0.02 0 0 1 0 vetor de atributos valor do conceito alvo associado ao vetor de atributos Mestrado em Informática Aplicada Aprendizagem de Máquina 4 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Introdução Porém, muitas vezes temos que lidar com exemplos “não–supervisionados”, isto é, exemplos não rotulados, ou seja: sem um conceito alvo associado ou sem um valor de conceito alvo associado Por que? Coletar e rotular um grande conjunto de exemplos pode custar muito (tempo, esforço, dinheiro).

Upload: vokhanh

Post on 25-Jan-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Aprendizagem de Máquina

Aprendizagem Não Supervisionada

Alessandro L. Koerich

Mestrado em Informática AplicadaPontifícia Universidade Católica do Paraná (PUCPR)

Mestrado em Informática Aplicada Aprendizagem de Máquina 2Alessandro L. Koerich ([email protected])

Plano de Aula

Aprendizagem não supervisionada

Algoritmos de agrupamento (Clustering)Seqüenciais

Hierárquicos

Baseados na otimização de funções

Outros

Mestrado em Informática Aplicada Aprendizagem de Máquina 3Alessandro L. Koerich ([email protected])

Introdução

Previamente, todas as amostras de treinamento estavam rotuladas, ou seja, com o valor do conceito alvo associado

Estes exemplos são ditos “supervisionados”, pois, contém tanto a entrada (atributos), quanto a saída (valor do conceito alvo).

0.43 0.03 0.40 0.19 0.12 0.16 0.04 0.01 0.00 0.01 0.40 0.02 0 0 1 0

vetor de atributos

valor do conceito alvo associado ao vetor de atributos

Mestrado em Informática Aplicada Aprendizagem de Máquina 4Alessandro L. Koerich ([email protected])

Introdução

Porém, muitas vezes temos que lidar com exemplos “não–supervisionados”, isto é, exemplos não rotulados, ou seja:

sem um conceito alvo associado ou

sem um valor de conceito alvo associado

Por que? Coletar e rotular um grande conjunto de exemplos pode custar muito (tempo, esforço, dinheiro).

Mestrado em Informática Aplicada Aprendizagem de Máquina 5Alessandro L. Koerich ([email protected])

Introdução

Porém, podemos utilizar grandes quantidades de dados não rotulados para treinamento e somente então “usar supervisão” para rotular os agrupamentos encontrados.

Isto é apropriado para aplicações de datamining, onde o conteúdo de grandes bases de dados não é conhecido antecipadamente.

Mestrado em Informática Aplicada Aprendizagem de Máquina 6Alessandro L. Koerich ([email protected])

Introdução

Podemos usar métodos não–supervisionados para identificar características que serão então úteis para categorização.

Podemos ganhar alguma percepção da natureza (ou estrutura) dos dados.

Mestrado em Informática Aplicada Aprendizagem de Máquina 7Alessandro L. Koerich ([email protected])

Introdução

O interesse principal é desvendar a organização dos padrões em clusters (agrupamentos)

consistentes, os quais permitirão descobrir similaridades e diferenças entre padrões bem como derivar conclusões úteis a respeito deles.

Clustering = Aprendizagem Não Supervisionada = Aprendizado Sem Professor = Taxonomia Numérica = Tipologia = Partição.

Mestrado em Informática Aplicada Aprendizagem de Máquina 8Alessandro L. Koerich ([email protected])

Introdução

Exemplo de agrupamentos (clusters)

De acordo com a progenitura Existência de pulmões

Ambiente onde vivem progênitura e existência de pulmões

Mestrado em Informática Aplicada Aprendizagem de Máquina 9Alessandro L. Koerich ([email protected])

Introdução

Assumimos que:

Todos os padrões são representados em termos de atributos (características ou features) que formam vetores de d dimensões

. . .1 d2 3 4 5 6 7

Mestrado em Informática Aplicada Aprendizagem de Máquina 10Alessandro L. Koerich ([email protected])

Introdução

Os passos básicos da tarefa de aprendizagem não supervisionada são:

1. Seleção de atributos

2. Medida de proximidade

3. Critério de agrupamento

4. Algoritmo de agrupamento

5. Verificação dos resultados

6. Interpretação dos resultados

Mestrado em Informática Aplicada Aprendizagem de Máquina 11Alessandro L. Koerich ([email protected])

1. Seleção de Atributos

Atributos devem ser propriamente selecionados para codificar a maior quantidade possível de informações relacionada a tarefa de interesse.

Os atributos devem ter também uma redundância mínima entre eles.

Mestrado em Informática Aplicada Aprendizagem de Máquina 12Alessandro L. Koerich ([email protected])

2. Medida de Proximidade

Medida para quantificar quão similar ou dissimilar são dois vetores de atributos.

É ideal que todos os atributos contribuam de maneira igual no cálculo da medida de proximidade.

Ou seja, que um atributo não seja dominante sobre o outro.

Mestrado em Informática Aplicada Aprendizagem de Máquina 13Alessandro L. Koerich ([email protected])

3. Critério de Agrupamento

Depende da interpretação que o especialista dáao termo ”sensível” com base no tipo de cluster que são esperados.

Por exemplo, um cluster compacto de vetores de atributos pode ser sensível de acordo com um critério enquanto outro cluster alongado, pode ser sensível de acordo com outro critério.

Mestrado em Informática Aplicada Aprendizagem de Máquina 14Alessandro L. Koerich ([email protected])

4. Algoritmo de Agrupamento

Tendo adotado uma medida de proximidade e um critério de agrupamento devemos escolher de um algoritmo de clustering que revele a estrutura agrupada do conjunto de dados.

Mestrado em Informática Aplicada Aprendizagem de Máquina 15Alessandro L. Koerich ([email protected])

5. Validação dos Resultados

Uma vez obtidos os resultados do algoritmo de agrupamento, devemos verificar sua correção.

Isto geralmente é feito através de testes apropriados.

Mestrado em Informática Aplicada Aprendizagem de Máquina 16Alessandro L. Koerich ([email protected])

6. Interpretação dos Resultados

Em geral os resultados de clustering devem ser integrados com outras evidências experimentais e análise para chegar as conclusões corretas.

Mestrado em Informática Aplicada Aprendizagem de Máquina 17Alessandro L. Koerich ([email protected])

Introdução

Atenção: Diferentes escolhas de atributos (features), medidas de proximidade, critérios de agrupamento e algoritmos de clusteringlevam a...

↓resultados totalmente diferentes !!!

Qual resultado é correto ?

Mestrado em Informática Aplicada Aprendizagem de Máquina 18Alessandro L. Koerich ([email protected])

Aplicações de Clustering

Quatro direções básicas onde clustering é utilizado:

Redução de dados

Geração de hipóteses

Teste de hipóteses

Predição baseada em grupos

Mestrado em Informática Aplicada Aprendizagem de Máquina 19Alessandro L. Koerich ([email protected])

Definição de Clustering

Dado um conjunto de dados X:

X = {x1, x2, . . ., xn}

definimos como um m–agrupamento de X a partição de X em m conjuntos (clusters ou grupos) C1, C2, ..., Cm tal que as três condições seguintes sejam satisfeitas:

Um

ii XC

1=

=

mjijiCC ji ,...,2,1, =≠∅=∩

miCi ,...,2,1 , =∅≠

Mestrado em Informática Aplicada Aprendizagem de Máquina 20Alessandro L. Koerich ([email protected])

Definição de Clustering

Nenhum cluster pode ser vazio.

A união de todos os cluster deve ser igual ao conjunto de dados que gerou os clusters, ou seja, X.

A união de dois clusters deve ser vazio, i.e., dois cluster não podem conter vetores em comum.

Um

ii XC

1=

=

mjijiCC ji ,...,2,1, =≠∅=∩

miCi ,...,2,1 , =∅≠

Mestrado em Informática Aplicada Aprendizagem de Máquina 21Alessandro L. Koerich ([email protected])

Definição de Clustering

Além disso, os vetores contidos em um clusterCi são mais similares uns aos outros e menos similares aos vetores presentes nos outros clusters.

Quantificar os termos “similar” e “dissimilar”depende dos tipos de clusters.

Definição alternativa: Um vetor pode pertencer a mais de um cluster

fuzzy clusteringMestrado em Informática Aplicada Aprendizagem de Máquina 22Alessandro L. Koerich ([email protected])

Definição de Clustering

Mestrado em Informática Aplicada Aprendizagem de Máquina 23Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Medidas de Dissimilaridade (DM)Métrica lp ponderada

Métrica Norma l∞ ponderada

Métrica l2 ponderada (Mahalanobis)

Métrica lp especial (Manhattan)

Distância de Hamming

Medidas de Similaridade (SM)Produto interno (inner)

Medida de Tanimoto

Mestrado em Informática Aplicada Aprendizagem de Máquina 24Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Métrica lp ponderada (reais):

onde xi e yi são as i–ésimas coordenadas de x e y, i=1,2,...,l e wi ≥ 0 é o i–ésimo coeficiente de ponderação.

Caso particular: p = 2 → Distância Euclidiana.

pl

i

piiip yxwyxd

/1

1

||),( ⎟⎟⎠

⎞⎜⎜⎝

⎛−= ∑

=

Mestrado em Informática Aplicada Aprendizagem de Máquina 25Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Métrica Norma l∞ ponderada:

Métrica l2 ponderada:

onde B é uma matriz simétrica positiva (Mahalanobis)

||max),(1

iiili

yxwyxd −=≤≤

)()(),( yxByxyxd T −−=

Mestrado em Informática Aplicada Aprendizagem de Máquina 26Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Métrica lp especial:

é também chamada de norma Manhattan.

∑=

−=l

iiii yxwyxd

11 ||),(

Mestrado em Informática Aplicada Aprendizagem de Máquina 27Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Exemplo:

Mestrado em Informática Aplicada Aprendizagem de Máquina 28Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Produto interno (inner):

Medida de Tanimoto:

∑=

==l

iii

Tinner yxyxyxs

1

),(

yxyxyx

yxs

T

TT )()(1

1),(

−−+=

Mestrado em Informática Aplicada Aprendizagem de Máquina 29Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Consideramos agora, vetores x cujas coordenadas pertencem ao conjunto finito F = {0,1,2,..., k–1}, onde k é um inteiro positivo.

Existem exatamente kl vetores x ∈ Fl

Estes vetores podem ser considerados como vértices em um grid l–dimensional.

Mestrado em Informática Aplicada Aprendizagem de Máquina 30Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Grid l–dimensional.

Mestrado em Informática Aplicada Aprendizagem de Máquina 31Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Distância de Hamming:

isto corresponde a soma de todos os elementos fora da diagonal de A, os quais indicam as posições onde x e y diferem.

∑ ∑−

=

≠=

=1

0

1

,0

),(k

i

k

ijjijH ayxd

Mestrado em Informática Aplicada Aprendizagem de Máquina 32Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Medida de Tanimoto:

Existem ainda diversas outras medidas . . .

∑∑∑∑∑∑

∑−

=

=

=

=

=

=

=

−+=

1

1

1

1

1

0

1

1

1

1

1

0

1

1

1),(

k

i

k

jij

k

i

k

jij

k

i

k

jij

k

iii

T

aaa

ayxs

Mestrado em Informática Aplicada Aprendizagem de Máquina 33Alessandro L. Koerich ([email protected])

Medidas de Proximidade

Vetores com valores discretos e reais

Mestrado em Informática Aplicada Aprendizagem de Máquina 34Alessandro L. Koerich ([email protected])

Número de Agrupamentos

A melhor maneira de designar quais vetores de atributos xi, i=1, 2, ..., N de um conjunto Xvetores pertencem a quais clusters seria:

identificar todas as partições possíveis e selecionar a mais “sensível” de acordo com um critério pré–estabelecido.

Entretanto... fazer isto é muito difícil (trabalhoso !!!)

Mestrado em Informática Aplicada Aprendizagem de Máquina 35Alessandro L. Koerich ([email protected])

Número de Agrupamentos

Fazendo S (N, m) representar número de todos os clusters possíveis de N vetores em m grupos.

As seguintes condições se mantêm....S (N,1) = 1

S (N,N) = 1

S (N,m) = 0, para m > N

: lista contendo todos os agrupamentos possíveis de N–1 vetores em k clusters, para k = m, m–1. O N–ésimovetor:

ou será adicionado a um cluster de qualquer membro

ou formará um novo cluster para cada membro

kNL 1−

mNL 1−

11

−−

mNL

Mestrado em Informática Aplicada Aprendizagem de Máquina 36Alessandro L. Koerich ([email protected])

Número de Agrupamentos

Solução → Números de Stirling:

Exemplo: Para X={x1, x2, x3}, quais os agrupamentos possíveis dos elementos em 2 clusters ?

Exemplos numéricos:S (15,3) = 2 375 101

S (25,8) = 690 223 721 118 368 580

S (100,5) ≈ 1068

∑=

− ⎟⎠⎞

⎜⎝⎛−=

m

i

Nim ii

mm

mNS0

)1(!

1),(

Mestrado em Informática Aplicada Aprendizagem de Máquina 37Alessandro L. Koerich ([email protected])

Número de Agrupamentos

Os resultados anteriores são para um número fixo de clusters, m → fixo

Para enumerar todos os clusters possíveis para todos os valores possíveis de m → computacionalmente intratável

Exemplo: 100 objetos, 5 clusters, 10-12 seg/cluster →1048 anos

Entretanto, o objetivo é sempre tentar identificar o agrupamento mais “sensível” ( ou representativo).

Mestrado em Informática Aplicada Aprendizagem de Máquina 38Alessandro L. Koerich ([email protected])

Algoritmos de Clustering

Objetivo: Encontrar agrupamentos representativos considerando somente uma pequena fração do conjunto contendo todas as partições possíveis de X.

Solução: Algoritmos de Clustering

Problema: Os resultados dependem:de um algoritmo específico;

dos critérios utilizados.

Mestrado em Informática Aplicada Aprendizagem de Máquina 39Alessandro L. Koerich ([email protected])

Algoritmos de Clustering

O que é um algoritmo de Clustering?

É um procedimento de aprendizagem que tenta identificar características específicas dos agrupamentos intrínsecos (ou existentes) em um conjunto de dados.

Os algoritmos de clustering podem ser divididos em categorias:

SeqüenciaisHierárquicosBaseados na otimização de funções custoOutros: Fuzzy, LVQ, SOM

Mestrado em Informática Aplicada Aprendizagem de Máquina 40Alessandro L. Koerich ([email protected])

Algoritmos Seqüenciais

Principais características dos algoritmos seqüenciais:

Algoritmos desta categoria produzem um único agrupamento.

São algoritmo diretos e rápidos.

Geralmente, todos os vetores de características são apresentados ao algoritmo uma ou várias vezes (até 5 ou 6 vezes).

O resultado final geralmente depende da ordem de apresentação.

Mestrado em Informática Aplicada Aprendizagem de Máquina 41Alessandro L. Koerich ([email protected])

Algoritmo BSAS

Basic Sequential Algorithmic Scheme (BSAS)

Todos os vetores são apresentados uma única vez ao algoritmo.

Número de clusters não é conhecido a priori.

Novos clusters são criados enquanto o algoritmo evolui.

Mestrado em Informática Aplicada Aprendizagem de Máquina 42Alessandro L. Koerich ([email protected])

Algoritmo BSAS

Parâmetros do BSASd (x, C): distância (ou dissimilaridade) entre um vetor de características x e um cluster C. Θ: limiar de dissimilaridade

q: número máximo de clusters.

m: número de clusters que o algoritmo criou até o momento.

Idéia Básica do BSAS: para um dado vetor, designá–lo para um cluster existente ou criar um novo cluster (depende da distância entre o vetor e os clusters já formados).

Mestrado em Informática Aplicada Aprendizagem de Máquina 43Alessandro L. Koerich ([email protected])

Algoritmo BSAS

2 Esta instrução é ativada nos casos onde cada cluster é representado por umúnico vetor. Por exemplo, se cada cluster for representado por um vetor médio,ele deve ser atualizado cada vez que um novo vetor se tornar membro do cluster.

Mestrado em Informática Aplicada Aprendizagem de Máquina 44Alessandro L. Koerich ([email protected])

Algoritmo BSAS

Para estimar o número de clusters, um procedimento auxiliar é utilizado:

Mestrado em Informática Aplicada Aprendizagem de Máquina 45Alessandro L. Koerich ([email protected])

Algoritmo BSAS

Mestrado em Informática Aplicada Aprendizagem de Máquina 46Alessandro L. Koerich ([email protected])

Melhoramento do Algoritmo BSAS

Modified Basic Sequential Algorithmic Scheme(MBSAS)

Two–Threshold Sequential AlgorithmicScheme (TTSAS)

Estes algoritmos possuem estágios de refinamento, isto é:

um procedimento de unir clusters

um procedimento de re–atribuição de vetores aos clusters.

Mestrado em Informática Aplicada Aprendizagem de Máquina 47Alessandro L. Koerich ([email protected])

Melhoramento do Algoritmo BSAS

Estágio de refinamento: procedimento para unir clusters

Mestrado em Informática Aplicada Aprendizagem de Máquina 48Alessandro L. Koerich ([email protected])

Melhoramento do Algoritmo BSAS

Estágio de refinamento: procedimento para re–atribuição, ou seja, retirar um vetor de um cluster e “colocá–lo” em outro mais próximo.

Mestrado em Informática Aplicada Aprendizagem de Máquina 49Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

Podem ser divididos em 2 subcategorias:

Aglomerativosproduzem uma seqüência de agrupamentos com um número decrescente de clusters, m a cada passo.

Os agrupamentos produzidos em cada passo resultam do anterior pela fusão de dois clusters em um.

DivisivosAtuam na direção oposta, isto é, eles produzem uma seqüência de agrupamentos com um número crescente de clusters, m a cada passo.

Os agrupamentos produzidos em cada passo resultam da partição de um único cluster em dois.

Mestrado em Informática Aplicada Aprendizagem de Máquina 50Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

Os algoritmos hierárquicos tem uma filosofia diferente dos algoritmos seqüenciais.

ao invés de produzir um único agrupamento, eles produzem uma hierarquia de agrupamentos.

Considerando um conjunto de vetores d–dimensionais a serem agrupados:

X = {xi, i=1,2, ..., m}

Definição de agrupamento:

ℜ = {Cj, j=1,2, ...,m}onde Cj ⊆ X.

Mestrado em Informática Aplicada Aprendizagem de Máquina 51Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

Um agrupamento ℜ1 contendo k clusters é dito aninhado (nested) no agrupamento ℜ2, o qual contém r (<k) clusters, se:

cada cluster em ℜ1 for um subconjunto de um conjunto em ℜ2

e pelo menos um cluster de ℜ1 for um subconjunto próprio de ℜ2. Neste caso, escrevemos ℜ1 ¤ ℜ2

Exemplo

Mestrado em Informática Aplicada Aprendizagem de Máquina 52Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

Algoritmos hierárquicos de agrupamento produzem uma hierarquia de agrupamentos aninhados.

Estes algoritmos envolvem N passos, ou seja, tantos passos quanto o número de vetores.

Em cada passo t, um novo agrupamento éobtido baseando–se nos agrupamentos produzidos no passo anterior (t–1).

Mestrado em Informática Aplicada Aprendizagem de Máquina 53Alessandro L. Koerich ([email protected])

Hierárquicos Aglomerativos

O agrupamento inicial ℜ0 para o algoritmo aglomerativo consiste de N clusters cada um contendo um único elemento de X.

No primeiro passo, o agrupamento ℜ1 é produzido. Ele contém N–1 conjuntos, tal que ℜ0 ¤ ℜ1.

Este procedimento continua até o agrupamento final, ℜN–1 ser obtido, o qual contém um único conjunto, isto é, o conjunto de dados X.

A hierarquia dos agrupamentos resultantes é:

ℜ0 ¤ ℜ1 ¤ ℜ2 ¤ . . . ¤ ℜN–1

Mestrado em Informática Aplicada Aprendizagem de Máquina 54Alessandro L. Koerich ([email protected])

Hierárquicos Aglomerativos

Mestrado em Informática Aplicada Aprendizagem de Máquina 55Alessandro L. Koerich ([email protected])

Hierárquicos Aglomerativos

Mestrado em Informática Aplicada Aprendizagem de Máquina 56Alessandro L. Koerich ([email protected])

Hierárquicos Aglomerativos

Mestrado em Informática Aplicada Aprendizagem de Máquina 57Alessandro L. Koerich ([email protected])

Hierárquicos Aglomerativos

Algoritmos aglomerativos baseados na teoria das matrizes

MUAS: Matrix Updating Algorithmic Scheme

WPGMA: Weighted Pair Group Method Average

UPGMA: Unweighted Pair Group Method Average

UPGMC: Unweighted Pair Group Method Centroid

WPGMC: Weighted Pair Group Method Centroid

Ward’s Algorithm

Referência: S. Theodoridis & K. Koutroumbas, Pattern Recognition, Academic Press, 1999.

Mestrado em Informática Aplicada Aprendizagem de Máquina 58Alessandro L. Koerich ([email protected])

Hierárquicos Aglomerativos

Algoritmos aglomerativos baseados na teoria dos grafos

GTAS: Graph Theory–Based Algorithmic Scheme

Algoritmos aglomerativos baseados na árvore mínima

MST: Minimum Spanning Tree

Referência: S. Theodoridis & K. Koutroumbas, Pattern Recognition, Academic Press, 1999.

Mestrado em Informática Aplicada Aprendizagem de Máquina 59Alessandro L. Koerich ([email protected])

Hierárquicos Divisivos

Os algoritmos divisivos trabalham de maneira inversa. O agrupamento inicial ℜ0 para o algoritmo divisivoconsiste de um único conjunto X.

No primeiro passo, o agrupamento ℜ1 é produzido. Ele consiste de dois conjuntos tal que ℜ1 ¤ ℜ2.

Este procedimento continua até que o agrupamento final ℜN–1 seja obtido, o qual contém N conjuntos, cada um consistindo de um único elemento de X.

A hierarquia dos agrupamentos resultantes é:

ℜN–1 ¤ ℜN–2 ¤ . . . ¤ ℜ0

Mestrado em Informática Aplicada Aprendizagem de Máquina 60Alessandro L. Koerich ([email protected])

Hierárquicos Divisivos

O método direto considera todas as 2N–1–1 possíveis partições de X em dois conjuntos e seleciona o ótimo de acordo com um critério pré–especificado.

Este procedimento é aplicado iterativamente a cada um dos dois conjuntos produzidos no estágio precedente.

O agrupamento final consiste de N clusters cada um contendo um único vetor de X.

Mestrado em Informática Aplicada Aprendizagem de Máquina 61Alessandro L. Koerich ([email protected])

Hierárquicos Divisivos

Mestrado em Informática Aplicada Aprendizagem de Máquina 62Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

Escolha do melhor número de clustersO problema é identificar o melhor agrupamento dentro de uma dada hierarquia.

Isto corresponde a identificação do número de clusters que melhor se ajusta aos dados.

Solução: buscar por clusters que tenham um grande “tempo de vida” em um dendograma de proximidades.

Tempo de vida de um cluster: é valor absoluto da diferença entre o nível de proximidade no qual ele é criado e o nível de proximidade no qual ele é absorvido por um cluster maior.

Mestrado em Informática Aplicada Aprendizagem de Máquina 63Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

Mestrado em Informática Aplicada Aprendizagem de Máquina 64Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

Método Extrínsecorequer a determinação do valor de um parâmetro específico, i.e. a definição de uma função h(C) que mede a dissimilaridade entre vetores do mesmo cluster C.

Θ : limiar (threshold) apropriado para a h(C)

Então o algoritmo termina em ℜt se

ou seja, ℜt é o agrupamento final se existir um clusterC em ℜt+1, com dissimilaridade entre seus vetores h(C) maior do que Θ.

Θ>ℜ∈∃ + )(:1 jtj ChC

Mestrado em Informática Aplicada Aprendizagem de Máquina 65Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

},),,({)(

},),,(max{)(

2

1

CyxyxdmedCh

CyxyxdCh

∈=∈=

Mestrado em Informática Aplicada Aprendizagem de Máquina 66Alessandro L. Koerich ([email protected])

Algoritmos Hierárquicos

Método IntrínsecoO agrupamento final ℜt deve satisfazer a seguinte relação:

ou seja, no agrupamento final, a dissimilaridade entre cada par de clusters é maior do que a “auto–similaridade” entre cada um deles.

tjijijiss CCChChCCd ℜ∈∀> , )},(),(max{),(min

Mestrado em Informática Aplicada Aprendizagem de Máquina 67Alessandro L. Koerich ([email protected])

Algoritmos Baseados em Otimização

Baseiam–se na otimização de uma função custo Jusando diferente técnicas de cálculo.

O custo J é uma função dos vetores do conjunto de dados X e ele é parametrizado em termos de um vetor de parâmetros desconhecidos Θ.

O número de clusters m assume–se como sendo conhecido.

Meta: estimação do Θ que melhor caracterize os clusters intrínsecos em X.

Mestrado em Informática Aplicada Aprendizagem de Máquina 68Alessandro L. Koerich ([email protected])

Algoritmos Baseados em Otimização

Três categorias principais de algoritmos baseados na otimização de uma função custo:

Decomposição de misturas

Método Fuzzy

Métodos Possibilísticos

Métodos Hard

Mestrado em Informática Aplicada Aprendizagem de Máquina 69Alessandro L. Koerich ([email protected])

Algoritmos Baseados em Otimização

Decomposição de Misturas: a função custo é construída com base em vetores aleatórios e a atribuição aos clusters segue argumentos probabilísticos.

Método Fuzzy: é definida uma função de proximidade entre um vetor e um cluster e o “grau de afiliação (adesão)” de um vetor a um cluster é fornecido por um conjunto de funções afiliação.

Mestrado em Informática Aplicada Aprendizagem de Máquina 70Alessandro L. Koerich ([email protected])

Algoritmos Baseados em Otimização

Métodos HardCada vetor pertence exclusivamente a um único cluster.

Por isso estes métodos são chamados de hard.

A maioria dos algoritmos de clustering mais conhecidos recaem nesta categoria.

k–Means ou c–Means se encaixa nesta categoria ! ! !

Mestrado em Informática Aplicada Aprendizagem de Máquina 71Alessandro L. Koerich ([email protected])

Outros Algoritmos

Algoritmos que não podem ser incluídos nas categorias prévias.

Algoritmos baseados na teoria dos grafos

Algoritmos de aprendizagem competitiva

Algoritmos branch and bound

Algoritmos baseados em transformações morfológicas

Algoritmos baseados em limites entre os clusters

Algoritmos de regiões compactas

Algoritmos baseados na otimização de funções (annealing)

Algoritmos baseados em GA

Mestrado em Informática Aplicada Aprendizagem de Máquina 72Alessandro L. Koerich ([email protected])

Validade dos Clusters

Existem métodos para avaliar quantitativamente os resultados dos algoritmos de agrupamento.

Referência: S. Theodoridis & K. Koutroumbas, Pattern Recognition, Academic Press, 1999.

Mestrado em Informática Aplicada Aprendizagem de Máquina 73Alessandro L. Koerich ([email protected])

Resumo

Aprendizagem não supervisionada ou clustering (agrupamento) busca extrair informação relevante de dados não rotulados.

Uma solução mais geral consiste em definir medidas de similaridade entre dois clusters assim como um critério global como a soma do erro quadrático.

Existem vários algoritmos que fazem agrupamento.

Os algoritmos de agrupamento são classificados como hierárquicos ou seqüenciais (ou iterativos).

Mestrado em Informática Aplicada Aprendizagem de Máquina 74Alessandro L. Koerich ([email protected])

Introdução: Aprendizagem

D (exemplos de treinamento) H (conjunto de hipóteses)

h1h2h4

P(h1), P(D| h1) P(h2), P(D| h2) P(h3), P(D| h3)

treinamento

BayesÁrvore Hipóteses

Mestrado em Informática Aplicada Aprendizagem de Máquina 75Alessandro L. Koerich ([email protected])

Introdução: Classificação

x (exemplo de teste)

h1h2h4

P(h1), P(D| h1) P(h2), P(D| h2) P(h3), P(D| h3)

Valor do Conceito Alvo

Bayes

Árvore de Decisão

Hipóteses