Вы находитесь на странице: 1из 19

Análise de Clusters

Aplicações da formação de Grupos (Clustering)

 Ver e analisar vastas quantidades de dados biológicos


como um todo pode ser difícil

 É mais fácil interpretar os dados se forem divididos em


grupos (clusters) que combinam dados similares.

Análise de Clusters 2
Inferindo sobre a funcionalidade dos Genes
 Os investigadores pretendem conhecer as funções de novos genes
sequenciados

 Comparando as novas sequências de genes com sequências de


DNA conhecidas não é, frequentemente, suficiente para a
descoberta da funcionalidade do gene

 Microarrays permitem analisar em larga escala a abundância


relativa dos genes e a partir da correlação da abundância inferir
sobre as sua funções

Análise de Clusters 3

Análise de expressão genética por Microarrays

 Microarrays medem a actividade (nível de expressão)


dos genes sobre diferentes condições/pontos no tempo

 O nível de expressão é estimado através da medição da


quantidade de mRNA para aquele gene particular

 Um gene é activo se foi transcrito


 Maior abundância de mRNA indica maior actividade do gene

Análise de Clusters 4
Dados dos Microarrays
 Dados dos Microarrays são usualmente transformados
numa matriz de intensidade ou expressão
 A matriz de intensidade permite aos biólogos efectuar
correlações entre diferentes genes (mesmo que não
sejam semelhantes) e perceber como as funções dos
genes podem ser relacionadas

Tempo: Tempo X Tempo Y Tempo Z


Intensidade (nível de Gene 1 10 8 10

expressão) do gene Gene 2 10 0 9


Gene 3 4 8.6 3
medida no tempo
Gene 4 7 8 3
Gene 5 1 2 3

Análise de Clusters 5

Formação de clusters de dados de Microarrays

 Represente cada dado como um ponto no espaço m-


dimensional

 Calcule uma matriz de distâncias entre cada dois genes


no espaço m-dimensional

 Genes com uma distância pequena partilham as


mesmas características e podem ser funcionalmente
relacionados ou similares

 A formação de clusters revela grupos de genes


funcionalmente relacionados

Análise de Clusters 6
Formação de clusters de dados de Microarrays
(cont.)

Clusters

Análise de Clusters 7

Princípios Homogeneidade e Separação

 Homogeneidade: Elementos num mesmo cluster são


próximos
 Separação: Elementos em clusters diferentes estão
mais afastados entre si.

Dado este conjunto de


pontos um algoritmo de
formação de clusters
pode criar dois clusters
como se segue

Análise de Clusters 8
Mau Clustering

Estes grupos (clusters) violam os princípios de


Homogeneidade e Separação

Distâncias próximas
entre pontos de
clusters distintos

Distâncias longas
entre pontos do
mesmo cluster

Análise de Clusters 9

Bom Clustering

Estes grupos (clusters) satisfazem os princípios


de Homogeneidade e Separação

Análise de Clusters 10
Técnicas de Clustering

 Aglomerativo: Comece com cada elemento no seu


próprio cluster e interactivamente agrupe os clusters.

 Divisivo: Comece com um único cluster e


interactivamente divide-o em clusters mais pequenos.

 Hierárquico: Organize os elementos numa árvore,


onde as folhas representam os genes e o
comprimento entre os nós representa a distância entre
os genes. Genes similares encontram-se nas mesmas
subárvores.

Análise de Clusters 11

Clustering Hierárquico

Análise de Clusters 12
Clustering Hierárquico: Um exemplo

Análise de Clusters 13

Clustering Hierárquico: Um exemplo

Análise de Clusters 14
Clustering Hierárquico: Um exemplo

Análise de Clusters 15

Clustering Hierárquico: Um exemplo

Análise de Clusters 16
Clustering Hierárquico: Um exemplo

Análise de Clusters 17

Clustering Hierárquico (cont.)

 O Clustering Hierárquico é muitas vezes utilizado para


revelar a história evolutiva

Análise de Clusters 18
Algoritmo de Clustering Hierárquico
Clustering Hierárquico(d , n)
1. Forme n clusters cada um com um elemento
2. Construa um grafo T atribuindo um vértice a cada cluster
3. Enquanto existir mais do que um cluster
4. Encontre os dois clusters mais próximos C1 e C2
5. Agrupe C1 e C2 num novo cluster C com #C1 +#C2 elementos
6. Calcule a distância de C a todos os outros clusters
7. Adicione um novo vértice C a T e conecte-o aos vértices C1 e C2
8. Remova as linhas e colunas de d correspondentes a C1 e C2
9. Adicione uma linha e coluna a d correspondente ao novo
cluster C
10. retorne T

O algoritmo recebe como input uma matriz de


distâncias nxn
Análise de Clusters 19

Clustering Hierárquico: Recalculo das distâncias


Maneiras diferentes de definir distâncias entre clusters
podem conduzir à formação de clusters distintos

 dmin(C, C*) = min d(x,y)


para todos os elementos x de C e y em C*
 Distância entre dois clusters é a menor distância entre qualquer
par dos seus elementos

 davg(C, C*) = 1 / (#C*#C) ∑ d(x,y)


para todos os elementos x de C e y em C*

 Distância entre dois clusters é a distância média entre qualquer


par dos seus elementos

Análise de Clusters 20
Erro quadrático de distorção

 Dado um ponto v e um conjunto de pontos X={x1, x2,…xk} define-


-se a distância de v a X
d(v, X)
como a distância (Euclidiana) de v ao ponto mais próximo de
X, ou seja,
d(v, X)=min 1≤i≤k d(v,xi)

 Dado um conjunto de n pontos V={v1…vn} e um conjunto de k


pontos X, define-se o Erro quadrático de Distorção (Squared
Error Distortion) como

d(V,X) = ∑d(vi, X)2 / n 1<i<n

Análise de Clusters 21

K-Means Clustering: Formulação

 Input: Um conjunto, V, consistindo em n pontos e um


parâmetro k

 Output: Um conjunto X consistindo em k pontos-


centróides (cluster centers) que minimizam o erro
quadrático de distorção d(V,X) para todas as possíveis
escolhas de X

Análise de Clusters 22
1-Means Clustering: Um caso simples

 Input: Um conjunto, V, consistindo em n pontos

 Output: Um único ponto x (cluster center) que minimiza


the squared error distortion d(V,x) para todas as escolhas
possíveis de x

1-Means Clustering é fácil.

No entanto, torna-se bastante difícil para mais de um centróide.

Um método heurístico eficiente para o K-Means clustering é o


algoritmo de Lloyd.

Análise de Clusters 23

K-Means Clustering: Algoritmo de Lloyd


Lloyd Algorithm

1. Escolha arbitrariamente os k centróides (cluster centers)


2. Enquanto os centróides continuarem a mudar

3. Atribua cada ponto ao cluster Ci correspondente ao mais


próximo representante do cluster (centróide) (1 ≤ i ≤ k)

4. Após a atribuição de todos os pontos, calcule os novos


representantes dos clusters de acordo com o centro de
gravidade de cada cluster, isto é, o novo representante
do cluster é
∑v / #C

*Este algoritmo pode apenas localizar um óptimo local.

Análise de Clusters 24
5

4
x1

3
x2
2

1
x3

0
0 1 2 3 4 5

Análise de Clusters 25

4
x1

x2
2

1
x3

0
0 1 2 3 4 5

Análise de Clusters 26
5

4 x1

2
x3
x2
1

0
0 1 2 3 4 5

Análise de Clusters 27

4 x1

2
x2
x3
1

0
0 1 2 3 4 5

Análise de Clusters 28
Algoritmo K-Means Conservativo
 O algoritmo de Lloyd é rápido, mas em cada iteração
move muitos pontos, não causando necessariamente
melhor convergência

 Um método mais conservativo será aquele que move


apenas um determinado ponto apenas se melhorar o
custo global de clustering

 Quanto mais baixo for o custo global da partição dos dados


melhor é o clustering

 Diferentes métodos (ex. o erro quadrático de distorção)


podem ser usados para medir o custo global de clustering

Análise de Clusters 29

Algoritmo K-Means “Greedy”


ProgressiveGreedyK-Means(k)
1. Seleccione uma partição arbitrária P com k clusters
2. Enquanto verdade
3. bestChange  0
4. Para todo o cluster C
5. Para todo o elemento i que não pertence a C
6. Se mover i para o cluster C reduz o custo de clustering
7. Se (cost(P) – cost(Pi  C) > bestChange
8. bestChange  cost(P) – cost(Pi  C)
9. i*  I
10. C*  C
11. Se bestChange > 0
12. Altere a partição P movendo i* para C*
13. senão
14. devolva P

Análise de Clusters 30
Grafos Clique

 Um clique é um grafo com cada vértice conectado a


todos os outros
 Um grafo clique é um grafo onde cada componente
conectada é um clique

Análise de Clusters 31

Transformando um grafo arbitrário num


grafo clique
 Um grafo pode ser transformado num grafo clique
através da colocação e remoção de arestas

Análise de Clusters 32
Problema dos Cliques Corruptos

Input: Um grafo G

Output: O menor número de colocação e remoção


de arestas para transformar G num grafo clique

Análise de Clusters 33

Grafos de Distâncias

 Transformar uma matriz de distâncias num grafo de


distâncias
 Genes são representados como vértices do grafo
 Escolher um limiar θ (distance threshold)
 Se a distância entre dois vértices for inferior a θ então desenha-
se uma aresta entre os vértices
 O grafo resultante pode conter cliques
 Estes cliques representam clusters de pontos muito próximos

Análise de Clusters 34
Transformando grafos de distâncias em
grafos clique
O grafo de distâncias Após a
(θ=7) é transformado transformação do
num grafo clique após grafo de distâncias
a remoção de duas num grafo clique o
arestas conjunto de dados
está agrupado em
três clusters

Análise de Clusters 35

Heurísticas para o Problema dos Cliques Corruptos


 Este problema é NP-Difícil, pelo que existem algumas
heurísticas para o resolver aproximadamente:
 CAST (Cluster Affinity Search Technique): um algoritmo prático e
rápido:
 CAST é baseado na noção de gene próximo do cluster C ou
distante do cluster C
 Distância entre gene i e cluster C:

d(i,C) = distância média entre o i e todos os genes em C

O gene i está próximo do cluster C se d(i,C)< θ e distante caso


contrário

Análise de Clusters 36
Algoritmo CAST
CAST(S, G, θ)
1. PØ
2. Enquanto S ≠ Ø
3. v  vértice de grau máximo no grafo de distâncias G
4. C  {v}
5. Enquanto existir um gene próximo i ∉C ou um gene distante i ∈C
6. Encontre o gene mais próximo i ∉C e adicione-o a C
7. Encontre o gene mais distante i ∈C e remova-o de C
8. Adicione o cluster C à partição P
9. SS\C
10. Remova os vértices do cluster C do grafo de distâncias G
11. devolva P

S – conjunto de elementos,
elementos, G – grafo de distância
distância,, θ – limiar da distância

Análise de Clusters 37

Referências
 Estes acetatos foram adaptados de:

http://www.bioalgorithms.info/presentations/Ch10_Clustering.ppt

Análise de Clusters 38

Вам также может понравиться