06-12-2003 11
Fun es de c ust o
Fun es de c ust o
Je mede o erro quadrtico total em representar as amostras
x
1
, x
2
, ... , x
n
por c agrupamentos com o centro em m
1
, m
2
, ...
, m
n
06-12-2003 12
Fun es de c ust o
Fun es de c ust o
Mais funes de custo:
Mdia
Mediana
Distncia mxima
A expresso generalizada fica:
ou
Outros critrios existem baseados em matrizes esparsas:
O critrio do trao da matriz: soma de todos os elementos da
diagonal.
O critrio do determinante da matriz.
O critrio invariante, baseado nos valores prprios.
2
'
1
( , ')
i
x Di x Di
s s x x
n
=
, '
min ( , ')
i
x x Di
s s x s
=
06-12-2003 13
Al gor i t mos i t er at i vos
Al gor i t mos i t er at i vos
Uma vez que a funo de custo j foi definida devemos
encontrar uma partio dos dados que minimize o critrio.
O mtodo exaustivo, consiste em definir todas as parties
possveis, e garante uma soluo ptima
No entanto no possvel ser realizado, por exemplo para 5
clusters (agrupamentos de dados) e 100 amostras existem 10
67
parties possveis.
A abordagem mais comum definir um processo iterativo
Encontrar uma partio inicial dos dados razovel.
Mover as amostras de uma partio para outra de forma a
minimizar a funo de custo.
Soluo sub ptima mas computacionalmente fazvel
06-12-2003 14
Mt odos i t er at i vos
Mt odos i t er at i vos
Considerar dois grupos de mtodos iterativos
Algoritmos de agrupamento planos:
Produzem um conjunto de agrupamentos disjuntos
Algoritmos mais conhecidos:
Algoritmo k-means
Algoritmo LBG
Algoritmo k-means difuso
ISODATA
Algoritmos de agrupamento hierrquicos:
O resultado uma hierarquia de agrupamentos
Podem ser divididos em duas classes: aglomerativos e
hierrquicos.
06-12-2003 15
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as
mdi as
O algoritmo de k-mdias um algoritmo iterativo que tenta
minimizar o erro quadrtico mdio (funo de custo Je)
O algoritmo de k-mdias bastante usado nas reas de
processamento de sinal, telecomunicaes e data mining.
Relao ntima com a quantificao vectorial:
Valores unidimensionais so habitualmente quantificados num
nmero finito de nveis (tipicamente uma potncia de 2 para serem
transmitidos ou guardados em binrio)
O conjunto dos agrupamento referido como um codebook, e o
algoritmo de k-mdias permite encontrar o codebook que
minimiza o erro quadrtico mdio
Pode ser estendido a mltiplos canais.
06-12-2003 16
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as
mdi as
1. Defini-se o nmero de clusters (agrupamentos)
2. Incializa-se os clusters atravs de:
Atribuio arbitrria das amostras aos clusters ou
um conjunto de centrides em posies arbitrrias coincidentes
com amostras dos dados.
3. Iterao nas amostras; para cada amostra:
Procura-se o centride mais prximo.
Atribui-se a amostra ao cluster correspondente.
Recalcula-se o centride para esse cluster.
4. Volta-se ao passo 3, at um critrio de convergncia ser
cumprido.
06-12-2003 17
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as
mdi as
O centride corresponde mdia de todas as amostras que
pertence a esse centride:
Classificao:
Critrios de convergncia:
At que nenhuma amostra mude de agrupamento.
At que os centrides no sejam alterados.
At que o valor da funo de custo se mantenha constante, ou
menor que um limite.
At alcanar um limite para o nmero de iteraes.
1
i
i
x X
x x
Ni
=
: argmin
k
i
i
x X k x x =
06-12-2003 18
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as
mdi as
Inicializao dos centrides
Nmero
pr-determinado
de clusters
06-12-2003 19
At r i bui o das amost r as
At r i bui o das amost r as
06-12-2003 20
Pr oc ur ar novos
Pr oc ur ar novos
c ent r i des
c ent r i des
06-12-2003 21
Novos
Novos
c l ust er s
c l ust er s
06-12-2003 22
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as (t r s i t er a es)
mdi as (t r s i t er a es)
06-12-2003 23
Al gor i t mo de k Al gor i t mo de k - -mdi as (segment a o de i magem) mdi as (segment a o de i magem)
06-12-2003 24
Al gor i t mo LBJ (Li nde,
Al gor i t mo LBJ (Li nde,
Buzo
Buzo
e
e
Gr ay
Gr ay
)
)
Semelhante ao algoritmo de k-mdias:
1. Seleco inicial do n. de clusters e de cada centride.
2. Iterao nas amostras; para cada amostra:
Procura-se o centride mais prximo.
Atribui-se a amostra ao cluster correspondente.
3. Depois da iterao de todas as amostras, recalcula-se os
centrides de acordo com a nova atribuio de pontos.
4. Volta-se ao passo 3, at um critrio de convergncia ser
cumprido.
06-12-2003 25
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as di f uso
mdi as di f uso
O algoritmo de k-mdias difuso baseia-se na noo de
partio difusa permitindo que um padro pertena a vrias
classes.
O objectivo do algoritmo de k-mdias difuso procurar um
mnimo para a seguinte funo de custo:
Para b=0, a funo de custo igual ao erro quadrtico
mdio.
Para b>1, permite-se que cada padro pertena a vrias
classes.
2
1 1
( | , )
b
c n
fuz i j j i
i j
J P w x x u
= =
=
06-12-2003 26
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as di f uso
mdi as di f uso
1. Inicializao: n, c, b,
1
,
2
,..,
c
, P(w
i
| x
j
)
2. Normalizao de P(w
i
| x
j
):
3. Calcula-se u
i
atravs de:
1
( | ) 1
c
i j
i
P w x
=
=
1
1
( | )
( | )
n
b
i j j
j
j
n
b
i j
j
P w x x
u
P w x
=
=
=
06-12-2003 27
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as di f uso
mdi as di f uso
4. Recalcula-se P(w
i
| x
j
):
5. Volta-se ao passo 3, at um critrio de convergncia ser
cumprido, p.e. pequenas alteraes em u
i
e P(w
i
| x
j
).
Interpretao: A funo de custo minimizada quando os
centrides u
j
esto perto dos pontos com probabilidade
estimada de pertencer ao cluster j.
1/( 1)
2
1/( 1)
1
(1/ )
( | )
(1/ )
com
b
ij
i j ij j i
c
b
ij
r
d
P w x d x u
d
=
= =
06-12-2003 28
Al gor i t mo de k
Al gor i t mo de k
-
-
mdi as di f uso
mdi as di f uso
06-12-2003 29
Di sc usso: k
Di sc usso: k
-
-
mdi as
mdi as
Aplicvel a grandes conjuntos de dados
Sensvel s condies de inicializao:
Pode-se utilizar outras heursticas para procurar os centrides
iniciais de uma forma adequada.
Converge para um mnimo local.
A especificao do nmero de centrides muito subjectiva.
06-12-2003 30
Al gor i t mo I SODATA
Al gor i t mo I SODATA
ISODATA, representa IterativeSelf-OrganizingData
AnalysisTechniqueAlgorithm.
Extende o algoritmo de k-mdias para seleccionar
automaticamente o nmero de clusters.
Permite eliminar clusters com poucas amostras.
Permite dividir clusters com amostras pouco semelhantes entre si.
Permite juntar clusters muito perto uns dos outros.
Parmetros tpicos:
Nmin_ex : nmero mnimo de exemplos por cluster
Nd : nmero de clusters desejados (valor aproximado)
s
2
: valor mximo de varincia para a diviso de um cluster em 2.
06-12-2003 31
Al gor i t mo I SODATA
Al gor i t mo I SODATA
Mais parmetros:
Dmerge: distncia mxima da separao de clusters para
agrupar dois clusters.
Nmerge: nmero mximo de clusters que podem ser agrupados.
O algoritmo funciona de uma forma iterativa:
1. Efectuar o clustering com o algortimo k-means
2. Dividir quaisquer clusters cujas amostras so suficientemente
diferentes
3. Agrupar dois clusters suficientemente semelhantes (perto)
4. Voltar a (1)
06-12-2003 32
Al gor i t mo I SODATA
Al gor i t mo I SODATA
06-12-2003 33
Al gor i t mo I SODATA (ex empl o)
Al gor i t mo I SODATA (ex empl o)
06-12-2003 34
Al gor i t mo I SODATA (ex empl o)
Al gor i t mo I SODATA (ex empl o)
06-12-2003 35
Cl ust er i ng
Cl ust er i ng
Hi er r qui c o
Hi er r qui c o
Os algoritmos k-mdias, k-mdias difuso, LBG e ISODATA
criam clusteres disjuntos, resultando numa representao
plana dos dados.
Por vezes, necessrio obter uma representao
hierrquica dos dados, com clusters e sub-clusters
arranjados de uma forma estruturada em arvore.
Os mtodos de clustering hierrquicos podem ser agrupados
em duas classes:
Aglomerativos (bottom-up, merging): Comea-se com N clusters
com uma nica amostra e agrupam-se sucessivamente at obter
um nico cluster.
Divisivos (bottom-down, splitting): Comea-se com um cluster (com
todos os dados) e divide-se sucessivamente at obter N clusters.
06-12-2003 36
Cl ust er i ng
Cl ust er i ng
Hi er r qui c o
Hi er r qui c o
A representao preferida para os clusters hierrquicos o
dendograma
rvore binria que mostra a estrutura dos clusters, tambm permite
medir a semelhana entre clusters (eixo vertical).
Alternativa: conjuntos de amostras (diagrama de Venn)
06-12-2003 37
Cl ust er i ng
Cl ust er i ng
Agl omer at i vo
Agl omer at i vo
Passo 1: Atribuir um padro por cluster (N clusters)
Passo 2: Encontrar o par de clusters mais semelhantes.
Passo 3:Juntar os dois padres num nico cluster
Passo 4:Se o nmero de clusters (Nc) > 1 voltar a 2.
Como encontrar os padres mais semelhantes ?
Distncia mnima
Distncia mxima
Distncia mdia
Distncia entre mdias
min
,
( , ) min
i j
i j
x w y w
d w w x y
=
max
,
( , ) max
i j
i j
x w y w
d w w x y
=
1
( , )
i j
media i j
x w y w
i j
d w w x y
N N
=
_
( , )
entre medias i j i j
d w w u u =
06-12-2003 38
Cl ust er i ng
Cl ust er i ng
Agl omer at i vo
Agl omer at i vo
Distncia mnima:
Quando utilizada, o algoritmo referido como o vizinho mais
prximo ou single-link.
O resultado do algoritmo uma rvore binria MST (minimum
spanning tree)
Favorece classes enlongadas.
Distncia mxima:
Quando utilizada, o algoritmo referido como o vizinho mais longe
ou complete-link.
Cada cluster constitui um sub-grafo completo.
Favorece classes compactas.
06-12-2003 39
Cl ust er i ng
Cl ust er i ng
Agl omer at i vo
Agl omer at i vo
(
(
si ngl e
si ngl e
l i nk )
l i nk )
06-12-2003 40
Cl ust er i ng
Cl ust er i ng
Agl omer at i vo
Agl omer at i vo
(c ompl et e l i nk )
(c ompl et e l i nk )
O algoritmo pode terminar quando a distncia entre clusters
maior que um limiar (dmax).
06-12-2003 41
Cl ust er i ng
Cl ust er i ng
Agl omer at i vo
Agl omer at i vo
Distncia mdia ou distncia entre mdias:
A distncia mnima ou mxima so bastante sensveis a outliers
(pontos afastados).
Estas distncias permitem resolver esse problema.
Das duas a distncia entre mdias computacionalmente mais
atractiva:
Para a distncia mdia necessrio calcular N
i
N
j
distncias para
cada par de clusters.
06-12-2003 42
Cl ust er i ng
Cl ust er i ng
Agl omer at i vo
Agl omer at i vo
(ex empl o)
(ex empl o)
Considere o problema de agrupar as nove maior cidades
dos EUA.
06-12-2003 43
Cl ust er i ng
Cl ust er i ng
Di vi si vo
Di vi si vo
Passo 1: Atribuir todos os padres (N) a um cluster
Passo 2: Encontrar o pior cluster.
Passo 3: Dividi-lo em dois.
Passo 4:Se o nmero de clusters (Nc) < N voltar a 2.
Como encontrar o pior cluster ?
Maior nmero de amostras.
Maior varincia
Maior erro quadrtico mdio
...
06-12-2003 44
Cl ust er i ng
Cl ust er i ng
Di vi si vo
Di vi si vo
Como dividir um cluster ?
Aplicar a mdia ou a mediana numa das direces do vector de
caractersticas.
Perpendicular direco com maior varincia.
...
Os clculos necessrios no clustering divisivo so mais
intensos que o clustering hierrquico, e logo os mtodos
aglomerativos so mais comuns.