Você está na página 1de 133

PATRICK MARQUES CIARELLI

patrick.ciarelli@ufes.br
 Clustering é a separação de objetos em
diferentes grupos sem levar em consideração um
atributo alvo (classe dos objetos);
 Nesta abordagem, o conjunto de dados é
particionado em subconjuntos (clusters), tal que
os dados em cada subconjunto (idealmente)
compartilham informações em comum;
 Frequentemente é utilizada uma medida de
distância para formar os grupos.
 Algoritmos hierárquicos: encontram clusters
sucessivos a partir de clusters previamente
estabelecidos:
 Aglomerativos (bottom-up): Algoritmos aglomerativos
começam com cada elemento como um grupo
separado e junta-os em grupos sucessivamente
maiores;
 Divisivos (top-down): Algoritmos divisivos começam
com um grupo grande e divide-o sucessivamente em
grupos menores.
Algoritmos de partição: estes algoritmos
determinam todos os clusters de uma só vez;
 Representantes deste tipo de clustering são:
 K-means;
 Modelo de mistura de Gaussianas;
 DBScan;
 Etc.
 K-means é um algoritmo para agrupar N objetos
em k partições, onde k < N, baseado nos
atributos dos objetos;
 Ele assume que os atributos do objeto formam
um ponto no espaço, e agrupa os pontos que
estão muito próximos entre si.
 Ex.:
 K-means busca particionar (ou clustering) N
amostras em K subconjuntos Sk de forma a
minimizar o critério da soma dos quadrados:
N K
J   rnk xn   k
2

n 1 k 1
 onde:
 xn é um vetor representando a n-éssima amostra do
conjunto de dados;
 rnk é uma variável binária (0,1) associada a cada
amostra xn que descreve qual cluster k (1, ..., K) a
amostra está associada, tal que rnk = 1, e rnj = 0 para j
 k;
 k é o centroide do subconjunto Sk.
 O objetivo é encontrar valores para os conjuntos
de r e  de forma a minimizar J;
 Isso pode ser obtido através de um procedimento
iterativo que envolve dois passos sucessivos para
otimização:
 Primeiro, J é minimizado com respeito a rnk,
mantendo k fixo (inicialmente selecionados);
 No passo seguinte, J é minimizado com respeito a k,
mantendo rnk fixo.
 Este procedimento é realizado até ocorrer
convergência;
 Estes dois estágios de atualização de rnk e k
correspondem respectivamente aos passos E
(expectation) e M (maximization) do algoritmo
EM.
 Inicialmente é determinado  para cada grupo;
 O primeiro passo minimizar J com respeito a r:
 Como cada amostra só pode pertencer a um grupo, a
função que minimiza J com respeito a r associa cada
amostra xn ao cluster com o centroide mais próximo:

1 if k  arg min xn   j
2

rnk   j

0 outro caso
 O segundo passo atualiza  para minimizar
N
J:
J N r x
 2 rnk  xn   k   0
nk n
k  n 1
 k N
n 1
r
n 1
nk

 k é a média dos pontos no grupo Sk.


 Resumindo, k-means é um algoritmo que agrupa
os objetos em k grupos, baseado nos atributos
dos objetos;
 k é um número inteiro e positivo que deve ser
determinado antes de aplicar o algoritmo;
 Os grupos são formados de forma a minimizar a
distância quadrática entre os objetos e o
centroide do cluster correspondente.
 Algoritmo do k-means:
1. Escolha um valor para k (número de grupos);
2. Determine um centroide inicial para representar
cada grupo;
3. Para cada objeto xj da base de dados:
1. Calcule a distância de xj para cada centroide;
2. Associe xj ao grupo cuja a distância ao centroide seja a
menor;
4. Recalcule o centroide (normalmente a média) de
cada grupo baseado nos objetos associados a cada
grupo;
5. Repita o passo 3 até os centroides convergirem ou
até atingir um número máximo de iterações.
 Métodos de determinar os centroides iniciais:
 Determinar os centroides dos grupos aleatoriamente,
respeitando os limites dos valores de cada atributo
(dimensão);
 Selecionar aleatoriamente amostras da base de dados
para representar os centroides dos grupos;
 Selecione amostras da base de dados para representar
os centroides. Associe para cada centroide as
amostras mais próximas. Recalcule o centroide de
cada grupo baseado nas amostras associadas;
 Selecione uma amostra aleatoriamente para
representar o primeiro centroide. Encontre a amostra
mais distante dessa amostra para o segundo
centroide. O terceiro centroide é a amostra cuja a
soma das distâncias aos dois primeiros centroides seja
a maior. E assim em diante.
 Métricas de distância:
 Distância Euclidiana: também chamado de distância
norma 2 (p = 2);
 Distância de Manhattan: distância norma 1 (p = 1);
 Distância de Chebyshev: distância norma infinita (p 
).
1
d
 p
p
L p  x,     xi  i 
 i 1 

 Para p  :

L x,   max xi  i
i
 Métricas de distância:
 Distância de Mahalanobis:

Mahalanobi sx,   x   T 1 x   


 Distância de Hamming:
0 se xi  i
xor xi , i   
d
Hamming x,    xorxi , i 
i 1 1 se xi  i
 Distância de Tanimoto:
N x
Tanimoto a,b  1 
N x  N   N x
 Distância Cosseno:
x
cosx,   1 
x 2
 2
 Exemplo 1: usar o k-means para particionar os
dados em duas partes (k = 2).
 Solução:
 Escolher aleatoriamente duas amostras para
representar os centroides:
 Centroide 1: 1 = {1,0; 1,0}
 Centroide 2: 2 = {5,0; 7,0}
 Calculando as distâncias euclidianas entre Objeto x1 x2
os objetos e os centroides: 1 1,0 1,0
 Objetos 1, 2 e 3 estão mais próximos de 1 2 1,5 2,0
 Objetos 4, 5, 6 e 7 estão mais próximos de 2 3 3,0 4,0
4 5,0 7,0
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Exemplo 1: usar o k-means para particionar os
dados em duas partes (k = 2).
 Solução:
 Com os objetos 1, 2 e 3 é calculado o novo centroide
do grupo 1:
1  1,5  3 1  2  4 
  1,83;2,33
 1   ;
 3 3 
Objeto x1 x2
 Com os objetos 4, 5, 6 e 7 é calculado o
1 1,0 1,0
novo centroide do grupo 2:
2 1,5 2,0
 5  3,5  4,5  3,5 7  5  5  4,5  3 3,0 4,0
2   ;   4,12;5,38
 4 4  4 5,0 7,0
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Exemplo 1: usar o k-means para particionar os
dados em duas partes (k = 2).
 Solução:
 Calculando as distâncias euclidianas entre os objetos
e os novos centroides:
 Objetos 1 e 2 estão mais próximos de 1
 Objetos 3, 4, 5, 6 e 7 estão mais próximos de 2
 Calculando os novos centroides: Objeto x1 x2
 1 = {1,25; 1,5} 1 1,0 1,0
 2 = {3,9; 5,1} 2 1,5 2,0
3 3,0 4,0
4 5,0 7,0
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Exemplo 1: usar o k-means para particionar os
dados em duas partes (k = 2).
 Solução:
 Calculando as distâncias euclidianas entre os objetos
e os novos centroides:
 Objetos 1 e 2 estão mais próximos de 1
 Objetos 3, 4, 5, 6 e 7 estão mais próximos de 2
 Portanto, não houve mudanças nos grupos; Objeto x1 x2

 Assim, o algoritmo termina com dois 1 1,0 1,0

grupos: 2 1,5 2,0


3 3,0 4,0
 Grupo 1: objetos 1 e 2
4 5,0 7,0
 Grupo 2: objetos 3, 4, 5, 6 e 7
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Exemplo 1: usar o k-means para particionar os
dados em duas partes (k = 2).
 Solução:
 Gráfico dos grupos no espaço 2D

Objeto x1 x2
1 1,0 1,0
2 1,5 2,0
3 3,0 4,0
4 5,0 7,0
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Exemplo 2: usar o k-means para particionar os
dados em três partes (k = 3).
 Solução:
 Escolher aleatoriamente três amostras para
representar os centroides:
 Centroide 1: 1 = {1,0; 1,0}
 Centroide 2: 2 = {1,5; 2,0}
 Centroide 3: 3 = {3,0; 4,0} Objeto x1 x2
 Grupos formados após a convergência: 1 1,0 1,0
 Grupo 1: objeto 1 2 1,5 2,0
 Grupo 2: objeto 2 3 3,0 4,0
 Grupo 3: objetos 3, 4, 5, 6 e 7 4 5,0 7,0
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Exemplo 2: usar o k-means para particionar os
dados em três partes (k = 3).
 Solução:
 Gráfico dos grupos no espaço 2D

Objeto x1 x2
1 1,0 1,0
2 1,5 2,0
3 3,0 4,0
 O resultado final depende da escolha
4 5,0 7,0
inicial dos centroides.
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Exemplo 2: usar o k-means para particionar os
dados em três partes (k = 3).
 Solução:
 Escolher aleatoriamente três outras amostras para
representar os centroides:
 Centroide 1: 1 = {1,0; 1,0}
 Centroide 2: 2 = {3,0; 4,0}
 Centroide 3: 3 = {5,0; 7,0} Objeto x1 x2
 Grupos formados após a convergência: 1 1,0 1,0
 Grupo 1: objetos 1 e 2 2 1,5 2,0
 Grupo 2: objetos 3, 5, 6 e 7 3 3,0 4,0
 Grupo 3: objeto 4 4 5,0 7,0
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Exemplo 2: usar o k-means para particionar os
dados em três partes (k = 3).
 Solução:
 Gráfico dos grupos no espaço 2D

Objeto x1 x2
1 1,0 1,0
2 1,5 2,0
3 3,0 4,0
 O resultado final depende da escolha
4 5,0 7,0
inicial dos centroides.
5 3,5 5,0
6 4,5 5,0
7 3,5 4,5
 Desvantagens do k-means:
 Quando o número de amostras é pequena, os
centroides iniciais irão determinar significativamente
os grupos formados;
 O algoritmo pode obter resultados diferentes a cada
execução, desde os resultados dependem dos
centroides iniciais. Logo, ele é sensível as condições
iniciais;
 O algoritmo pode cair em um ótimo local;
 O número de grupos (k) devem ser determinados com
antecedência. No entanto, nem sempre é conhecido o
número de grupos;
 Ele é sensível a outliers e dados ruidosos.
 Há um grupo de algoritmos de clustering
baseados em densidade;
 Esses algoritmos assumem que os clusters são
regiões de alta densidade de padrões separadas
por regiões com baixa densidade, no espaço de
padrões;
 Um cluster é definido como um componente
denso conectado em qualquer direção definida
pela densidade.
 Características dos algoritmos baseados em
densidade:
 Descoberta de grupos de forma arbitrária (não é
necessário informar o número de grupos);
 Tratamento de dados ruídos;
 Apenas uma execução para formar os grupos;
 É necessário parâmetros de densidade como
condições;
 Separa regiões de objetos de alta e baixa densidade.
 DBScan é um algoritmo baseado em densidade
para agrupar os objetos ou pontos;
 Ele descobre clusters de forma arbitrária em
bases de dados com ruído.

Ester, M.; Kriegel, H.; Sander, J.; Xu, X. A density-based algorithm for discovering clusters
in large spatial databases with noise, The Second International Conference on Knowledge
Discovery and Data Mining (KDD-96), 1996
 Três tipos de pontos:
 Pontos no núcleo: pontos que têm ao menos um número
mínimo de pontos numa vizinhança dentro de um raio pré-
determinado;
 Pontos na borda: pontos presentes na borda de um cluster;
 Pontos outliers: pontos que não correspondem aos outros
anteriores.

Outlier

Borda
Eps = 1cm

Núcleo MinPts = 4
 Para o algoritmo do DBScan é necessário definir
dois parâmetros principais:
 Eps: distância entre um objeto (ponto) e seus
vizinhos.
 Descreve a medida de proximidade, isto é, quantos pontos
vizinhos próximos um par de pontos necessita ter em comum
para serem considerados próximos;
 Raio máximo da vizinhança.
 MinPts: número mínimo de pontos de cada cluster.
 Valor relativo a densidade mínima, ou seja, número de
vizinhos próximos que um ponto precisa ter para ser
considerado o ponto central do cluster;
 Número de pontos mínimo em Eps desse ponto.
 Definições:
 Número de pontos em um conjunto D que estão na
vizinhança do ponto q dado um raio máximo Eps
(Neps(q)):
 Neps(q) = {p  D | dist(p,q)  Eps}
 Um ponto p é diretamente alcançável pela densidade
de um ponto q, dado Eps e MinPts, se:
 1) p  Neps(q), ou seja, dist(p,q)  Eps
 2) |Neps(q)|  MinPts (condição de ponto de núcleo)
 Essa condição não é simétrica entre pontos de borda e de
núcleo;
 Somente pontos de núcleo podem alcançar outros pontos.
 Exemplo:
 p (borda) é alcançável por q (núcleo);
 q (núcleo) não é alcançável por p (borda);

p: ponto na borda

p q: ponto no núcleo

q
MinPts = 5

Eps = 1cm
 Alcançável pela densidade
 Um ponto p é alcançável pela densidade de um ponto
q, dado Eps e MinPts, se existe uma cadeia de pontos
p1,...,pn, sendo p1 = q e pn = p, tal que pi+1 é
diretamente alcançável pela densidade de pi.

p MinPts = 5
p1
Eps = 1cm
q
 Conectado pela densidade
 Um ponto p é conectado pela densidade a um ponto
q, dado Eps e MinPts, se existir um ponto r tal que
ambos p e q são alcançáveis pela densidade de r.

p MinPts = 5

q Eps = 1cm
r
 Regras para gerar clusters
 Para encontrar um cluster, escolha arbitrariamente
um ponto p;
 Recupere todos os pontos alcançáveis pela densidade
de p, dado Eps e MinPts;
 Se p satisfaz as condições para ser um ponto de
núcleo, forma-se um cluster;
 Se p não é um ponto de núcleo, não há pontos
alcançáveis pela densidade de p, visite um próximo
ponto;
 Continue o processo até que todos os pontos tenham
sido processados.
 Regras para gerar clusters
 Um ponto pertence a um cluster C somente se estiver
localizado no raio de um ponto de núcleo do cluster;
 Um ponto de núcleo p, no raio de um outro ponto de
núcleo pi qualquer, precisa pertencer ao mesmo
cluster C;
 Um ponto p que não é de núcleo, no raio de um ponto
de núcleo p1...pi, onde i>0 precisa pertencer ao
mesmo cluster cujo ponto central esteja entre p1...pi.
O ponto p será um ponto de borda;
 Um ponto p que não é de núcleo e que não estiver no
raio de nenhum ponto de núcleo é considerado um
outlier.
 Regras para gerar clusters

C2

MinPts = 3

Eps = 1cm
C1

 Pontos de núcleo
 Resultados da aplicação do DBScan
 Sensibilidade dos parâmetros

Valor de Eps Valor de MinPts Resultado


Alto Alto Poucos clusters grandes e densos
Baixo Baixo Muitos clusters pequenos e menos densos
Alto Baixo Clusters grandes e menos densos
Baixo Alto Clusters pequenos e densos
 Vantagem
 Eficiente em tratar grandes bases de dados (rápido);
 Menos sensível a ruídos;
 Forma clusters de formato arbitrário;
 Usuário não precisa especificar a quantidade de
clusters.
 Desvantagem
 Sensível aos parâmetros de entrada (Eps e MinPts);
 Agrupamentos diferentes podem ter densidades
diferentes;
 Ex.: grupos mais concentrados do que outros.
 Agrupamentos podem estar em hierarquias.
 Ex.: dentro do mesmo grupo ter diferentes densidades.
 Algumas bases de dados são intrinsecamente não
negativas:
 Base de dados baseados em contagem de ocorrência;
 Número de ocorrência de palavras em um documento.
 Base de dados baseados em quantidades físicas;
 Quantidade de ingredientes em um experimento químico.
 Base de dados baseados em intensidades;
 Intensidade de cor em uma imagem.
 No entanto, alguns métodos clássicos de
decomposição da base de dados incluem valores
negativos, o que torna difícil a interpretação.
 A técnica de fatorização de matriz não negativa
estabelece que:
 Dado uma matriz de dados Dmn não negativa, uma
fatorização não negativa dessa matriz com posto r é:

D  LR
 Onde Lmr e Rrn são ambas matrizes não negativas;
 As linhas de R podem ser vistas como partes;
 As linhas de D são obtidas misturando as partes
em L;
 Existe o menor r tal que D = LR. Ele é chamado
de posto não negativo de D.
 Considere o seguinte exemplo em que a matriz é
decomposta em matrizes com posto 2 por SVD:

 Os componentes (grupos) correspondentes são:

 Valores negativos produzem uma interpretação


não natural ou difícil.
 Considere o seguinte exemplo em que a matriz é
decomposta em matrizes com posto 2 por NMF:

 Os componentes (grupos) correspondentes são:

 Decomposição de matrizes não negativas produz


uma representação mais natural dos dados.
 Decomposição de faces (PCA)

autovalores autovetores

 Fatores do PCA são difíceis de serem


interpretados.
 Decomposição de faces (NMF)

 Fatores do NMF correspondem a partes da face.


 Decomposição de dígitos (NMF)

 Fatores do NMF correspondem a partes de dígitos


e background.
 A forma mais básica de fatorização não negativa
é:
LL, R   min D  LR
2
F
 tal que:
 D é uma matriz mn;
 L é uma matriz não negativa mr;
 R é uma matriz não negativa rn;
 r é o número de componentes selecionado pelo
usuário;
 A F  A p 2 é a norma de Frobenius:
1
 m n  p
 vec A  p    ai j
p
A 
p 
 i 1 j 1 
 A forma mais básica de fatorização não negativa
é:
LL, R   min D  LR
2
F
 Outras variantes:
 Funções objetivos diferentes;
 Ex.: Kullback-Leibler divergence;
 Restrições diferentes;
 Ex.: ortogonalidade de R;
 Diferentes composições
 Ex.: decomposição em 3 matrizes;
 Diferentes abordagens:
 Ex.: semi-NMF, sparse-NMF, symmetric NMF, orthogonal NMF,
overlapping NMF, non-smooth NMF, etc.
 K-means pode ser visto como uma variante de
NMF, com a restrição adicional que a matriz L
contém somente um elemento igual a 1 em cada
linha, o resto é zero;
 Os fatores e componentes do NMF não são
únicos:

 Restrições adicionais podem levar a soluções


únicas.
 NMF não é hierárquico
 NMF de posto 1 (r = 1):

 NMF de posto 2 (r = 2):

 Melhor aproximação para o posto r pode diferenciar


significativamente da melhor aproximação para o
posto r-1;
 O posto influência na esparsidade e interpretação.
 O foco do algoritmo é minimizar
LL, R   min D  LR
2
F
 Problema é não convexo:
 Ótimo local pode não ser o ótimo global;
 Geralmente difícil obter o ótimo global;

 Problema é bi-convexo:
Para um R fixo, f L   D  LR F é convexo;
2

 Para um L fixo, f R   D  LR F é convexo;
2

 Logo, é possível encontrar uma matriz ótima se for


conhecida a outra matriz;
 Problema: geralmente não é conhecida nenhuma
matriz.
 Abordagem chave: alternar a minimização:
 Selecionar as matrizes L e R iniciais;
 Enquanto não convergir:
 Mantenha R fixo, otimiza L;
 Mantenha L fixo, otimiza R;
 Fim.
 Matrizes iniciais:
 Selecionados aleatoriamente;
 Múltiplas inicializações: tente várias matrizes
aleatórias, rode algumas iterações e continua com a
melhor;
 Baseado em SVD (com tratamento dos negativos);
 ...
 Abordagem 1: usar aproximação de mínimos
quadrados não negativos de L e R;
 Procedimento:
arg minmr D  LR arg minmr D  LR
2 2

F
e F
L  R 

 Equivale a encontrar a solução de mínimos quadrados


não negativos de LR = D;
 Abordagem comum: resolver o problema de mínimos
quadrados e remover valores negativos:
 
L  DR *  e  
R  L*D 
 onde:
 R* = RT(RRT)-1 é a pseudo inversa direita de R;
 L* = (LTL)-1LT é a pseudo inversa esquerda de L;
 [a] = max{,a}, para  = 0 ou algum valor pequeno ( = 10-9).
 Exemplo: separar em 2 clusters (r = 2) a matriz

 Solução:  0,1 0,6


 Para um L aleatório: L   0 0,4
0,8 0,3

 
 0,000 0,5188 0,000 0,5188 0 ,000 
R  LD *

1,1746 1,8760 1,1746 1,8760 1,1746 
 0 0,8514 

L  DR * 
  1,9277 0 
1,9277 0 
 Exemplo: separar em 2 clusters (r = 2) a matriz

 Solução:

 
R  LD 
*  0,000 0,5188 0,000 0,5188 0 ,000 

1,1746 1,1746 1,1746 1,1746 1,1746 
 0 0,8514 
 
L  DR *   1,9277 0 
1,9277 0 
 Solução convergiu.
 Exemplo: separar em 2 clusters (r = 2) a matriz

 Solução:
 0 0,8514 
 0,000 0,5188 0,000 0,5188 0 ,000  1,9277
R  L   0 
1,1746 1,1746 1,1746 1,1746 1,1746  1,9277 0 
 A abordagem baseada em mínimos quadrados
não negativos possui as desvantagens:
 Dificuldade para análise devido a passos de
atualização não linear;
 Frequentemente convergem lentamente para um
mínimo local ruim.
 Abordagem 2: Multiplicative update rules;
 Dado descida de gradiente com passo kj:
  
R kj  R kj   kj L D kj  L LR 
kj
Rk
  
j
 Se kj
L LR kj , então são obtidas as regras de
atualização multiplicativa:
 DR  e L D
L  L R R 
LRR  L LR
 Onde multiplicações () e divisões são feitas elemento
a elemento;
 Zeros são problemáticos (divisões indefinidas):

DR 

 R R
L D

L  L
LRR  
 L LR  
 Abordagem 2: Multiplicative update rules;
 Esse algoritmo não necessariamente encontra um
ótimo L (ou R), mas pode ser mostrado que ele nunca
aumenta o erro;
 Não é necessário calcular pseudo-inversa;
 Possui uma fácil implementação.
 O método de hierarchical clustering funciona
agrupando objetos (amostras) em uma árvore de
clusters;
 Este método utiliza matriz de distância
(similaridade) como critério de clustering;
 Também é utilizado uma condição de término;
 Estes métodos podem ser classificados como:
 Aglomerativo hierarchical clustering;
 Divisivo hierarchical clustering.
 Os objetos são agrupados em uma esquema
bottom-up;
 Inicialmente, cada objeto é seu próprio cluster;
 Então, esses pequenos clusters são unidos em
clusters cada vez maiores, até que todos os
objetos estarem em um único cluster ou até um
certo critério de parada seja satisfeito;
 O critério de parada pode ser o número de
clusters desejado ou a distância mínima.
 Os objetos são agrupados em uma esquema top-
down;
 Inicialmente, todos os objetos estão em um
único cluster;
 Então o cluster é subdividido em clusters cada
vez menores, até que cada objeto forme um
cluster de si mesmo ou até um certo critério de
parada seja satisfeito;
 O critério de parada pode ser o número de
clusters desejado ou a distância mínima.
 No método hierarchical clustering é construída
uma árvore hierárquica (dendograma) a partir
das amostras:
 Ex.: aglomerar os dados a, b, c, d e e:
passo 0 passo 1 passo 2 passo 3 passo 4
agglomerativo
a
ab
b
abcde
c
cde
d
de
e
divisivo
passo 4 passo 3 passo 2 passo 1 passo 0
 Os clusters são obtidos por cortar o dendograma
no nível desejado: cada componente conectado
forma um cluster;
 Algoritmo AGNES (aglomerativo)
1. Dado um conjunto de N objetos, e uma matriz de
distância (similaridade) N*N:
2. Inicialmente, cada objeto é associado a um cluster,
tal que para N objetos existem N clusters, e cada
cluster contém apenas um objeto. A distância entre
clusters é a mesma distância entre objetos que eles
contém;
3. Encontre o par de clusters mais próximos e une eles
em um único cluster, tal que agora haverá um
cluster a menos;
4. Calcule a distância entre o novo cluster e cada um
dos clusters antigos;
5. Repita os passos 3 e 4 até todos os objetos
estiverem em um único cluster, ou até um critério
de parada seja satisfeito.
 Algoritmo AGNES (aglomerativo)
 O passo 4 pode ser feito em diferentes maneiras:
 Conexão mais próximo: a distância entre um cluster e outro
é igual a menor distância de qualquer membro de um cluster
para qualquer membro de outro cluster;
 Conexão mais distante: a distância entre um cluster e outro
cluster é igual a maior distância de qualquer membro de um
cluster para qualquer membro de outro cluster;
 Conexão de grupo: a distância entre um cluster e outro
cluster é igual a distância média entre os membros de cada
cluster.
 Distância entre clusters:

distância
 Distância entre clusters:

 Mínima distância: a menor distância entre os


membros dos clusters;
 Distância entre clusters:

 Maior distância: a maior distância entre os


membros dos clusters;
 Distância entre clusters:

 Distância média do grupo: a distância média


entre os membros dos clusters;
 Exemplo: Clusterizar os pontos a, b, c e d.
 Solução:
 Calcula a matriz de distância entre os pontos:
 Inicialmente: a b c d
 Clusters: a, b, c e d; a 0 0,1 0,5 0,4
 a e b são os mais próximos. Une-os. b 0,1 0 0,7 0,6
 Clusters: {a,b}, c e d; c 0,5 0,7 0 0,3
 c e d são os mais próximos. Une-os. d 0,4 0,6 0,3 0
 Clusters: {a,b} e {c,d}
 a e d são os mais próximos (critério da mínima
distância entre clusters). Une os clusters.
 Cluster: {a,b,c,d}
 Diana (divisivo)
 Inicialmente, há um grande cluster consistindo de
todos os N objetos;
 A cada iteração, o maior cluster é dividido em dois
clusters até finalmente todos os clusters possuírem
apenas um objeto;
 Assim, a hierarquia é construída em N-1 passos.
 Diana (divisivo)
 No primeiro passo de um método aglomerativo, todas
as possíveis fusões de dois objetos são consideradas,
guiando para N(N-1)/2 combinações;
 Baseado no mesmo princípio, no método divisivo há
2N-1-1 possibilidades para dividir os dados em dois
clusters;
 Este número é consideravelmente maior do que no
caso de um método aglomerativo.
 Diana (divisivo)
 Para evitar considerar todas as possibilidades, o
algoritmo procede como segue:
 Em cada passo, o cluster com o maior diâmetro é
selecionado e será dividido em dois clusters. O diâmetro é
definido como a maior distância média entre um objeto e
todos os demais objetos de um cluster. Este objeto inicia um
novo cluster R;
 Para cada objeto i fora deste novo cluster R, calcule:
 Di = [média d(i,j), j  R] – [média d(i,j), j  R];
 Encontre um objeto h para qual a diferença Dh é a maior. Se
Dh é positivo, então h é na média mais próximo ao cluster R;
 Identifique todos os objetos cuja diferença Dh seja positivo.
O cluster é então dividido em dois clusters;
 Repita os passos até todos os clusters contenham somente
um objeto.
 Exemplo: Clusterizar os pontos a, b, c e d.
 Solução:
 Calcula a matriz de distância entre pontos:
 Inicialmente: a b c d
 Cluster: {a,b,c,d}; a 0 0,1 0,5 0,4
 c é o elemento mais distante. b 0,1 0 0,7 0,6
 Clusters: {a,b,d} e c; c 0,5 0,7 0 0,3
 Na média, d está mais próximo de c. d 0,4 0,6 0,3 0
 Clusters: {a,b} e {c,d}
 c e d estão mais distantes do que a e b. Cria novos
clusters.
 Cluster: {a,b}, c e d
 a e b estão mais distantes. Cria novos clusters.
 Clusters: a, b, c e d
 Vantagens:
 Os algoritmos são simples e a saída é hierárquica,
que é uma estrutura mais informativa;
 Ele não requer pré-especificar o número de clusters;

 Desvantagens:
 Seleção de união ou divisão de objetos é crítico: uma
vez que um grupo de objetos é unido ou dividido, ele
não irá desfazer o que foi feito;
 Decisões de união e divisão de clusters podem guiar a
clusters de baixa qualidade se não forem bem
escolhidas.
 Regras de associação:
 O algoritmo Apriori é um método de encontrar um
conjunto de regras de associação.
 Para entender o que é uma regra de associação
primeiro devem ser definidos:
 Conjunto de itens I. Exemplo: itens de um supermercado;
 Conjunto de transações D: uma tabela de duas colunas, onde
a primeira é o identificador da transação e a segunda é
formada por um conjunto de itens. O conjunto de itens pode
ser visto como uma lista de compras no supermercado.
 Um itemset é um subconjunto não vazio de I. Dizemos que
uma transação T suporta um itemset I se I ⊆ T.
 Exemplo:
 Abaixo existe uma lista de itens e a direita um
conjunto de transações. A primeira transação, de ID
101, possui os itemsets {1}, {3}, {5}, {1,3}, {1,5},
{3,5}, {1,3,5}.
 Regras de associação:
 Dessa forma, regras de associação representam
padrões existentes em transações.
 De outra forma, podemos definir uma regra de
associação da forma A  B, onde A e B são itemsets
(não necessariamente transações).
 Exemplo:
 {pão,leite}  {café} é uma regra de associação. A ideia por
trás desta regra é: pessoas que compram pão e leite tem a
tendência de também comprar café.
 Repare que a regra anterior é diferente de {café} 
{pão,leite}, pois comprar café não implica que vai comprar
com frequência pão e leite.
 Regras de associação:
 A toda regra de associação é associado um grau de
confiança, denotado conf(A  B), que é a
porcentagem das transações que suportam B dentre
todas que suportam A:

𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑡𝑟𝑎𝑛𝑠𝑎çõ𝑒𝑠 𝑐𝑜𝑚 𝐴 ∪ 𝐵


𝑐𝑜𝑛𝑓 𝐴 → 𝐵 =
𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑡𝑟𝑎𝑛𝑠𝑎çõ𝑒𝑠 𝑐𝑜𝑚 𝐴

 Porém, para ser considerada uma boa regra, além de


confiança elevada a regra deve ser frequente. Isso é
medido pelo seu nível de suporte:

𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑡𝑟𝑎𝑛𝑠𝑎çõ𝑒𝑠 𝑐𝑜𝑚 𝐴 ∪ 𝐵


sup(𝐴 → 𝐵) =
𝑛ú𝑚𝑒𝑟𝑜 𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑡𝑟𝑎𝑛𝑠𝑎çõ𝑒𝑠
 Regras de associação:
 Portanto, dado um conjunto de transações e um
conjunto de itens, o objetivo é encontrar regras de
associação.
 Regras de associação são úteis para identificar
padrões de associações entre itens (atributos).
 Uma solução seria fazer busca exaustiva de todas as
possíveis combinações.
 No entanto, para m itens haveriam 2m-1 combinações
(excluindo conjunto vazio), o que tornaria inviável
para um valor grande de m.
 O algoritmo Apriori foi desenvolvido em 1994 por
uma equipe de pesquisa da IBM para resolver o
problema de encontrar regras de associação.

 Dado um conjunto de transações, o algoritmo


encontra regras de associação que tenham um
mínimo de suporte e de confiança.
 Sendo assim, ele decompõe o problema em:
 Geração do conjunto de itemsets frequentes: que
tenham um suporte (frequência) mínimo;
 Geração de regras: encontrar regras com confiança
mínima a partir de itemsets com suporte mínimo.
 Pseudocódigo do algoritmo Apriori: encontrando
itemsets frequentes.
 Seja k = 1;
 O algoritmo seleciona os itemsets com k itens que
tem um suporte maior ou igual ao suporte mínimo;
 Faça até retornar um conjunto vazio de itemsets ou
não puder aumentar o número de itens no itemset:
 k = k + 1;
 Faça todas as combinação possíveis de itemsets com k itens
selecionados no passo anterior;
 Selecione os itemsets com k itens que tem um suporte maior
ou igual ao suporte mínimo;
 Retorne todos os itemsets com 2 ou mais itens.
 Pseudocódigo do algoritmo Apriori: encontrando
regras de associação.
 Para cada itemset encontrado previamente:
 Obtenha todas as possíveis regras a partir do itemset, desde
que cada lado da regra A  B tenha ao menos um item;
 Selecione todas as regras que tenham um nível de confiança
igual ou maior que o nível mínimo;
 Retorne todas as regras selecionadas.
 Exemplo: Encontre todas as regras das
transações, considerando um minsup = 0,5 e
minconf = 0,9.
 Encontrar itemsets:
 k = 1: {1}, {2}, {3}, {5}, {9}
 k = 2: {1,2}, {1,3}, {1,5}, {2,9}, {3,5}
 k = 3: {1,3,5}
 Encontrar regras de associação:
 k = 2: (3  1), (5  1), (9  2),
(3  5), (5  3)
 k = 3: (5  {1,3}), (3  {1,5}),
 ({1,3}  5), ({1,5}  3), ({3,5}  1)
 Modelo de Mistura de Gaussianas (MMG) é uma
maneira de representar formas complexas de
distribuições de probabilidades;
 O MMG pode ser visto como uma superposição
linear ponderada de distribuições de Gaussianas;
 Usando um número suficiente de Gaussianas, e
ajustando suas médias, covariâncias e os
componentes de ponderação, é possível obter
uma aproximação de praticamente qualquer
distribuição contínua de probabilidade.
 O MMG pode ser usado para agrupamento de
dados;
 Neste caso, cada componente da mistura
representa um cluster, e o MMG estima a
probabilidade de um objeto pertencer a um
determinado cluster;
 O MMG pode ser visto como uma versão suave do
k-means, em que cada objeto pode contribuir na
determinação de mais de um componente
(cluster).
 Outra aplicação do MMG é representar a
distribuição de amostras de cada classe em um
problema de classificação supervisionada;
 Neste caso, um MMG representa a função
densidade de probabilidade de cada classe;
 A representação do MMG é mais poderosa do que
somente uma Gaussiana, pois pode representar
distribuições multimodais e não simétricas;
 O princípio da máxima probabilidade a posteriori
(MAP) é utilizado para rotular uma amostra
desconhecida;
 A informação da probabilidade a priori pode ser
incorporada ao modelo.
 A função densidade de probabilidade obtida pelo
MMG pode ser expressa como:
K
px    kx |  k ,  k 
k 1

 Onde:
 K é o número de componentes do modelo de mistura;
 k é a contribuição da k-ésima componente Gaussiana
no MMG, tal que: K


k 1
k 1

 x | k ,  k  é a função densidade de probabilidade


da Gaussiana;
 x é o vetor característico de um objeto.
 A função densidade de probabilidade Gaussiana é
dada por:
  x   k   k x   k 
 1
x |  k ,  k  
1
exp  
2   k
d
 2 
 onde:
 d é o número de dimensões de x;
 k é a média da componente k;
 k é a matriz de variâncias\covariâncias da
componente k;
 |k| é o determinante da matriz k.
 Exemplos de aplicação:
 Exemplos de aplicação:
 A função densidade de probabilidade de uma
Gaussiana é bem definida uma vez que sejam
conhecidas o vetor média () e a matriz de
covariância ();
 Por sua vez, o MMG é bem definida se forem
determinados o número de componentes (K), os
parâmetros de cada componente Gaussiana (k,
k) e os coeficientes de ponderação de cada
Gaussiana (k);
 Um método comumente usado para refinar os
parâmetros de um MMG é o Expectation
Maximization (EM).
 Em algumas construções de estimadores e
modelos, costuma-se usar certas funções de
dados, como média e a variância amostral, e se
descarta o resto dos dados;
 Efetivamente, busca-se compactar a quantidade
de informação em termos de um número menor
de dados;
 No entanto, surgem as questões:
 Qual a quantidade de informação útil que está sendo
descartada através dessa compactação?
 A qualidade desses procedimentos pode ser
melhorada se forem realizadas inferências sobre
algumas das informações que a princípio seriam
descartadas?
 Para determinar se estão sendo ou não
descartadas informações valiosas é usada a
função de verossimilhança;
 A função de verossimilhança é uma função dos
parâmetros obtidos através dos dados observados
e ela busca verificar a verossimilhança entre os
dados observados e os parâmetros obtidos;
 Ex.:
 A média pode ser um parâmetro de um modelo e ela é
obtida a partir dos dados;
 A função de verossimilhança verifica o quanto o valor
obtido pela média consegue representar os dados
originais.
 O objetivo é encontrar o conjunto de parâmetros
que foi responsável por gerar os dados
observados;
 Para isso, procura-se fazer a estimação da
máxima verossimilhança de um conjunto de
parâmetros;
 Ou seja, estimar os valores de um conjunto de
parâmetros que consegue maximizar a função de
verossimilhança dos dados observados;
 Ex.:
 Qual deveria ser o valor de um único parâmetro para
maximizar a função de verossimilhança de um
conjunto de valores?
 A solução é a equação da média.
 O objetivo do algoritmo de Expectation
Maximization (EM) é encontrar a solução de
máxima verossimilhança através de modelos
usando variáveis latentes (ou variáveis ocultas);
 As variáveis latentes não podem ser observadas
diretamente, mas podem ser inferidas
indiretamente através de outras variáveis que
podem ser observadas ou medidas diretamente;
 Ex.: As amostras são observáveis, mas
as Gaussianas que deram origem aos
dados não;
 EM busca inferir essas Gaussianas.
 Seja X o conjunto de todos os dados observados,
Z o conjunto de todas as variáveis latentes do
modelo e  o conjunto de todos os parâmetros
do modelo;
 Então, a função do logaritmo da verossimilhança
é obtida por:
 
ln p X |    ln  p X , Z |  
Z 
 No entanto, a presença da soma evita que o
logaritmo atue diretamente sobre a distribuição
conjunta.
 Se para cada observação em X fosse informado o
correspondente valor da variável latente Z (a
contribuição de cada variável na formação da
observação), o conjunto de dados seria chamado
completo, ou {X,Z};
 Com o conjunto de dados completo, a função de
verossimilhança é da forma ln p(X,Z|):
 a maximização da função do logaritmo da
verossimilhança seria obtida de forma direta, pois
cada variável latente poderia ser otimizada de forma
independente;
 Na prática, não é disponibilizado o conjunto de
dados completo {X,Z}, mas somente os dados
incompletos X;
 O conhecimento dos valores das variáveis
latentes em Z é dado somente pela distribuição
a posteriori p(Z|X,);
 O algoritmo de EM é uma forma iterativa de
estimar as contribuições das variáveis latentes Z
e otimizar o conjunto  de parâmetros do
modelo, de forma a maximizar a função do
logaritmo da verossimilhança.
 No algoritmo de EM são utilizados dois passos:
 No primeiro passo, denominado passo E
(Expectation), a contribuição de cada variável latente
para os dados é obtida a partir da distribuição a
posteriori;
 No passo seguinte, denominado passo M
(Maximization), é obtido um novo conjunto de valores
dos parâmetros que tendem maximizar a função do
logaritmo da verossimilhança.
 Esse procedimento é realizado iterativamente
até convergir ou um critério de parada ser
alcançado.
 Para usar o EM é necessário inicialmente
estabelecer o conjunto de variáveis latentes Z e
os valores iniciais para os parâmetros (0);
 No passo E, os correntes valores dos parâmetros
t (inicialmente t = 0) são usados para encontrar
a distribuição a posteriori das variáveis latentes
dada por p(Z|X, t);
 No passo M, é obtida uma estimativa aprimorada
t+1 que maximiza a função do logaritmo da
verossimilhança.
 Com o procedimento apresentado
anteriormente, o logaritmo pode atuar
diretamente sobre a distribuição conjunta
p(X,Z|) e o passo de maximização M será
tratável;
 Cada ciclo de EM irá incrementar o logaritmo da
verossimilhança dos dados incompletos, a menos
que ele já tenha alcançado um ótimo local ou
global.
 Aplicar EM sobre MMG consiste em maximizar o
logaritmo da função de verossimilhança do
modelo;
 Para uma amostra x, o MMG é dado por:
K
px |  ,  ,     kx |  k ,  k 
k 1
 Para um conjunto X de N amostras i.i.d.:
p X | ,  ,    px1 | ,  ,   px2 |  ,  ,   pxN | ,  ,  
N
p  X |  ,  ,     p  xn |  ,  ,  
n 1
N K
p X |  ,  ,     kxn |  k ,  k 
n 1 k 1
i.i.d.  independentes e identicamente distribuídos.
 Aplicando logaritmo sobre a equação anterior:
 N K 
ln p X |  ,  ,    ln  kxn |  k ,  k 
 n 1 k 1 
N
K 
   
ln p X |  ,  ,    ln  k xn |  k ,  k 
n 1  k 1 

 Sobre essa função são aplicados os passos E e M


do algoritmo EM.
 Dado um conjunto de valores iniciais para os
parâmetros K, ,  e , o primeiro passo é
aplicar o passo E do algoritmo EM;
 O passo E calcula a contribuição de cada variável
latente na formação de cada amostra do
conjunto X;
 Isto é obtido por:
kxn |  k ,  k 
 n ,k  K
 kxn | k ,  k 
k 1

 onde n,k é a probabilidade a posteriori do


componente k ter sido responsável por gerar xn.
 Tendo obtida a contribuição de cada componente
(variável latente) na formação dos dados, o
próximo passo é o M;
 Nesse passo são otimizados os parâmetros;
 Para descobrir o valor de k que maximiza a
equação:
N
K 
ln p X |  ,  ,     ln  kxn |  k ,  k 
n 1  k 1 
 ela é derivada em relação k e igualada a zero.
Assim é obtido:
1 N N
k  
N k n 1
 n , k xn N k    n,k
n 1
 Fazendo o mesmo para k é obtido:
1 N N
k    n ,k  xn   k  xn   k 
N k    n,k
N k n 1 n 1

 Para maximizar em relação ao coeficiente de


mistura  é necessário colocar a restrição:
K


k 1
k 1

 Após alguns cálculos é obtido:


Nk
k 
N
 Nk pode ser interpretado como o número efetivo
de pontos associados ao componente k da
mistura.
 Resumo do algoritmo de EM aplicado ao MMG:
 Obtenha os valores iniciais do número de
componentes e dos parâmetros dos componentes;
 Use o passo E para obter a contribuição de cada
componente k para cada amostra xn:
kxn |  k ,  k 
 n ,k  K

  x
k 1
k n | k , k 
 Aplique o passo M para otimizar os parâmetros:
N
1
k 
Nk

n 1
n ,k xn
N
N k    n,k
N

  x   k  xn   k 
1 
k  n ,k n
Nk n 1
n 1
N
k  k
N
 O passo é repetido até a convergência.
 Exemplo 1: com os dados abaixo, obter o MMG
para K = 2.
 Solução:
 Valores iniciais dos parâmetros: Objeto x1 x2
1 1,0 1,0
1 0  1 0
1     2    1   2    1   2  0,5 2 1,5 2,0
0  1 0 1  3 3,0 4,0

 Passo E:  n ,k  k xn |  k ,  k  4 5,0 7,0


K
5 3,5 5,0

 k n k k
 x |  ,  
k 1 6 4,5 5,0
 Para componente 1: 7 3,5 4,5
 1  0,5 0,3775 0,2689 0,1192 0,1824 0,3775 0,2689 
 Para componente 2:
 2  0,5 0,6225 0,7311 0,8808 0,8176 0,6225 0,7311
 Exemplo 1: com os dados abaixo, obter o MMG
para K = 2.
 Solução:
 Passo M: Objeto x1 x2
1 1,0 1,0
 Componente 1:
2 1,5 2,0
1 N  2,7441
1   n,1 n 3,4256 
 x  3 3,0 4,0
N1 n 1  
4 5,0 7,0
1 N 1,9820 2,5135  N
1    x    x   
 n,1 n 1 n 1 2,5135 3,3511 

 1  1  0,2992 5 3,5 5,0
N1 n 1   N
6 4,5 5,0
 Componente 2: 7 3,5 4,5
1 N
 3,3131 
2    x
n,2 n  4,3472 
N2 n 1  
N
1,6778 2,2718 
2 
1
  n, 2  xn   2  x n   2 
 2,2718 3,2512  2 
N2
 0,7008
N2 n 1   N
 Exemplo 1: com os dados abaixo, obter o MMG
para K = 2.
 Solução:
 Em seguida são realizados os passos Objeto x1 x2
1 1,0 1,0
 E
2 1,5 2,0
 M
3 3,0 4,0
 E 4 5,0 7,0
 M 5 3,5 5,0
 ... 6 4,5 5,0
7 3,5 4,5
 Até convergir ou alcançar um critério de parada.
 Exemplo 2: obter o MMG para K = 3.
 Após o passo E
 Exemplo 2: obter o MMG para K = 3.
 Após primeira iteração
 Exemplo 2: obter o MMG para K = 3.
 Após segunda iteração
 Exemplo 2: obter o MMG para K = 3.
 Após terceira iteração
 Exemplo 2: obter o MMG para K = 3.
 Após a vigésima
iteração
 Truque numérico do MMG:
 Calcular o valor da exponencial de certos valores pode causar
problemas numéricos. Ex.: exp(-1000) = 0.
 Tais valores são comuns de acontecerem quando usando MMG.
Para isso pode ser usado um truque numérico:
 Imagine calcular a exp(-1000). Primeiro, aplique mudança da
base neperiana para base 10:


log10 e 1000
   
ln e 1000  1000

ln 10  ln 10 
 Depois de calcular, terá como resultado: -434,2945
 O resultado é dividido em duas partes:
 A mantissa: 10-0,2945 = 0,5076

 O expoente: -434

 O resultado final é: 0,5076 × 10-434


 Vantagens do EM:
 A cada nova iteração o modelo será melhor ajustado
aos dados que a iteração anterior;
 Pode ser usado para tratar dados ausentes/ variáveis
latentes;
 Desvantagens do EM:
 É susceptível a cair em mínimo local;
 Não consegue determinar o número de componentes
do MMG. Para isso, operações de merge e split são
necessários;
 Pode convergir lentamente.
 Vantagens do MMG:
 Pode modelar, com uma certa precisão, uma vasta
gama de funções de densidade de probabilidade;
 A informação no modelo pode ser extraída mais fácil
do que métodos de “caixa preta” (redes neurais, por
exemplo);
 Agrupa os dados melhor do que o k-means.
 Desvantagens do MMG:
 Determinar o número de componentes pode não ser
uma tarefa fácil:
 Muitos componentes: eles podem se sobrepor;
 Poucos componentes: não representam de forma apropriada
a distribuição dos dados;
 Cálculo da inversa e do determinante de matrizes:
custo computacional alto para altas dimensões.
Opções:
 Considerar a matriz de covariância diagonal;
 Considerar a matriz de covariância =2I;
 O RDE é um algoritmo que estima de forma
recursiva a densidade dos dados que chegam em
fluxo contínuo;
 Ele funciona sobre o conceito que a densidade
dos dados tem um papel fundamental para
projetar a estrutura de um modelo, e que é útil
para detectar outliers/anormalidades/inovação,
além de outros problemas relacionados;
 Ele foi projetado para monitorar dados em
tempo real, pois ele é rápido e não armazena
todo um histórico de dados em seu modelo.
Angelov, P.. Autonomous Learning Systems: From Data Streams to Knowledge in Real-time.
United Kingdom: John Wiley and Sons Ltda, 2013
 O RDE calcula uma medida de densidade de um k-ésimo
dado xk que está sendo analisado em relação aos dados
anteriores através da expressão:
1
Dk 
1 dk
2

2
 Onde 𝑑𝑘 é a distância média entre o dado xk e os
demais dados. Normalmente é utilizada a distância
euclidiana, mas podem ser usadas outras medidas,
como a de Mahalonobis ou similaridade cosseno:
1 k d
  xk  xi , onde y   yk2
2 2 2
dk
k i 1 k 1

 Os outliers e os comportamentos anormais são


observados através do desvio padrão entre a densidade
de xk e a densidade média dos dados.
 Para calcular essas medidas em tempo real, considere:
1 1
Dk  
1 k 1  xk   k
2
 X k  k
2
1   xk  xi
2

k i 1
 Onde k e Xk podem ser calculados recursivamente:

 k 1  1
k     k 1  xk , 1  x1
 k  k
 k 1  1
Xk    X 1  x1
2 2
 k 1
X x k ,
 k  k
 Da mesma forma, a densidade média 𝐷𝑘 e a variância
da densidade 𝜎𝑘2 podem ser calculadas recursivamente:
 k 1  1
Dk    D k 1  Dk , D1  D1
 k  k
 k 1 
k2   
 k 1
2

1
Dk  Dk 2 ,  12  0
 k  k
 Algoritmo:
 Para o k-ésimo dado xk que chega
Se é o primeiro dado (k = 1):
1  x1 , X 1  x1 , Dk  D1 ,  12  0
2

Senão:
 k 1  1
k     k 1  xk
 k  k
 k 1  1
Xk    X k 1  xk
2

 k  k
1
Dk  2
1  xk   k  X k  k
2

 k 1  1
Dk    D k 1  Dk
 k  k
 k 1 
 k 1  Dk  Dk 
1
k2   2 2

 k  k
 A identificação de outliers é feita pela diferença
entre a densidade média 𝐷𝑘 e a densidade 𝐷𝑘 :
 Se o módulo da diferença é maior que um limiar,
então é considerado um outlier;
 Valores típicos são múltiplos do desvio padrão: k, 2k
e 3k;
 Uma mudança de comportamento dos dados
pode ser identificada através da observação de
uma sequência sucessiva de outliers.
 Exemplo 1: 50 amostras de um sinal de magnitude 1
seguido por 50 amostras de um sinal de magnitude 2,5.
Ambos com ruído gaussiano de média 0 e desvio padrão
0,15.
 Exemplo 2: 50 amostras de um sinal de magnitude 1
seguido por 50 amostras de um sinal de magnitude 1,5.
Ambos com ruído gaussiano de média 0 e desvio padrão
0,15.
 O RDE armazena informações acumuladas de todos os
dados processados e tenta se adaptar a medida que
ocorre mudanças nos dados;
 O problema ocorre quando a quantidade de dados
cresce indefinidamente (k  ) e sua capacidade de se
adaptar é reduzida drasticamente, como pode ser
observada nas equações anteriores;
 Por exemplo: contribuição de uma

amostra num sistema em que é coletada


uma amostra por segundo:

Bezerra, C. G., Costa, B. S. J., Guedes, L. A., Angelov, P. P.. RDE with forgetting: an
approximate solution for large values of k with an application to fault detection problems,
Statistical Learning and Data Sciences: Third International Symposium, pp. 169-178, 2015
 Para tratar este problema foi criado o RDE com
esquecimento, no qual é adicionado o parâmetro  que
faz com que o RDE esqueça lentamente as informações
dos dados mais antigos:
 k   1  1   xk , 1  x1
k

X k  X k 1  1    xk , X 1  x1
2 2

Dk  D k 1  1   Dk , D1  D1
 k 2   k 12  1   Dk  Dk  ,  12  0
2

 O valor de  varia entre 0 (sem memória) e 1 (sem


atualização). Quanto menor o valor de , mais rápida a
adaptação a mudanças abruptas.
 Um valor razoável para  é 0,99.
 Exemplo 3: 4200 amostras de magnitude 4, 400 de magnitude 6 e
400 de magnitude 2. Ambos com ruído gaussiano de média 0 e
desvio padrão 0,1.
 Foram apresentadas diferentes técnicas para
agrupamento de dados, desde técnicas clássicas,
como o k-means a métodos mais eficazes, como
o DBScan;
 Para alguns métodos é necessário estabelecer
um número de grupos, como k-means, MMG e
Fatorização de Matrizes Não Negativos;
 Outros métodos, como o DBScan, infere o
número de grupos a partir dos dados;
 Alguns métodos podem ser úteis para a
identificação e remoção de outliers dos dados.

Você também pode gostar