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.
pca
information-theory
information
perguntando
fonte
fonte
Respostas:
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]:Q x y
É, 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+y2−−−−−−√ Q(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 )M M=USVT M S Si,i) i U V S é 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 queNxN NxN S U V M Q(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é:
fonte
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.
fonte
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:
Mas se olharmos para os principais componentes, o terceiro é zero (dentro do erro numérico).
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) :
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:
fonte