Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São Paulo (USP) 23 de setembro de 2010
Introdução Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Introdução Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Introdução Introdução Projeção Multi-dimensional Tipicamente mapeia dados m-dimensionais em um espaço p-dimensional com p = {1, 2, 3}, preservando alguma informação sobre as relações de distância entre as instâncias O resultado é um conjunto de pontos no plano se pontos forem proximamente posicionados isso indica que os objetos que esses representam são similares e se pontos forem projetados distantes isso significa que os objetos que os mesmos representam são dissimilares
Introdução Introdução Projeção Multi-dimensional Seja X um conjunto de objetos em R m com δ : R m R m R um critério de proximidade entre objetos em R m, e Y um conjunto de pontos em R p para p = {1, 2, 3} e d : R p R p R um critério de proximidade em R p. Uma técnica de projeção multi-dimensional pode ser descrita como uma função f : X Y que visa tornar δ(x i, x j ) d(f(x i ), f(x j )) o mais próximo possível de zero, x i, x j X.
Introdução Projeção Multi-dimensional
Introdução Projeção Multi-dimensional δ : x i, x j R, x i, x j X
Introdução Projeção Multi-dimensional δ : x i, x j R, x i, x j X d : y i, y j R, y i, y j Y
Introdução Projeção Multi-dimensional δ : x i, x j R, x i, x j X d : y i, y j R, y i, y j Y f : X Y, δ(x i, x j ) d(f(x i ), f(x j )) 0, x i, x j X
Introdução Projeção Multi-dimensional IDH/ONU de 2006 (http://hdr.undp.org/hdr2006/statistics/) http://infoserver.lcad.icmc.usp.br/
Introdução Introdução Símbolo X m x i Y p y i n δ(x i, x j ) d(y i, y j ) Significado conjunto de objetos no espaço original m-dimensional. dimensão do espaço original. i-ésimo objeto do espaço original. Quando esse admitir uma representação vetorial, x i = (x i1, x i2,..., x im ) representam suas coordenadas. conjunto de pontos no espaço projetado p-dimensional. dimensão do espaço projetado. i-ésimo ponto do espaço projetado. Quando esse admitir uma representação vetorial, y i = (y i1, y i2,..., y ip ) representam suas coordenadas. número de objetos no espaço original e pontos no projetado. dissimilaridade entre os objetos i e j no espaço original. distância entre os pontos i e j no espaço projetado. Tabela: Símbolos mais freqüentes e seus significados.
Distâncias, Similaridades e Transformação dos Dados Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Distâncias A forma como a distância (δ(x i, x j )) entre os objetos multi-dimensionais X é calculada desempenha papel central Distância de Minkowski família de métricas de distância denominadas normas L p m L p (x i, x j ) = ( x ik x jk p ) 1 p (1) k=1 Com p = 1 obtém-se a distância Manhattan (City Block) Com p = 2 tem-se a distância Euclideana Com p = obtém-se a distância do infinito (L (x i, x j ) = max m k=1 x ik x jk )
Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Distâncias Propriedades de uma Métrica (Distância) 1 Não-Negatividade: x i, x j X, δ(x i, x j ) 0 2 Identidade: x i, x j X, x i = x j δ(x i, x j ) = 0 3 Simetria: x i, x j X, δ(x i, x j ) = δ(x j, x i ) 4 Desigualdade Triangular: x i, x j, x k X, δ(x i, x k ) δ(x i, x j ) + δ(x j, x k )
Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Distâncias Nem toda dissimilaridade é uma distância (métrica) não precisa obedecer as propriedades métricas Uma dissimilaridade pode ser o inverso de uma similaridade s(x i, x j ) δ(x i, x j) = 1 s(x i,x j )+1 δ(x i, x j) = e s(x i,x j ) δ(x i, x j) = 1 s (x i, x j) com s (x i, x j ) = s(x i,x j ) s min s max s min Exemplo conhecido: dissimilaridade do cosseno 1 cos(x i, x j)
Distâncias, Similaridades e Transformação dos Dados Transformação dos Dados Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Distâncias, Similaridades e Transformação dos Dados Transformação dos Dados Introdução Problema No cálculo das dissimilaridades (ou similaridades), dois diferentes cenários podem distorcer os resultados ou torná-los tendenciosos Quando os vetores x i têm normas Euclideanas muito diferentes Quando uma (ou mais) coordenadas dos vetores está em uma escala diferente das outras coordenadas
Distâncias, Similaridades e Transformação dos Dados Transformação dos Dados Normalização e Padronização Normalização Para se evitar o primeiro cenário pode-se aplicar a normalização tornando os vetores unitário x ij = x ij/ x i para 1 j m Padronização O segundo cenário pode ser evitado aplicando-se um processo conhecido como standardization Se x j = 1 n n i=1 xij é a média da coordenada j e 1 σ j = n n i=1 (xij xj)2 seu desvio padrão, essa transformação é obtida fazendo-se x ij = (x ij x j)/σ j para 1 i n e 1 j m, criando novas coordenadas que têm média igual a 0 e desvio padrão igual a 1
Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Introdução Aqui apresentaremos as técnicas de projeção mais relevantes para visualização, divididas em três grandes grupos baseadas em força (Force-Direct Placement (FDP)) de decomposição espectral de redução de dimensionalidade
Force-Directed Placement Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Force-Directed Placement Introdução Force-Directed Placement São as técnicas de projeção mais simples, baseadas em Modelos de Molas Tenta levar um sistema de objetos conectados por molas a um estado de equilíbrio Sistema iterativo que usa as forças geradas pelas molas para puxar ou empurrar os objetos até se atingir uma posição de equilíbrio As forças no sistema são calculadas proporcionais a diferença entre as dissimilaridades δ(x i, x j) e as distâncias d(y i, y j)
Force-Directed Placement Modelo de Molas Os objetos são modelados como partículas ponto-massa ligadas entre si por meio de molas conjunto de partículas está sujeito às leis de Newton f = m a (2) Resolve-se um sistema de equação diferenciais ordinárias de segunda ordem { v = a = f/m p = v (3)
Force-Directed Placement Abordagem de Chalmers Uma aproximação do Modelo de Molas Para cada instância x i duas listas são criadas V i armazena as referências aos objetos vizinhos de x i mantida do começo ao fim das iterações S i armazenas objetos escolhidos aleatoriamente que não pertençam a V i construida a cada iteração Em uma iteração se a distância de algum elemento de S i for menor que a maior distância para os elementos de V i, esse elemento é adicionado à V i As forças são calculadas considerando os elementos presentes em S i e V i
Force-Directed Placement Modelo Híbrido Primeiro uma amostragem aleatória S de n objetos é projetada no plano usando-se o método de Chalmers Então os objetos restantes são interpolados Para cada n n objetos restantes é comparado com a amostra S a fim de determinar o objeto mais próximo Essa informação é então usada para se realizar a interpolação Essa abordagem é acelerada empregando uma abordagem de árvore métrica, onde pivôs são usados para diminuir a quantidade de cálculos de distância Acomplexidade do algoritmo é reduzida de O(n 3 2 ) para O(n 5 4 )
Force-Directed Placement Force Scheme Force Scheme é uma abordagem mais precisa, mas com custo computacional alto, O(n 2 ) 1: para n=1 até k faça 2: para todo y i Y faça 3: para todo y j Y com y j y i faça 4: Calcular v como sendo o vetor de y i para y j. 5: Mover y j em direção de v uma fração de. 6: fim para 7: fim para 8: Normalizar as coordenadas da projeção na faixa [0, 1] em ambas as dimensões. 9: fim para = δ(x i, x j ) δ min δ max δ min d(y i, y j ) (4)
Force-Directed Placement Sammon s Mapping Minimiza a seguinte função de perda 1 S = i<j δ(x i, x j ) i<j (d(y i, y j ) δ(x i, x j )) 2 δ(x i, x j ) (5) Essa função é minimizada usando um método iterativo que emprega seu gradiente para se encontrar um mínimo local A m-ésima iteração desse método é definida como y pq (m + 1) = y pq (m) MF pq (m) (6) Onde y pq denota a coordenada q do ponto p, pq (m) = S(m) / 2 S(m) y pq (m) ypq(m) 2 (7)
Decomposição Espectral Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Decomposição Espectral Classical Scaling Sejam x i (i = 1,..., n) as coordenadas de n pontos em um espaço Euclideano m-dimensional, onde x i = (x i1,..., x im ) T, e seja B a matrix do produto interno entre vetores, [B] ij = b ij = x T i x j Com distância Euclideana entre os pontos i e j dada por ˆδ(x i, x j ) = (x i x j ) T (x i x j ) (8) A partir de uma matriz da distâncias {ˆδ(x i, x j )}, encontrar a matriz do produto interno B, e a partir de B calcular as coordenadas dos pontos
Decomposição Espectral Classical Scaling A matrix B pode ser reescrita como A é a matrix [A] ij = a ij = 1 2 ˆδ(x i, x j ) H é a matrix de centragem B = HAH (9) Usando decomposição espectral, B pode ser escrita em como B = VΛV T Como B = XX T, a matrix de coordenadas X é dada por X = V 1 Λ 1 2 1,
Decomposição Espectral Isometric Feature Mapping (ISOMAP) Ao invés de empregar distâncias Euclideanas (ou outra dissimilaridade δ(x i, x j )) entre os objetos multi-dimensionais, emprega-se distâncias geodésicas Então a Classical Scaling é aplicada considerando essas distâncias geodésicas
Redução de Dimensionalidade Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Redução de Dimensionalidade de Redução Definição para redução de dimensionalidade buscam encontrar uma representação de menor dimensão que capture o conteúdo original dos dados de acordo com algum critério Redução de Dimensionalidade Linear Uma técnica de redução de dimensionalidade f : X Y é dita ser linear se f(αx i + βx j ) = αf(x i ) + βf(x j ) para todo x i, x j X e α, β R
Redução de Dimensionalidade Principal Component Analysis PCA é uma técnica de redução linear Consegue capturar a maior parte da variabilidade com poucas dimensões Elimina grande parte do ruído existente, etc. Primeiro a matriz de covariância C m m dos atributos é criada, com c ij = cov(a i, a j ) Então decomposição espectral é aplicada encontrando A redução por fim é encontrada fazendo C = UΛU T, (10) S = X [u 1, u 2,..., u p ] (11)
Sumário 1 Introdução 2 Distâncias, Similaridades e Transformação dos Dados Distâncias e Similaridades Transformação dos Dados 3 Force-Directed Placement Decomposição Espectral Redução de Dimensionalidade
Primeiro, um subconjunto de objetos multi-dimensionais, chamados de pontos de controle, é escolhido e projetado no R p Fazendo-se uso das relações de vizinhança dos objetos no R m é construído um sistema linear cuja solução é a projeção dos objetos restantes no fecho convexo de seus k vizinhos mais próximos
Seja V i = {p i1,..., p iki } um conjunto k i pontos em uma vizinhança de um ponto p i e p i sejam as coordenadas de p i no R d Suponha que p i sejam dadas pela seguinte equação p i p j V i α ij p j = 0 0 α ij 1; α ij = 1 (12) Quando α ij = 1 k i teremos p i no centróide dos pontos em V i
A partir dessa equação um conjunto de sistemas lineares é definido Lx 1 = 0, Lx 2 = 0, Lx d = 0 (13) Onde x 1, x 2,..., x d são os vetores contendo as coordenadas cartesianas dos pontos e L é a matriz n n cuja as entradas são dadas por 1 i = j l ij = α ij p j V i 0 caso contrário
Os pontos de controle são inseridos no sistema como novas linhas na matrix Assim, dado um conjunto de pontos de controle S c = {p c1,..., p cnc }, é possível re-escrever o sistema Ax = b (14) Onde A é uma matrix retangular (n + nc) n dada por ( ) { L 1 xj é um ponto de controle A =, c C ij = 0 caso contrário E b é o vetor: { 0 i n b i = n < i n + nc x ic
(a) Grafo de vizinhança. (b) Matrix Laplaciana.
O sistema linear com os pontos de controle apresenta rank-completo e pode ser resolvido aplicando-se mínimos quadrados Encontrar x que minimize Ax b 2, isto é, x = (A T A) 1 A T b