Forma - PowerPoint PPT Presentation

About This Presentation
Title:

Forma

Description:

Title: Steven F. Ashby Center for Applied Scientific Computing Month DD, 1997 Author: Computations Last modified by: Luis Otavio Created Date: 3/18/1998 1:44:31 PM – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 53
Provided by: Comput612
Category:

less

Transcript and Presenter's Notes

Title: Forma


1
Formação de agrupamentos conceitos básicos e
algoritmosprof. Luis Otavio AlvaresINE/UFSC
  • Parte desta apresentação é baseada em material do
    livro
  • Introduction to Data Mining de Tan, Steinbach,
    Kumar
  • e de material do prof. José Leomar Todesco (UFSC)

2
Conceitos
  • O problema de Clustering é descrito como
    recebido um conjunto de dados (de objetos),
    tentar agrupá-los de forma que os elementos que
    compõem cada grupo sejam mais parecidos entre si
    do que parecidos com os elementos dos outros
    grupos.
  • Em resumo, é colocar os iguais (ou quase iguais)
    juntos num mesmo grupo e os desiguais em grupos
    distintos.

3
O que é formação de agrupamentos (clustering)?
  • Dado um conjunto de objetos, colocar os objetos
    em grupos baseados na similaridade entre eles
  • Inerentemente é um problema não definido
    claramente
  • Como agrupar os animais seguintes?

Adaptado de material de Marcílio C. P. de Souto -
DIMAp/UFRN
4
O que é formação de agrupamentos (clustering)?
  • Dado um conjunto de objetos, colocar os objetos
    em grupos baseados na similaridade entre eles
  • Inerentemente é um problema não definido
    claramente
  • Como agrupar os animais seguintes?

Com bico
Sem bico
Adaptado de material de Marcílio C. P. de Souto -
DIMAp/UFRN
5
O que é formação de agrupamentos (clustering)?
  • Dado um conjunto de objetos, colocar os objetos
    em grupos baseados na similaridade entre eles
  • Inerentemente é um problema não definido
    claramente
  • Como agrupar os animais seguintes?

Terra
Água
Adaptado de material de Marcílio C. P. de Souto -
DIMAp/UFRN
6
O que é formação de agrupamentos (clustering)?
  • Como agrupar os animais seguintes?
  • Dado um conjunto de objetos, colocar os objetos
    em grupos baseados na similaridade entre eles
  • Inerentemente é um problema não definido
    claramente

Ave
Mamífero
Adaptado de material de Marcílio C. P. de Souto -
DIMAp/UFRN
7
O que é formação de agrupamentos (clustering)?
  • Dado um conjunto de objetos, colocar os objetos
    em grupos baseados na similaridade entre eles

8
Aplicações de clustering
  • Entendimento
  • Agrupar documentos relacionados, agrupar
    proteínas com funcionalidades similares, agrupar
    ações com as mesmas flutuações de preço
  • Sumarização
  • Reduzir o tamanho de grandes conjuntos de dados

Agrupando a precipitação na Austrália
9
A noção de cluster pode ser ambígua
10
Dificuldades
Encontrar o melhor agrupamento para um conjunto
de objetos não é uma tarefa simples, a não ser
que n (número de objetos) e k (número de
clusters) sejam extremamente pequenos, visto que
o número de partições distintas em que podemos
dividir n objetos em k clusters é aproximadamente
kn/k! Ex. k2 e n5
então são 16 formas de dividir 5 elementos em 2
grupos.
11
Dificuldades
Para agrupar 25 objetos em 5 grupos, existem
2.436.684.974.110.751 maneiras possíveis. E se
o número de clusters é desconhecido, precisamos
somar todas as partições possíveis para cada
número de clusters entre 2 e 5 (desconsiderando
um só cluster).
12
Dificuldades
Porque a efetividade dos algoritmos de Clustering
é um problema 1. Quase todos os algoritmos de
Clustering requerem valores para os parâmetros de
entrada que são difíceis de determinar,
especialmente para conjuntos de dados do mundo
real contendo objetos com muitos atributos.
13
Dificuldades
2. Os algoritmos são muito sensíveis a estes
valores de parâmetros, freqüentemente produzindo
partições muito diferentes do conjunto de dados
mesmo para ajustes de parâmetros
significativamente pouco diferentes. 3.
Conjuntos de dados reais de alta dimensão (muitos
atributos) têm uma distribuição muito ampla o que
dificulta a análise.
14
Medidas de Similaridade
As medidas de similaridade fornecem valores
numéricos que expressam a distância entre dois
objetos. Quanto menor o valor desta distância,
mais semelhantes serão os objetos, e tenderão a
ficar no mesmo cluster. Quanto maior a
distância, menos similares serão os objetos e,
em conseqüência, eles deverão estar em grupos
distintos.
15
Medidas de Similaridade
  • Uma função de distância deve ser tal que
  • não assuma valores negativos (o menor valor é
    0)
  • ser simétrica (a distância do objeto i ao j tem
    que ser igual à distância do objeto j ao i)
  • forneça o valor 0 quando calculada a distância
    do objeto a si mesmo ou quando dois objetos são
    idênticos
  • respeite a desigualdade triangular, (dados 3
    objetos, a distância entre dois deles tem que ser
    menor ou igual a soma das distâncias entre esses
    dois objetos e o terceiro).

16
Medidas de Similaridade
  • Distância Euclidiana
  • City block (Manhattan, taxicab, L1 norm, Hamming)
  • Um exemplo comum é a distância de Hamming, que é
    o número de bits que é diferente entre dois
    vetores binários

17
  • Métrica de Canberra
  • coeficiente de CzeKanowski

18
Medidas de Similaridade
Não há uma medida de similaridade que sirva para
todos os tipos de variáveis que podem existir
numa base de dados. Variáveis numéricas A
medida que é normalmente usada para computar as
dissimilaridades de objetos descritos por
variáveis numéricas é a Distancia Euclidiana A
normalização faz com que todas as variáveis
tenham um peso igual. A normalização deve ser
efetuada para todos os atributos.
19
Medidas de Similaridade
20
Medidas de Similaridade
  • Exemplos para strings
  • Cores Branco, Amarelo, Vermelho, Marrom,
    Preto
  • x1 Branco
  • y1 Amarelo

Opção1 medida binária de similaridade
0, se a1 a2 d(x1,y1)
1, se a1 ? a2
21
Medidas de Similaridade
  • Opção2 transformar o string em um valor numérico
    (mais usado quando há ordem entre os valores
    nominais)
  • E usar a distância Euclidiana

22
Principais abordagens de Clustering
  • Particionamento (K-médias e variantes)
  • Divide os pontos (dados) em conjuntos disjuntos
    (clusters) tal que cada ponto pertence a um
    único cluster
  • Hierárquica
  • Um conjunto de clusters aninhados organizados
    como uma árvore
  • Baseadas em densidade
  • Encontra clusters baseado na densidade de regiões
  • Baseadas em grade (Grid-based)
  • Encontra clusters baseado no número de pontos em
    cada célula

23
K-médias (K-means)
  • Abordagem por particionamento
  • Cada cluster está associado a um centróide (ponto
    central)
  • Cada ponto é associado ao cluster cujo centróide
    está mais próximo
  • Número de clusters, K, precisa ser especificado
  • O algoritmo básico é bem simples

24
K-médias exemplo do funcionamento
25
K-médias partição
Diagrama de Voronoi poliedros convexos em torno
dos centróides
26
k-means (Exemplo)
Usar k2 (parâmetro informado pelo
usuário) Dataset a ser clusterizado
27
k-means (Exemplo)
Passo 1 Determina-se os centróides iniciais
(normalmente pega-se ao acaso k pontos
(registros) por exemplo os registros A e
B), isto é C1(1) (5,3) C2(1) (-1,1)
28
k-means (Exemplo)
Passo 2 Calcula-se as distâncias de cada ponto
aos centróides, para definir os cluster iniciais.

Os clusters são C1 A C2 B,C,D Pois C e
D estão mais perto de B do que de A
29
k-means (Exemplo)
Passo 3 cálculo dos novos centróides
C1(2) (5,3) C2(2)
 
30
k-means (Exemplo)
Passo 4 novo cálculo dos clusters
  • Os clusters são
  • C1 A
  • C2 B,C,D
  • Pois
  • A está mais perto de C12 do que de C22
  • B, C e D estão mais perto de C22 do que de C12

Como os elementos dos clusters não se alteraram,
os centróides vão ser os mesmos e com isso o
algoritmo para.
31
Outros exemplos com o k-médias
32
Dois conjuntos de clusters diferentes gerados
pelo K-médias
Pontos originais
33
Importância de escolher os centróides iniciais
34
Importância de escolher os centróides iniciais
35
Avaliando os clusters gerados
  • A medida mais comum é a soma dos erros quadrados
  • (Sum of Squared Error - SSE)
  • Para cada ponto, o erro é a distância ao
    centróide mais próximo
  • x é um ponto de dados no cluster Ci e mi é o
    ponto representativo (centróide) do cluster Ci
  • Uma maneira fácil de reduzir o SSE é aumentar K,
    o número de clusters
  • Um bom particionamento com um K pequeno pode ter
    um SSE menor do que um mau particionamento com um
    K maior

36
Importância da escolha dos centróides iniciais
37
Importância da escolha dos centróides iniciais
38
Exemplo com 10 clusters
Iniciando com dois centróides em um cluster para
cada par de clusters
39
Exemplo com 10 clusters
Iniciando com dois centróides em um cluster para
cada par de clusters
40
Exemplo com 10 clusters
Iniciando com um par de clusters tendo 3
centróides iniciais e outro par com somente um.
41
Exemplo com 10 clusters
Iniciando com um par de clusters tendo 3
centróides iniciais e outro par com somente um.
42
Pré e Pós-processamento
  • Pré-processamento
  • Normalize os dados
  • Elimine exceções (outliers)
  • Pós-processamento
  • Elimine clusters pequenos que podem representar
    outliers
  • Divida clusters fracos i.e., clusters com SSE
    relativamente alto
  • Junte clusters que estão perto e que tenham SSE
    relativamente baixo

43
Limitações do K-médias
  • K-médias tem problemas quando os clusters têm
  • Tamanhos diferentes
  • Densidades diferentes
  • Formato não esférico
  • K-médias tem problemas quando os dados contêm
    outliers.

44
Limitações do K-médias tamanhos diferentes
K-médias (3 Clusters)
Pontos originais
45
Limitações do K-médias densidades diferentes
K-médias (3 Clusters)
pontos originais
46
Limitações do K-médias formatos não esféricos
Pontos originais
K-médias (2 Clusters)
47
Superando as limitações do K-médias
Pontos originais Clusters do K-médias
Uma solução é usar muitos clusters. Encontra
partes de clusters, mas que precisam ser unidos.
48
Superando as limitações do K-médias
Pontos originais clusters do K-médias
49
Superando as limitações do K-médias
Pontos originais clusters do K-médias
50
  • O algoritmo K-médias é sensível a ruídos visto
    que um objeto com um valor extremamente grande
    pode, distorcer a distribuição de dados.
  • Para diminuir essa sensibilidade, no
    algoritmo K- medoids, ao invés de utilizar o
    valor médio dos objetos em um cluster como um
    ponto referência, a mediana é utilizada, que é o
    objeto mais centralmente localizado em um
    cluster.

51
Métodos de K-medoids (K-medianas)
  • Em vez de médias (centróides), usa objetos
    representativos chamados medoids
  • PAM (Partitioning Around Medoids, 1987) inicia
    com um conjunto de medoids e iterativamente
    substitui um dos medoids por um dos pontos
    não-medoids se ele melhora a distância total do
    particionamento resultante
  • CLARA (Clustering Large Applications, 1990) It
    draws multiple samples of the data set, applies
    PAM on each sample, and gives the best clustering
    as the output
  • CLARANS (Randomized CLARA, 1994) mais
    eficiente e escalável que CLARA e PAM

52
Exercício

Write a Comment
User Comments (0)
About PowerShow.com