Aprendizagem de Máquina

Propaganda
Plano de Aula
Aprendizagem de Máquina
“
Aprendizagem não supervisionada
Aprendizagem Não Supervisionada
“
Algoritmos de agrupamento (Clustering)
“
“
Alessandro L. Koerich
“
“
Seqüenciais
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 ([email protected])
Mestrado em Informática Aplicada
Introdução
“
2
Introdução
Previamente, todas as amostras de treinamento
estavam rotuladas, ou seja, com o valor do conceito alvo
associado
“
vetor de atributos
Porém, muitas vezes temos que lidar com
exemplos “não–supervisionados”, isto é,
exemplos não rotulados, ou seja:
“
“
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
“
valor do conceito alvo associado ao vetor de atributos
“
Aprendizagem de Máquina
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).
Estes exemplos são ditos “supervisionados”, pois,
contém tanto a entrada (atributos), quanto a saída
(valor do conceito alvo).
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
3
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
4
Introdução
“
“
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
5
“
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Introdução
Aprendizagem de Máquina
6
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.
Exemplo de agrupamentos (clusters)
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
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
7
Alessandro L. Koerich ([email protected])
progênitura e existência de pulmões
Mestrado em Informática Aplicada
Aprendizagem de Máquina
8
Introdução
“
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
Os passos básicos da tarefa de aprendizagem
não supervisionada são:
1.
2.
3.
4.
...
1 2 3 4 5 6 7
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
5.
d
6.
Aprendizagem de Máquina
9
Seleção de atributos
Medida de proximidade
Critério de agrupamento
Algoritmo de agrupamento
Verificação dos resultados
Interpretação dos resultados
Alessandro 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.
Mestrado em Informática Aplicada
Aprendizagem de Máquina
11
Aprendizagem de Máquina
10
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.
Os atributos devem ter também uma
redundância mínima entre eles.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
12
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
4. Algoritmo de Agrupamento
“
13
Alessandro 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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
Mestrado em Informática Aplicada
Aprendizagem de Máquina
14
6. Interpretação dos Resultados
“
15
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.
Em geral os resultados de clustering devem ser
integrados com outras evidências experimentais
e análise para chegar as conclusões corretas.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
16
Introdução
“
Atenção: Diferentes escolhas de atributos
(features), medidas de proximidade, critérios
de agrupamento e algoritmos de clustering
levam a...
Aplicações de Clustering
“
“
↓
“
“
resultados totalmente diferentes !!!
“
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
Qual resultado é correto ?
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
17
Alessandro L. Koerich ([email protected])
Definição de Clustering
“
Ci ≠ ∅,
“
m
“
“
i =1
Mestrado em Informática Aplicada
i
=X
A união de todos os cluster deve ser igual ao
conjunto de dados que gerou os clusters, ou
seja, X.
Ci ∩ C j = ∅
UCi = X
Alessandro L. Koerich ([email protected])
i, j = 1,2,..., m
Aprendizagem de Máquina
i = 1,2,..., m
i =1
i = 1,2,..., m
i≠ j
18
Nenhum cluster pode ser vazio.
UC
m
Ci ∩ C j = ∅
Aprendizagem de Máquina
Definição de Clustering
Ci ≠ ∅ ,
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:
Mestrado em Informática Aplicada
19
i≠ j
i, j = 1,2,..., m
A união de dois clusters deve ser vazio, i.e., dois
cluster não podem conter vetores em comum.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
20
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 ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
21
Definição de Clustering
Alessandro L. Koerich ([email protected])
Medidas de Proximidade
“
Medidas de Dissimilaridade (DM)
“
“
“
“
“
“
“
Mestrado em Informática Aplicada
1/ p
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.
Produto interno (inner)
Medida de Tanimoto
Alessandro L. Koerich ([email protected])
22
Métrica lp ponderada (reais):
⎛ l
⎞
d p ( x , y) = ⎜⎜ ∑ wi | x i − yi |p ⎟⎟
⎝ i =1
⎠
Medidas de Similaridade (SM)
“
Aprendizagem de Máquina
Medidas de Proximidade
“
Métrica lp ponderada
Métrica Norma l∞ ponderada
Métrica l2 ponderada (Mahalanobis)
Métrica lp especial (Manhattan)
Distância de Hamming
Mestrado em Informática Aplicada
Caso particular: p = 2 → Distância Euclidiana.
Aprendizagem de Máquina
23
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
24
Medidas de Proximidade
“
Métrica Norma l∞ ponderada:
Medidas de Proximidade
“
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 ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
25
Alessandro L. Koerich ([email protected])
Medidas de Proximidade
“
Exemplo:
Mestrado em Informática Aplicada
Aprendizagem de Máquina
26
Medidas de Proximidade
“
Produto interno (inner):
l
sinner ( x , y) = x y = ∑ x i yi
T
i =1
“
Medida de Tanimoto:
sT ( x , y ) =
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
27
Alessandro L. Koerich ([email protected])
1
( x − y )T ( x − y )
1+
xT y
Mestrado em Informática Aplicada
Aprendizagem de Máquina
28
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
Medidas de Proximidade
“
29
Grid l–dimensional.
Alessandro L. Koerich ([email protected])
Medidas de Proximidade
“
Distância de Hamming:
k −1
dH ( x , y) = ∑
30
Medida de Tanimoto:
k −1
∑a
k −1
∑ aij
sT ( x , y ) =
isto corresponde a soma de todos os elementos
fora da diagonal de A, os quais indicam as
posições onde x e y diferem.
Mestrado em Informática Aplicada
Aprendizagem de Máquina
Medidas de Proximidade
“
i =0 j =0, j ≠ i
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
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 . . .
31
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
32
Medidas de Proximidade
“
Vetores com valores discretos e reais
Número 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:
“
“
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
33
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 ([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.
Mestrado em Informática Aplicada
Solução → Números de Stirling:
As seguintes condições se mantêm....
“
“
“
S (N,1) = 1
S (N,N) = 1
S (N,m) = 0,
“
“
Exemplos numéricos:
“
“
ou será adicionado a um cluster de qualquer membro LmN −1
ou formará um novo cluster para cada membro LmN−−11
Alessandro L. Koerich ([email protected])
Exemplo: Para X={x1, x2, x3}, quais os agrupamentos
possíveis dos elementos em 2 clusters ?
“
N–1 vetores em k clusters, para k = m, m–1. O N–ésimo
vetor:
Mestrado em Informática Aplicada
Aprendizagem de Máquina
35
1 m
⎛m⎞
( −1 ) m − i ⎜ ⎟ i N
∑
m! i =0
⎝ i ⎠
“
para m > N
LkN −1 : lista contendo todos os agrupamentos possíveis de
“
34
Número de Agrupamentos
S( N , m) =
“
Aprendizagem de Máquina
S (15,3) = 2 375 101
S (25,8) = 690 223 721 118 368 580
S (100,5) ≈ 1068
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
36
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
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:
“
Entretanto, o objetivo é sempre tentar identificar o
agrupamento mais “sensível” ( ou representativo).
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
“
37
de um algoritmo específico;
dos critérios utilizados.
Alessandro L. Koerich ([email protected])
Algoritmos de Clustering
“
O que é um algoritmo de Clustering?
“
“
“
Os algoritmos de clustering podem ser
divididos em categorias:
“
“
“
“
“
Seqüenciais
Hierárquicos
Baseados na otimização de funções custo
Outros: Fuzzy, LVQ, SOM
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
39
38
Principais características dos algoritmos
seqüenciais:
“
“
Aprendizagem de Máquina
Algoritmos Seqüenciais
“
É um procedimento de aprendizagem que tenta
identificar características específicas dos
agrupamentos intrínsecos (ou existentes) em um
conjunto de dados.
Mestrado em Informática Aplicada
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
40
Algoritmo BSAS
“
Basic Sequential Algorithmic Scheme (BSAS)
Algoritmo BSAS
“
Parâmetros do 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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
“
“
41
d (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).
Alessandro L. Koerich ([email protected])
Algoritmo BSAS
Mestrado em Informática Aplicada
Aprendizagem de Máquina
42
Algoritmo BSAS
“
Para estimar o número de clusters, um
procedimento auxiliar é utilizado:
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
43
Alessandro L. Koerich ([email protected])
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 é:
“
“
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
45
Melhoramento do Algoritmo BSAS
“
Estágio de refinamento: procedimento para
unir clusters
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
46
Melhoramento do Algoritmo BSAS
“
47
um procedimento de unir clusters
um procedimento de re–atribuição de vetores aos
clusters.
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
48
Algoritmos Hierárquicos
“
Podem ser divididos em 2 subcategorias:
“
“
Aglomerativos
“
“
“
Algoritmos Hierárquicos
“
produzem 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.
“
Atuam 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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
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:
Divisivos
“
Os algoritmos hierárquicos tem uma filosofia diferente
dos algoritmos seqüenciais.
onde Cj ⊆ X.
49
Alessandro 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
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
51
ℜ = {Cj, j=1,2, ...,m}
Mestrado em Informática Aplicada
Aprendizagem de Máquina
50
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).
Alessandro L. Koerich ([email protected])
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 ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
53
Hierárquicos Aglomerativos
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
55
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
54
Hierárquicos Aglomerativos
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
56
Hierárquicos Aglomerativos
“
Algoritmos aglomerativos baseados na teoria
das matrizes
“
“
“
“
“
“
“
Hierárquicos Aglomerativos
“
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
“
“
Mestrado em Informática Aplicada
Aprendizagem de Máquina
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.
Referência: S. Theodoridis & K. Koutroumbas,
Pattern Recognition, Academic Press, 1999.
Alessandro L. Koerich ([email protected])
Algoritmos aglomerativos baseados na teoria
dos grafos
57
Alessandro L. Koerich ([email protected])
Hierárquicos Divisivos
“
“
Os algoritmos divisivos trabalham de maneira inversa.
O agrupamento inicial ℜ0 para o algoritmo divisivo
consiste de um único conjunto X.
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
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
59
Aprendizagem de Máquina
58
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.
No primeiro passo, o agrupamento ℜ1 é produzido. Ele
consiste de dois conjuntos tal que ℜ1 ¤ ℜ2.
“
Mestrado em Informática Aplicada
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
60
Hierárquicos Divisivos
Algoritmos Hierárquicos
“
“
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
61
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 ([email protected])
Algoritmos Hierárquicos
Mestrado em Informática Aplicada
Aprendizagem de Máquina
62
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 ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
63
Alessandro L. Koerich ([email protected])
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 )},
ou seja, no agrupamento final, a dissimilaridade
entre cada par de clusters é maior do que a “auto–
similaridade” entre cada um deles.
h1 (C) = max{d(x, y),x, y ∈C }
h2 (C ) = med{d(x, y),x, y ∈C}
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
65
Alessandro L. Koerich ([email protected])
Algoritmos Baseados em Otimização
“
Baseiam–se na otimização de uma função custo J
usando 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 Θ.
“
“
Meta: estimação do Θ que melhor caracterize os
clusters intrínsecos em X.
Mestrado em Informática Aplicada
Aprendizagem de Máquina
67
Mestrado em Informática Aplicada
Aprendizagem de Máquina
66
Algoritmos Baseados em Otimização
“
O número de clusters m Æ assume–se como sendo
conhecido.
Alessandro L. Koerich ([email protected])
∀C i , C j ∈ ℜ t
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
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
68
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.
Algoritmos Baseados em Otimização
“
Métodos Hard
“
“
“
“
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
“
69
Cada 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 ! ! !
Alessandro 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
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
71
Mestrado em Informática Aplicada
Aprendizagem de Máquina
70
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.
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
72
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).
Introdução: Aprendizagem
treinamento
h1
h2
h4
Árvore
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
73
Introdução: Classificação
Árvore de Decisão
x (exemplo de teste)
h1
h2
h4
Valor do Conceito Alvo
Hipóteses
P(h1), P(D| h1)
P(h2), P(D| h2)
P(h3), P(D| h3)
Bayes
Alessandro L. Koerich ([email protected])
Mestrado em Informática Aplicada
Aprendizagem de Máquina
H (conjunto de hipóteses)
D (exemplos de treinamento)
75
Alessandro L. Koerich ([email protected])
P(h1), P(D| h1)
P(h2), P(D| h2)
P(h3), P(D| h3)
Hipóteses
Mestrado em Informática Aplicada
Bayes
Aprendizagem de Máquina
74
Download