A redução de dimensão sempre perde algumas informações?


10

Como o título diz, a redução de dimensão sempre perde alguma informação? Considere, por exemplo, PCA. Se os dados que eu tenho são muito escassos, eu suponho que uma "melhor codificação" possa ser encontrada (isso está de alguma forma relacionado à classificação dos dados?), E nada seria perdido.


7
Não, claro que não: alguns dos valores singulares no PCA podem ser zeros verdadeiros, por exemplo. Isso está menos relacionado à "escassez" dos dados do que se eles "preenchem" as dimensões usadas para registrá-los.
whuber

11
OK eu vejo. Você poderia escrever seu comentário como uma resposta curta (talvez até com um pequeno exemplo, se você tiver tempo)?
perguntando

11
Considere o caso em que você possui dados bidimensionais, em que o valor y de cada ponto é '0'. Seu primeiro componente principal será o eixo X, e você não perderá nada projetando seus dados nessa dimensão única, porque já é efetivamente uma dimensão.
David Marx

Respostas:


9

A redução de dimensionalidade nem sempre perde informações. Em alguns casos, é possível re-representar os dados em espaços de menor dimensão sem descartar nenhuma informação.

Suponha que você tenha alguns dados em que cada valor medido esteja associado a duas covariáveis ​​ordenadas. Por exemplo, suponha que você tenha medido a qualidade do sinal (indicado pela cor branco = bom, preto = ruim) em uma grade densa de posições e em relação a algum emissor. Nesse caso, seus dados podem se parecer com o gráfico à esquerda [* 1]:Qxy

demonstração da média radial

É, pelo menos superficialmente, um dado bidimensional: . No entanto, podemos conhecer a priori (com base na física subjacente) ou assumir que depende apenas da distância da origem: r = . (Algumas análises exploratórias também podem levar você a essa conclusão, mesmo que o fenômeno subjacente não seja bem compreendido). Em seguida, poderíamos reescrever nossos dados como vez de , o que reduziria efetivamente a dimensionalidade para uma única dimensão. Obviamente, isso não terá perdas se os dados forem radialmente simétricos, mas isso é uma suposição razoável para muitos fenômenos físicos.Q(x,y)x2+y2Q(r)Q(x,y)

Essa transformação não é linear (há uma raiz quadrada e dois quadrados!), Portanto é um pouco diferente do tipo de redução de dimensionalidade realizada pelo PCA, mas acho que é uma boa exemplo de como às vezes você pode remover uma dimensão sem perder nenhuma informação.Q(x,y)Q(r)

Para outro exemplo, suponha que você execute uma decomposição de valor singular em alguns dados (SVD é um primo próximo da análise de componentes principais) e, muitas vezes, a base subjacente da análise de componentes principais. O SVD pega sua matriz de dados e a divide em três matrizes, tais como . As colunas de U e V são os vectores singulares esquerdo e direito, respectivamente, que formam um conjunto de bases ortonormais para . Os elementos diagonais de (ou seja, são valores singulares, que são efetivamente pesos na ésima base formada pelas colunas correspondentes de e (o restante deM = U S V T M S S i , i ) i U V S N x N N x N S U V M Q ( x , y )MM=USVTMSSi,i)iUVSé zeros). Por si só, isso não fornece nenhuma redução de dimensionalidade (na verdade, agora existem 3 matrizes vez da matriz única com a você começou). No entanto, algumas vezes alguns elementos diagonais de são zero. Isso significa que as bases correspondentes em e não são necessárias para reconstruir e, portanto, podem ser descartadas. Por exemplo, suponha queNxNNxNSUVMQ(x,y)A matriz acima contém 10.000 elementos (ou seja, é 100x100). Quando executamos um SVD nele, descobrimos que apenas um par de vetores singulares tem um valor diferente de zero [* 2], para que possamos representar novamente a matriz original como o produto de dois vetores de 100 elementos (200 coeficientes, mas você pode realmente melhorar um pouco [* 3]).

Para algumas aplicações, sabemos (ou pelo menos assumimos) que as informações úteis são capturadas pelos componentes principais com altos valores singulares (SVD) ou carregamentos (PCA). Nesses casos, podemos descartar os vetores / bases / componentes principais singulares com cargas menores, mesmo que sejam diferentes de zero, na teoria de que eles contêm ruído irritante em vez de um sinal útil. Ocasionalmente, tenho visto pessoas rejeitarem componentes específicos com base em sua forma (por exemplo, se assemelha a uma fonte conhecida de ruído aditivo), independentemente da carga. Não tenho certeza se você consideraria isso uma perda de informações ou não.

Existem alguns resultados interessantes sobre a otimização teórica da informação do PCA. Se o seu sinal for gaussiano e corrompido com ruído gaussiano aditivo, o PCA poderá maximizar as informações mútuas entre o sinal e sua versão com redução de dimensionalidade (assumindo que o ruído tenha uma estrutura de covariância semelhante à identidade).


Notas de rodapé:

  1. Este é um modelo brega e totalmente não-físico. Desculpa!
  2. Devido à imprecisão do ponto flutuante, alguns desses valores não serão exatamente zero.
  3. Em uma inspeção mais aprofundada, neste caso específico , os dois vetores singulares são os mesmos E simétricos em relação ao seu centro, de modo que poderíamos realmente representar a matriz inteira com apenas 50 coeficientes. Observe que o primeiro passo sai do processo SVD automaticamente; o segundo requer alguma inspeção / um salto de fé. (Se você quiser pensar sobre isso em termos de pontuações PCA, a matriz de pontuações é apenas da decomposição SVD original; argumentos semelhantes sobre zeros que não contribuem de todo) se aplicam).US

Não acho que seu gráfico esteja certo. 1) É uma elipse, não um círculo, então mudarei com base no ângulo com os eixos. Mas isso pode ser um artefato. 2) Um PCA em que alguns dos autovalores são 0 indica colinearidade nos dados; isso seria um enredo que é uma linha reta, não uma colisão esférica. 3) Na vida real, os dados nunca são perfeitamente simétricos. I(r)
Hong Ooi

Em particular, observe que no seu exemplo. Essa é uma combinação não linear das variáveis, portanto, não é relevante quando se fala em PCA (que detectaria combinações lineares nos dados). r=(x2+y2)
Hong Ooi 31/07

11
Matt, minha pergunta realmente foi a seguinte: você nos mostra uma imagem sem qualquer descrição ou referência e se refere a ela como "dados": gostaria de saber em que sentido você está pensando nela como dados. Seu comentário confunde esse problema, porque uma representação de "mapa de calor" geralmente não é de dados, mas é algo criado a partir de dados. Se fossem dados de pontos 2D irregulares, por exemplo, e você ajustasse uma densidade radialmente simétrica a eles, a imagem poderia ser interpretada como unidimensional, como você argumenta, mas não seria uma redução de dimensionalidade dos dados sem perdas .
whuber

11
Talvez eu devesse ter dito 'quadriculado' ou 'quadriculado'. Eu estava imaginando uma situação em que os dados são coletados em uma grade e cada ponto da grade é associado a um valor (escalar), mas os valores não são necessariamente a intensidade da luz como em uma imagem (fotográfica). Dito isto, claramente não estou balançando esta resposta - deixe-me tentar editá-la em algo mais coerente!
27413 Matt Mattra Krause

2
+1: as edições tornam seus pontos muito mais claros. Obrigado pelo esforço extra!
whuber

4

Penso que a pergunta subjacente à sua pergunta é "o que cria informação?". É uma boa pergunta.

Técnico em gramática:

O PCA sempre perde informações? Não. Será que , por vezes, perder informações? Pode apostar. Você pode reconstruir os dados originais dos componentes. Se ele sempre perdesse informações, isso não seria possível.

É útil porque geralmente não perde informações importantes quando você as usa para reduzir a dimensão dos seus dados. Quando você perde dados, geralmente são os dados de frequência mais alta e são menos importantes. As tendências gerais em larga escala são capturadas nos componentes associados aos valores próprios maiores.


4

Não. Se uma ou mais das dimensões de uma matriz são uma função das outras dimensões, a técnica de redução de dimensão apropriada não perderá nenhuma informação.n×p

No caso mais direto, se uma dimensão é uma combinação linear das outras, a redução da dimensionalidade em uma pode ser feita sem perder nenhuma informação - porque a dimensão descartada pode ser recriada, se necessário, do que resta.

Considere este caso tridimensional em que x3 é uma combinação linear exata de x1 e x2. Não é óbvio observar os dados originais, embora fique claro que o x3 está relacionado aos dois outros:

insira a descrição da imagem aqui

Mas se olharmos para os principais componentes, o terceiro é zero (dentro do erro numérico).

insira a descrição da imagem aqui

O gráfico dos dois primeiros componentes principais é igual ao gráfico de x1 contra x2, apenas rotacionado (ok, não tão óbvio quanto eu quis dizer, tentarei explicar melhor mais tarde) :

insira a descrição da imagem aqui

Reduzimos a dimensionalidade em uma, mas mantivemos todas as informações, por qualquer definição razoável.

Isso se estende além da redução linear de dimensão, embora naturalmente se torne mais complexo para ilustrar. O ponto é que a resposta geral é "não", não quando algumas das dimensões são funções de uma combinação das outras.

Código R:

library(GGally)


n <- 10^3
dat <- data.frame(x1=runif(n, 0, 3), x2=rnorm(n))
dat$x3 <- with(dat, x1 + x2)

ggpairs(dat)

pc <- princomp(dat)
plot(pc)

par(mfrow=c(1,2))
with(dat, plot(dat$x1, dat$x2, col="red", main="Original data", bty="l"))
with(pc, plot(scores[,1], scores[,2], col="blue", main="Scores from principal components(\n(rotated)", bty="l"))
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.