Você está na página 1de 19

Plano de Aula

Aprendizagem não supervisionada


Aprendizagem de Máquina “

Aprendizagem Não Supervisionada “ Algoritmos de agrupamento (Clustering)


“ Seqüenciais
Alessandro L. Koerich “ Hierárquicos
“ Baseados na otimização de funções
“ Outros

Mestrado em Informática Aplicada


Pontifícia Universidade Católica do Paraná (PUCPR)
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 2

Introdução Introdução

“ Previamente, todas as amostras de treinamento “ Porém, muitas vezes temos que lidar com
estavam rotuladas, ou seja, com o valor do conceito alvo exemplos “não–supervisionados”, isto é,
associado
exemplos não rotulados, ou seja:
vetor de atributos “ sem um conceito alvo associado ou
“ sem um valor de conceito alvo associado
0.43 0.03 0.40 0.19 0.12 0.16 0.04 0.01 0.00 0.01 0.40 0.02
0010
“ Por que? Coletar e rotular um grande conjunto
valor do conceito alvo associado ao vetor de atributos
de exemplos pode custar muito (tempo, esforço,
dinheiro).
“ Estes exemplos são ditos “supervisionados”, pois,
contém tanto a entrada (atributos), quanto a saída
(valor do conceito alvo).
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 3 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 4
Introdução Introdução

“ Porém, podemos utilizar grandes quantidades “ Podemos usar métodos não–supervisionados


de dados não rotulados para treinamento e para identificar características que serão então
somente então “usar supervisão” para rotular os úteis para categorização.
agrupamentos encontrados.
“ Podemos ganhar alguma percepção da natureza
“ Isto é apropriado para aplicações de (ou estrutura) dos dados.
datamining, onde o conteúdo de grandes bases
de dados não é conhecido antecipadamente.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 5 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 6

Introdução Introdução

O interesse principal é desvendar a organização Exemplo de agrupamentos (clusters)


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.
De acordo com a progenitura Existência de pulmões

Clustering = Aprendizagem Não


Supervisionada = Aprendizado Sem Professor =
Taxonomia Numérica = Tipologia = Partição.
Ambiente onde vivem progênitura e existência de pulmões

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 7 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 8
Introdução Introdução

“ Assumimos que: “ Os passos básicos da tarefa de aprendizagem


não supervisionada são:
Todos os padrões são representados em termos
de atributos (características ou features) que 1. Seleção de atributos
formam vetores de d dimensões 2. Medida de proximidade
3. Critério de agrupamento
4. Algoritmo de agrupamento
... 5. Verificação dos resultados
1 2 3 4 5 6 7 d
6. Interpretação dos resultados

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 9 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 10

1. Seleção de Atributos 2. Medida de Proximidade

“ Atributos devem ser propriamente selecionados “ Medida para quantificar quão similar ou
para codificar a maior quantidade possível de dissimilar são dois vetores de atributos.
informações relacionada a tarefa de interesse.
“ É ideal que todos os atributos contribuam de
“ Os atributos devem ter também uma maneira igual no cálculo da medida de
redundância mínima entre eles. proximidade.

“ Ou seja, que um atributo não seja dominante


sobre o outro.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 11 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 12
3. Critério de Agrupamento 4. Algoritmo de Agrupamento

“ Depende da interpretação que o especialista dá “ Tendo adotado uma medida de proximidade e


ao termo ”sensível” com base no tipo de cluster um critério de agrupamento devemos escolher
que são esperados. de um algoritmo de clustering que revele a
estrutura agrupada do conjunto de dados.
“ 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.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 13 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 14

5. Validação dos Resultados 6. Interpretação dos Resultados

“ Uma vez obtidos os resultados do algoritmo de “ Em geral os resultados de clustering devem ser
agrupamento, devemos verificar sua correção. integrados com outras evidências experimentais
e análise para chegar as conclusões corretas.
“ Isto geralmente é feito através de testes
apropriados.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 15 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 16
Introdução Aplicações de Clustering

“ Atenção: Diferentes escolhas de atributos “ Quatro direções básicas onde clustering é


(features), medidas de proximidade, critérios utilizado:
de agrupamento e algoritmos de clustering
levam a... “ Redução de dados
Geração de hipóteses

“

“ Teste de hipóteses
resultados totalmente diferentes !!! “ Predição baseada em grupos

“ Qual resultado é correto ?

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 17 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 18

Definição de Clustering Definição de Clustering

“ Dado um conjunto de dados X: Ci ≠ ∅ , i = 1,2,..., m

X = {x1, x2, . . ., xn} “ Nenhum cluster pode ser vazio.


definimos como um m–agrupamento de X a m
=X
UC i
partição de X em m conjuntos (clusters ou i =1

grupos) C1, C2, ..., Cm tal que as três condições “ A união de todos os cluster deve ser igual ao
seguintes sejam satisfeitas: conjunto de dados que gerou os clusters, ou
seja, X.
Ci ≠ ∅, i = 1,2,..., m
m Ci ∩ C j = ∅ i≠ j i, j = 1,2,..., m
UCi = X
i =1 “ A união de dois clusters deve ser vazio, i.e., dois
Ci ∩ C j = ∅ i≠ j i, j = 1,2,..., m
cluster não podem conter vetores em comum.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 19 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 20
Definição de Clustering Definição de Clustering

“ Além disso, os vetores contidos em um cluster


Ci 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 clustering
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 21 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 22

Medidas de Proximidade Medidas de Proximidade

“ Medidas de Dissimilaridade (DM) “ Métrica lp ponderada (reais):


“ Métrica lp ponderada
1/ p
“ Métrica Norma l∞ ponderada ⎛ l ⎞
“ Métrica l2 ponderada (Mahalanobis) d p ( x , y) = ⎜⎜ ∑ wi | x i − yi |p ⎟⎟
⎝ i =1 ⎠
“ Métrica lp especial (Manhattan)
“ Distância de Hamming
onde xi e yi são as i–ésimas coordenadas de x e
“ Medidas de Similaridade (SM) y, i=1,2,...,l e wi ≥ 0 é o i–ésimo coeficiente de
“ Produto interno (inner)
ponderação.
“ Medida de Tanimoto
Caso particular: p = 2 → Distância Euclidiana.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 23 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 24
Medidas de Proximidade Medidas de Proximidade

“ Métrica Norma l∞ ponderada: “ Métrica lp especial:

d ( x , y ) = max wi | x i − yi |
1≤ i ≤l l
d1 ( x , y ) = ∑ wi | x i − yi |
i =1
“ Métrica l2 ponderada:
é também chamada de norma Manhattan.
d ( x , y ) = ( x − y ) B( x − y ) T

onde B é uma matriz simétrica positiva


(Mahalanobis)
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 25 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 26

Medidas de Proximidade Medidas de Proximidade

“ Exemplo: “ Produto interno (inner):

l
sinner ( x , y) = x y = ∑ x i yi T

i =1

“ Medida de Tanimoto:

1
sT ( x , y ) =
( x − y )T ( x − y )
1+
xT y
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 27 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 28
Medidas de Proximidade Medidas de Proximidade

“ Consideramos agora, vetores x cujas “ Grid l–dimensional.


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.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 29 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 30

Medidas de Proximidade Medidas de Proximidade

“ Distância de Hamming: “ Medida de Tanimoto:


k −1

dH ( x , y) = ∑
k −1 k −1

∑ aij ∑a ii

i =0 j =0, j ≠ i sT ( x , y ) = k −1 k −1
i =1
k −1 k −1 k −1 k −1

∑∑ a + ∑∑ a ij ij 1 − ∑∑ aij
isto corresponde a soma de todos os elementos i =1 j = 0 i = 0 j =1 i =1 j =1

fora da diagonal de A, os quais indicam as


posições onde x e y diferem. Existem ainda diversas outras medidas . . .

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 31 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 32
Medidas de Proximidade Número de Agrupamentos

“ Vetores com valores discretos e reais “ A melhor maneira de designar quais vetores de
atributos xi, i=1, 2, ..., N de um conjunto X
vetores 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 !!!)

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 33 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 34

Número de Agrupamentos Número de Agrupamentos

“ Fazendo S (N, m) representar número de todos os Solução → Números de Stirling:


clusters possíveis de N vetores em m grupos.
1 m ⎛m⎞
S( N , m) = ∑
m! i =0
( −1 ) m − i ⎜ ⎟ i N
⎝ i ⎠
“ As seguintes condições se mantêm....
“ S (N,1) = 1
“ Exemplo: Para X={x1, x2, x3}, quais os agrupamentos
“ S (N,N) = 1
possíveis dos elementos em 2 clusters ?
“ S (N,m) = 0, para m > N

“ Exemplos numéricos:
LkN −1 : lista contendo todos os agrupamentos possíveis de
“ S (15,3) = 2 375 101
N–1 vetores em k clusters, para k = m, m–1. O N–ésimo
“ S (25,8) = 690 223 721 118 368 580
vetor:
“ S (100,5) ≈ 1068
“ ou será adicionado a um cluster de qualquer membro LmN −1
“ ou formará um novo cluster para cada membro LmN−−11
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 35 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 36
Número de Agrupamentos Algoritmos de Clustering

“ Os resultados anteriores são para um número fixo de “ Objetivo: Encontrar agrupamentos


clusters, m → fixo representativos considerando somente uma
pequena fração do conjunto contendo todas as
“ Para enumerar todos os clusters possíveis para todos os partições possíveis de X.
valores possíveis de m → computacionalmente
intratável
“ Solução: Algoritmos de Clustering
“ Exemplo: 100 objetos, 5 clusters, 10-12 seg/cluster →
1048 anos
“ Problema: Os resultados dependem:
“ de um algoritmo específico;
“ Entretanto, o objetivo é sempre tentar identificar o
“ dos critérios utilizados.
agrupamento mais “sensível” ( ou representativo).

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 37 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 38

Algoritmos de Clustering Algoritmos Seqüenciais

“ O que é um algoritmo de Clustering? “ Principais características dos algoritmos


seqüenciais:
“ É um procedimento de aprendizagem que tenta “ Algoritmos desta categoria produzem um único
identificar características específicas dos agrupamento.
agrupamentos intrínsecos (ou existentes) em um
“ São algoritmo diretos e rápidos.
conjunto de dados.
“ Geralmente, todos os vetores de características são
apresentados ao algoritmo uma ou várias vezes (até 5
“ Os algoritmos de clustering podem ser ou 6 vezes).
divididos em categorias:
“ O resultado final geralmente depende da ordem de
“ Seqüenciais
apresentação.
“ Hierárquicos
“ Baseados na otimização de funções custo
“ Outros: Fuzzy, LVQ, SOM
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 39 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 40
Algoritmo BSAS Algoritmo BSAS

“ Basic Sequential Algorithmic Scheme (BSAS) “ Parâmetros do BSAS


“ d (x, C): distância (ou dissimilaridade) entre um
“ Todos os vetores são apresentados uma única vez ao vetor de características x e um cluster C. Θ: limiar de
algoritmo. dissimilaridade
“ q: número máximo de clusters.
“ Número de clusters não é conhecido a priori. “ m: número de clusters que o algoritmo criou até o
momento.

“ Novos clusters são criados enquanto o algoritmo


evolui. “ 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).
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 41 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 42

Algoritmo BSAS Algoritmo BSAS

“ Para estimar o número de clusters, um


procedimento auxiliar é utilizado:

2 Estainstruçã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.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 43 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 44
Algoritmo BSAS Melhoramento do Algoritmo BSAS

“ Modified Basic Sequential Algorithmic Scheme


(MBSAS)
“ Two–Threshold Sequential Algorithmic
Scheme (TTSAS)

“ Estes algoritmos possuem estágios de


refinamento, isto é:
“ um procedimento de unir clusters
“ um procedimento de re–atribuição de vetores aos
clusters.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 45 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 46

Melhoramento do Algoritmo BSAS Melhoramento do Algoritmo BSAS

“ Estágio de refinamento: procedimento para “ Estágio de refinamento: procedimento para re–


unir clusters atribuição, ou seja, retirar um vetor de um
cluster e “colocá–lo” em outro mais próximo.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 47 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 48
Algoritmos Hierárquicos Algoritmos Hierárquicos

“ Podem ser divididos em 2 subcategorias: “ Os algoritmos hierárquicos tem uma filosofia diferente
dos algoritmos seqüenciais.

“ Aglomerativos “ ao invés de produzir um único agrupamento, eles produzem


“ produzem uma seqüência de agrupamentos com um uma hierarquia de agrupamentos.
número decrescente de clusters, m a cada passo.
“ Os agrupamentos produzidos em cada passo resultam do “ Considerando um conjunto de vetores d–dimensionais
anterior pela fusão de dois clusters em um.
a serem agrupados:
X = {xi, i=1,2, ..., m}
“ Divisivos
“ Atuam na direção oposta, isto é, eles produzem uma “ Definição de agrupamento:
seqüência de agrupamentos com um número crescente de
clusters, m a cada passo. ℜ = {Cj, j=1,2, ...,m}
“ Os agrupamentos produzidos em cada passo resultam da onde Cj ⊆ X.
partição de um único cluster em dois.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 49 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 50

Algoritmos Hierárquicos Algoritmos Hierárquicos

“ Um agrupamento ℜ1 contendo k clusters é dito “ Algoritmos hierárquicos de agrupamento


aninhado (nested) no agrupamento ℜ2, o qual produzem uma hierarquia de agrupamentos
contém r (<k) clusters, se: aninhados.

“ cada cluster em ℜ1 for um subconjunto de um “ Estes algoritmos envolvem N passos, ou seja,


conjunto em ℜ2
tantos passos quanto o número de vetores.
“ e pelo menos um cluster de ℜ1 for um subconjunto
próprio de ℜ2. Neste caso, escrevemos ℜ1 ¤ ℜ2 “ Em cada passo t, um novo agrupamento é
obtido baseando–se nos agrupamentos
“ Exemplo produzidos no passo anterior (t–1).

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 51 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 52
Hierárquicos Aglomerativos 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
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 53 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 54

Hierárquicos Aglomerativos Hierárquicos Aglomerativos

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 55 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 56
Hierárquicos Aglomerativos Hierárquicos Aglomerativos

“ Algoritmos aglomerativos baseados na teoria “ Algoritmos aglomerativos baseados na teoria


das matrizes dos grafos
“ MUAS: Matrix Updating Algorithmic Scheme “ GTAS: Graph Theory–Based Algorithmic Scheme
“ WPGMA: Weighted Pair Group Method Average
“ UPGMA: Unweighted Pair Group Method Average “ Algoritmos aglomerativos baseados na árvore
“ UPGMC: Unweighted Pair Group Method Centroid mínima
“ WPGMC: Weighted Pair Group Method Centroid “ MST: Minimum Spanning Tree
“ Ward’s Algorithm

“ Referência: S. Theodoridis & K. Koutroumbas, Referência: S. Theodoridis & K. Koutroumbas,


Pattern Recognition, Academic Press, 1999. Pattern Recognition, Academic Press, 1999.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 57 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 58

Hierárquicos Divisivos Hierárquicos Divisivos

“ Os algoritmos divisivos trabalham de maneira inversa. “ O método direto considera todas as 2N–1–1
O agrupamento inicial ℜ0 para o algoritmo divisivo possíveis partições de X em dois conjuntos e
consiste de um único conjunto X.
seleciona o ótimo de acordo com um critério
pré–especificado.
“ No primeiro passo, o agrupamento ℜ1 é produzido. Ele
consiste de dois conjuntos tal que ℜ1 ¤ ℜ2.
“ Este procedimento é aplicado iterativamente a
“ Este procedimento continua até que o agrupamento cada um dos dois conjuntos produzidos no
final ℜN–1 seja obtido, o qual contém N conjuntos, cada estágio precedente.
um consistindo de um único elemento de X.

“ A hierarquia dos agrupamentos resultantes é: “ O agrupamento final consiste de N clusters cada


ℜN–1 ¤ ℜN–2 ¤ . . . ¤ ℜ0 um contendo um único vetor de X.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 59 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 60
Hierárquicos Divisivos Algoritmos Hierárquicos

“ Escolha do melhor número de clusters


“ O 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.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 61 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 62

Algoritmos Hierárquicos Algoritmos Hierárquicos

“ Método Extrínseco
“ requer 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

∃C j ∈ ℜ t + 1 : h(C j ) > Θ

ou seja, ℜt é o agrupamento final se existir um cluster


C em ℜt+1, com dissimilaridade entre seus vetores h(C)
maior do que Θ.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 63 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 64
Algoritmos Hierárquicos Algoritmos Hierárquicos

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

ss
d min (C i , C j ) > max{ h(C i ), h(C j )}, ∀C i , C j ∈ ℜ t

ou seja, no agrupamento final, a dissimilaridade


entre cada par de clusters é maior do que a “auto–
h1 (C) = max{d(x, y),x, y ∈C } similaridade” entre cada um deles.
h2 (C ) = med{d(x, y),x, y ∈C}

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 65 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 66

Algoritmos Baseados em Otimização Algoritmos Baseados em Otimização

“ Baseiam–se na otimização de uma função custo J “ Três categorias principais de algoritmos


usando diferente técnicas de cálculo.
baseados na otimização de uma função custo:
“ O custo J é uma função dos vetores do conjunto de
dados X e ele é parametrizado em termos de um vetor “ Decomposição de misturas
de parâmetros desconhecidos Θ.
“ Método Fuzzy
“ O número de clusters m Æ assume–se como sendo
conhecido.
“ Métodos Possibilísticos
“ Meta: estimação do Θ que melhor caracterize os
clusters intrínsecos em X. “ Métodos Hard

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 67 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 68
Algoritmos Baseados em Otimização Algoritmos Baseados em Otimização

“ Decomposição de Misturas: a função custo é “ Métodos Hard


construída com base em vetores aleatórios e a “ Cada vetor pertence exclusivamente a um único
atribuição aos clusters segue argumentos cluster.
probabilísticos. “ Por isso estes métodos são chamados de hard.
“ A maioria dos algoritmos de clustering mais
conhecidos recaem nesta categoria.
“ 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 “ k–Means ou c–Means se encaixa nesta
afiliação. categoria ! ! !

Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 69 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 70

Outros Algoritmos Validade dos Clusters

“ Algoritmos que não podem ser incluídos nas “ Existem métodos para avaliar
categorias prévias. quantitativamente os resultados dos algoritmos
“ Algoritmos baseados na teoria dos grafos de agrupamento.
“ Algoritmos de aprendizagem competitiva
“ Algoritmos branch and bound “ Referência: S. Theodoridis & K. Koutroumbas,
“ Algoritmos baseados em transformações Pattern Recognition, Academic Press, 1999.
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
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 71 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 72
Resumo Introdução: Aprendizagem
D (exemplos de treinamento) H (conjunto de hipóteses)
“ 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 treinamento


similaridade entre dois clusters assim como um critério
global como a soma do erro quadrático.

“ Existem vários algoritmos que fazem agrupamento.


h1 P(h1), P(D| h1)
h2 P(h2), P(D| h2)
“ Os algoritmos de agrupamento são classificados como h4 P(h3), P(D| h3)
hierárquicos ou seqüenciais (ou iterativos).
Árvore Hipóteses Bayes
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 73 Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 74

Introdução: Classificação

Árvore de Decisão

h1
h2 Valor do Conceito Alvo
h4
x (exemplo de teste) Hipóteses

P(h1), P(D| h1)


P(h2), P(D| h2)
P(h3), P(D| h3)
Bayes
Alessandro L. Koerich (alekoe@ppgia.pucpr.br) Mestrado em Informática Aplicada Aprendizagem de Máquina 75

Você também pode gostar