Sei sulla pagina 1di 75

Aprendizagem de Mquina

Aprendizagem No Supervisionada
Alessandro L. Koerich

Mestrado/Doutorado em Informtica (PPGIa)


Pontifcia Universidade Catlica do Paran (PUCPR)

Plano de Aula

Aprendizagem no supervisionada

Algoritmos de agrupamento (Clustering)

Seqenciais
Hierrquicos
Baseados na otimizao de funes
Outros

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

Introduo

Previamente, todas as amostras de treinamento


estavam rotuladas, ou seja, com o valor do conceito alvo
associado
vetor de atributos
0,43 0,03 0,40 0,19 0,12 0,16 0,04 0,01 0,00 0,01 0,40 0,02
Bart
valor do conceito alvo associado ao vetor de atributos

Estes exemplos so ditos supervisionados, pois,


contm tanto a entrada (atributos), quanto a sada
(valor do conceito alvo).

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

Introduo

Porm, muitas vezes temos que lidar com


exemplos nosupervisionados, isto ,
exemplos no 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, esforo,
dinheiro).

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

Introduo

Porm, podemos utilizar grandes quantidades


de dados no rotulados para treinamento e
somente ento usar superviso para rotular os
agrupamentos encontrados.

Isto apropriado para aplicaes de minerao


de dados (datamining), onde o contedo de
grandes bases de dados no conhecido
antecipadamente.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

Introduo

Podemos usar mtodos nosupervisionados


para identificar caractersticas que sero ento
teis para categorizao.

Podemos ganhar alguma percepo da natureza


(ou estrutura) dos dados.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

Introduo
O interesse principal desvendar a organizao
dos padres em clusters (agrupamentos)
consistentes, os quais permitiro descobrir
similaridades e diferenas entre padres bem
como derivar concluses teis a respeito deles.
Clustering = Aprendizagem No
Supervisionada = Aprendizado Sem Professor =
Taxonomia Numrica = Tipologia = Partio.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

Introduo
Exemplo de agrupamentos (clusters)

De acordo com a progenitura

Ambiente onde vivem

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Existncia de pulmes

progenitura e existncia de pulmes

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

Introduo

Assumimos que:
Todos os padres so representados em termos
de atributos (caractersticas ou features) que
formam vetores de d dimenses
...
1 2 3 4 5 6 7

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

Introduo

Os passos bsicos da tarefa de aprendizagem


no supervisionada so:
1.
2.
3.
4.
5.
6.

Seleo de atributos
Medida de proximidade
Critrio de agrupamento
Algoritmo de agrupamento
Verificao dos resultados
Interpretao dos resultados

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

10

1. Seleo de Atributos

Atributos devem ser propriamente selecionados


para codificar a maior quantidade possvel de
informaes relacionada a tarefa de interesse.

Os atributos devem ter tambm uma


redundncia mnima entre eles.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

11

2. Medida de Proximidade

Medida para quantificar quo similar ou


dissimilar so dois vetores de atributos.

ideal que todos os atributos contribuam de


maneira igual no clculo da medida de
proximidade.

Ou seja, que um atributo no seja dominante sobre o


outro.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

12

3. Critrio de Agrupamento

Depende da interpretao que o especialista d


ao termo sensvel com base no tipo de cluster
que so esperados.

Por exemplo, um cluster compacto de vetores


de atributos pode ser sensvel de acordo com
um critrio enquanto outro cluster alongado,
pode ser sensvel de acordo com outro critrio.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

13

4. Algoritmo de Agrupamento

Tendo adotado uma medida de proximidade e


um critrio de agrupamento devemos escolher
um algoritmo de clustering que revele a
estrutura agrupada do conjunto de dados.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

14

5. Validao dos Resultados

Uma vez obtidos os resultados do algoritmo de


agrupamento, devemos verificar sua correo.

Isto geralmente feito atravs de testes


apropriados.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

15

6. Interpretao dos Resultados

Em geral os resultados de clustering devem ser


integrados com outras evidncias experimentais
e anlise para chegar as concluses corretas.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

16

Introduo

Ateno: Diferentes escolhas de atributos


(features), medidas de proximidade, critrios
de agrupamento e algoritmos de clustering
levam a...

resultados totalmente diferentes !!!

Qual resultado correto ?

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

17

Aplicaes de Clustering

Quatro direes bsicas onde clustering


utilizado:

Reduo de dados
Gerao de hipteses
Teste de hipteses
Predio baseada em grupos

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

18

Definio de Clustering

Dado um conjunto de dados X:


X = {x1, x2, . . ., xn}
definimos como um magrupamento de X a
partio de X em m conjuntos (clusters ou
grupos) C1, C2, ..., Cm tal que as trs condies
seguintes sejam satisfeitas:
Ci ,

i = 1,2,..., m
m

=X

i =1

Ci C j =
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

i j

i, j = 1,2,..., m

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

19

Definio de Clustering
Ci ,

i = 1,2,..., m

Nenhum cluster pode ser vazio.


m

=X

i =1

A unio de todos os cluster deve ser igual ao


conjunto de dados que gerou os clusters, ou
seja, X.
Ci C j =

i j

i, j = 1,2,..., m

A unio de dois clusters deve ser vazio, i.e., dois


cluster no podem conter vetores em comum.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

20

Definio de Clustering

Alm disso, os vetores contidos em um cluster


Ci so 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.

Definio alternativa: Um vetor pode pertencer


a mais de um cluster
fuzzy clustering

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

21

Definio de Clustering

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

22

Medidas de Proximidade

Medidas de Dissimilaridade (DM)

Mtrica lp ponderada
Mtrica Norma l ponderada
Mtrica l2 ponderada (Mahalanobis)
Mtrica lp especial (Manhattan)
Distncia de Hamming

Medidas de Similaridade (SM)

Produto interno (inner)


Medida de Tanimoto

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

23

Medidas de Proximidade

Mtrica lp ponderada (reais):

p
d p ( x , y) = wi | x i yi |
i =1

1/ p

onde xi e yi so as isimas coordenadas de x e


y, i=1,2,...,l e wi 0 o isimo coeficiente de
ponderao.
Caso particular: p = 2 Distncia Euclidiana.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

24

Medidas de Proximidade

Mtrica Norma l ponderada:


d ( x , y ) = max wi | x i yi |
1 i l

Mtrica l2 ponderada:

d ( x , y ) = ( x y ) B( x y )
T

onde B uma matriz simtrica positiva


(Mahalanobis)
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

25

Medidas de Proximidade

Mtrica lp especial:
l

d1 ( x , y ) = wi | x i yi |
i =1

tambm chamada de norma Manhattan.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

26

Medidas de Proximidade

Exemplo:

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

27

Medidas de Proximidade

Produto interno (inner):


l

sinner ( x , y) = x T y = x i yi
i =1

Medida de Tanimoto:

1
sT ( x , y ) =
T
( x y) ( x y)
1+
T
x y
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

28

Medidas de Proximidade

Consideramos agora, vetores x cujas


coordenadas pertencem ao conjunto finito F =
{0,1,2,..., k1}, onde k um inteiro positivo.

Existem exatamente kl vetores x Fl

Estes vetores podem ser considerados como


vrtices em um grid ldimensional.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

29

Medidas de Proximidade

Grid ldimensional.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

30

Medidas de Proximidade

Distncia de Hamming:
k 1

d H ( x , y) =

k 1

i =0 j =0, j i

ij

isto corresponde a soma de todos os elementos


fora da diagonal de A, os quais indicam as
posies onde x e y diferem.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

31

Medidas de Proximidade

Medida de Tanimoto:
k 1

sT ( x , y ) =

i =1
k 1 k 1

k 1 k 1

ii

a + a
i =1 j = 0

ij

i = 0 j =1

k 1 k 1

ij

1 aij
i =1 j =1

Existem ainda diversas outras medidas . . .

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

32

Medidas de Proximidade

Vetores com valores discretos e reais

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

33

Nmero de Agrupamentos

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 parties possveis e selecionar a


mais sensvel de acordo com um critrio pr
estabelecido.

Entretanto... fazer isto muito difcil


(trabalhoso !!!)

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

34

Nmero de Agrupamentos

Fazendo S (N, m) representar nmero de todos os


clusters possveis de N vetores em m grupos.

As seguintes condies se mantm....

S (N,1) = 1
S (N,N) = 1
S (N,m) = 0,

para m > N

LkN 1 : lista contendo todos os agrupamentos possveis de

N1 vetores em k clusters, para k = m, m1. O Nsimo


vetor:

ou ser adicionado a um cluster de qualquer membro LmN 1


ou formar um novo cluster para cada membro LmN11

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

35

Nmero de Agrupamentos
Soluo Nmeros de Stirling:
1 m
m i m N
S ( N , m) =
(
1
)

m! i =0
i

Exemplo: Para X={x1, x2, x3}, quais os agrupamentos


possveis dos elementos em 2 clusters ?

Exemplos numricos:

S (15,3) = 2 375 101


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

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

36

Nmero de Agrupamentos

Os resultados anteriores so para um nmero fixo de


clusters, m fixo

Para enumerar todos os clusters possveis para todos os


valores possveis de m computacionalmente
intratvel

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


1048 anos

Entretanto, o objetivo sempre tentar identificar o


agrupamento mais sensvel ( ou representativo).

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

37

Algoritmos de Clustering

Objetivo: Encontrar agrupamentos


representativos considerando somente uma
pequena frao do conjunto contendo todas as
parties possveis de X.

Soluo: Algoritmos de Clustering

Problema: Os resultados dependem:

de um algoritmo especfico;
dos critrios utilizados.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

38

Algoritmos de Clustering

O que um algoritmo de Clustering?

um procedimento de aprendizagem que tenta


identificar caractersticas especficas dos
agrupamentos intrnsecos (ou existentes) em um
conjunto de dados.

Os algoritmos de clustering podem ser


divididos em categorias:

Seqenciais
Hierrquicos
Baseados na otimizao de funes custo
Outros: Fuzzy, LVQ, SOM

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

39

Algoritmos Seqenciais

Principais caractersticas dos algoritmos


seqenciais:

Algoritmos desta categoria produzem um nico


agrupamento.
So algoritmo diretos e rpidos.
Geralmente, todos os vetores de caractersticas so
apresentados ao algoritmo uma ou vrias vezes (at 5
ou 6 vezes).
O resultado final geralmente depende da ordem de
apresentao.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

40

Algoritmo BSAS

Basic Sequential Algorithmic Scheme (BSAS)

Todos os vetores so apresentados uma nica vez ao


algoritmo.

Nmero de clusters no conhecido a priori.

Novos clusters so criados enquanto o algoritmo


evolui.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

41

Algoritmo BSAS

Parmetros do BSAS

d (x, C): distncia (ou dissimilaridade) entre um


vetor de caractersticas x e um cluster C. : limiar de
dissimilaridade
q: nmero mximo de clusters.
m: nmero de clusters que o algoritmo criou at o
momento.

Idia Bsica do BSAS: para um dado vetor,


designlo para um cluster existente ou criar
um novo cluster (depende da distncia entre o
vetor e os clusters j formados).

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

42

Algoritmo BSAS

2 Esta

instruo ativada nos casos onde cada cluster representado por um


nico vetor. Por exemplo, se cada cluster for representado por um vetor mdio,
ele deve ser atualizado cada vez que um novo vetor se tornar membro do cluster.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

43

Algoritmo BSAS

Para estimar o nmero de clusters, um


procedimento auxiliar utilizado:

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

44

Algoritmo BSAS

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

45

Melhoramento do Algoritmo BSAS


Modified Basic Sequential Algorithmic Scheme
(MBSAS)
TwoThreshold Sequential Algorithmic
Scheme (TTSAS)

Estes algoritmos possuem estgios de


refinamento, isto :

um procedimento de unir clusters


um procedimento de reatribuio de vetores aos
clusters.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

46

Melhoramento do Algoritmo BSAS

Estgio de refinamento: procedimento para


unir clusters

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

47

Melhoramento do Algoritmo BSAS

Estgio de refinamento: procedimento para re


atribuio, ou seja, retirar um vetor de um
cluster e coloclo em outro mais prximo.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

48

Algoritmos Hierrquicos

Podem ser divididos em 2 subcategorias:

Aglomerativos

produzem uma seqncia de agrupamentos com um


nmero decrescente de clusters, m a cada passo.
Os agrupamentos produzidos em cada passo resultam do
anterior pela fuso de dois clusters em um.

Divisivos

Atuam na direo oposta, isto , eles produzem uma


seqncia de agrupamentos com um nmero crescente de
clusters, m a cada passo.
Os agrupamentos produzidos em cada passo resultam da
partio de um nico cluster em dois.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

49

Algoritmos Hierrquicos

Os algoritmos hierrquicos tem uma filosofia diferente


dos algoritmos seqenciais.

ao invs de produzir um nico agrupamento, eles produzem


uma hierarquia de agrupamentos.

Considerando um conjunto de vetores ddimensionais


a serem agrupados:
X = {xi, i=1,2, ..., m}

Definio de agrupamento:
onde Cj X.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

= {Cj, j=1,2, ...,m}


Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

50

Algoritmos Hierrquicos

Um agrupamento 1 contendo k clusters dito


aninhado (nested) no agrupamento 2, o qual
contm 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
prprio de 2. Neste caso, escrevemos 1 ~ 2

Exemplo

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

51

Algoritmos Hierrquicos

Algoritmos hierrquicos de agrupamento


produzem uma hierarquia de agrupamentos
aninhados.

Estes algoritmos envolvem N passos, ou seja,


tantos passos quanto o nmero de vetores.

Em cada passo t, um novo agrupamento


obtido baseandose nos agrupamentos
produzidos no passo anterior (t1).

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

52

Hierrquicos 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
contm N1 conjuntos, tal que 0 ~ 1.

Este procedimento continua at o agrupamento final,


N1 ser obtido, o qual contm um nico conjunto, isto
, o conjunto de dados X.

A hierarquia dos agrupamentos resultantes :

0 ~ 1 ~ 2 ~ . . . ~ N1
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

53

Hierrquicos Aglomerativos

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

54

Hierrquicos Aglomerativos

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

55

Hierrquicos Aglomerativos

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

56

Hierrquicos 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
Wards Algorithm

Referncia: S. Theodoridis & K. Koutroumbas,


Pattern Recognition, Academic Press, 1999.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

57

Hierrquicos Aglomerativos

Algoritmos aglomerativos baseados na teoria


dos grafos

GTAS: Graph TheoryBased Algorithmic Scheme

Algoritmos aglomerativos baseados na rvore


mnima

MST: Minimum Spanning Tree

Referncia: S. Theodoridis & K. Koutroumbas,


Pattern Recognition, Academic Press, 1999.
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

58

Hierrquicos Divisivos

Os algoritmos divisivos trabalham de maneira inversa.


O agrupamento inicial 0 para o algoritmo divisivo
consiste 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 N1 seja obtido, o qual contm N conjuntos, cada
um consistindo de um nico elemento de X.

A hierarquia dos agrupamentos resultantes :

N1 ~ N2 ~ . . . ~ 0
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

59

Hierrquicos Divisivos

O mtodo direto considera todas as 2N11


possveis parties de X em dois conjuntos e
seleciona o timo de acordo com um critrio
prespecificado.

Este procedimento aplicado iterativamente a


cada um dos dois conjuntos produzidos no
estgio precedente.

O agrupamento final consiste de N clusters cada


um contendo um nico vetor de X.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

60

Hierrquicos Divisivos

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

61

Algoritmos Hierrquicos

Escolha do melhor nmero de clusters

O problema identificar o melhor agrupamento dentro de uma


dada hierarquia.

Isto corresponde a identificao do nmero de clusters que


melhor se ajusta aos dados.

Soluo: buscar por clusters que tenham um grande tempo de


vida em um dendograma de proximidades.

Tempo de vida de um cluster: valor absoluto da


diferena entre o nvel de proximidade no qual ele
criado e o nvel de proximidade no qual ele absorvido
por um cluster maior.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

62

Algoritmos Hierrquicos

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

63

Algoritmos Hierrquicos

Mtodo Extrnseco

requer a determinao do valor de um parmetro especfico,


i.e. a definio de uma funo h(C) que mede a
dissimilaridade entre vetores do mesmo cluster C.

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


Ento 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/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

64

Algoritmos Hierrquicos

h1 (C ) = max{d(x, y),x, y C }
h2 (C ) = med{d(x, y),x, y C }
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

65

Algoritmos Hierrquicos

Mtodo Intrnseco

O agrupamento final t deve satisfazer a seguinte


relao:

ss
dmin
(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
similaridade entre cada um deles.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

66

Algoritmos Baseados em Otimizao

Baseiamse na otimizao de uma funo custo J


usando diferente tcnicas de clculo.

O custo J uma funo dos vetores do conjunto de


dados X e ele parametrizado em termos de um vetor
de parmetros desconhecidos .

O nmero de clusters m assumese como sendo


conhecido.

Meta: estimao do que melhor caracterize os


clusters intrnsecos em X.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

67

Algoritmos Baseados em Otimizao

Trs categorias principais de algoritmos


baseados na otimizao de uma funo custo:

Decomposio de misturas

Mtodo Fuzzy

Mtodos Possibilsticos

Mtodos Hard

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

68

Algoritmos Baseados em Otimizao

Decomposio de Misturas: a funo custo


construda com base em vetores aleatrios e a
atribuio aos clusters segue argumentos
probabilsticos.

Mtodo Fuzzy: definida uma funo de


proximidade entre um vetor e um cluster e o
grau de afiliao (adeso) de um vetor a um
cluster fornecido por um conjunto de funes
afiliao.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

69

Algoritmos Baseados em Otimizao

Mtodos Hard

Cada vetor pertence exclusivamente a um nico


cluster.
Por isso estes mtodos so chamados de hard.
A maioria dos algoritmos de clustering mais
conhecidos recaem nesta categoria.

kMeans ou cMeans se encaixa nesta


categoria ! ! !

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

70

Outros Algoritmos

Algoritmos que no podem ser includos nas


categorias prvias.

Algoritmos baseados na teoria dos grafos


Algoritmos de aprendizagem competitiva
Algoritmos branch and bound
Algoritmos baseados em transformaes
morfolgicas
Algoritmos baseados em limites entre os clusters
Algoritmos de regies compactas
Algoritmos baseados na otimizao de funes
(annealing)
Algoritmos baseados em GA

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

71

Validade dos Clusters

Existem mtodos para avaliar


quantitativamente os resultados dos algoritmos
de agrupamento.

Referncia: S. Theodoridis & K. Koutroumbas,


Pattern Recognition, Academic Press, 1999.

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

72

Resumo

Aprendizagem no supervisionada ou clustering


(agrupamento) busca extrair informao relevante de
dados no rotulados.

Uma soluo mais geral consiste em definir medidas de


similaridade entre dois clusters assim como um critrio
global como a soma do erro quadrtico.

Existem vrios algoritmos que fazem agrupamento.

Os algoritmos de agrupamento so classificados como


hierrquicos ou seqenciais (ou iterativos).

Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

73

Introduo: Aprendizagem
H (conjunto de hipteses)

D (exemplos de treinamento)

treinamento

h1
h2
h4
rvore
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

P(h1), P(D| h1)


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

Hipteses

Mestrado/Doutorado em Informtica (PPGIa)

Bayes
Aprendizagem de Mquina

74

Introduo: Classificao

rvore de Deciso

x (exemplo de teste)

h1
h2
h4

Valor do Conceito Alvo

Hipteses

P(h1), P(D| h1)


P(h2), P(D| h2)
P(h3), P(D| h3)
Bayes
Alessandro L. Koerich (alekoe@ppgia.pucpr.br)

Mestrado/Doutorado em Informtica (PPGIa)

Aprendizagem de Mquina

75

Potrebbero piacerti anche