Significado de "erro de reconstrução" em PCA e LDA

12

Estou implementando PCA, LDA e Naive Bayes, para compactação e classificação, respectivamente (implementando um LDA para compactação e classificação).

Eu tenho o código escrito e tudo funciona. O que eu preciso saber, para o relatório, é qual é a definição geral de erro de reconstrução .

Posso encontrar muita matemática e utilizá-la na literatura ... mas o que realmente preciso é de uma visão geral / definição de palavras simples, para que eu possa adaptá-la ao relatório.

donlan
fonte
Erro de reconstrução é o conceito que se aplica (da sua lista) apenas ao PCA, não ao LDA ou ao Bayes ingênuo. Você está perguntando sobre o que significa o erro de reconstrução no PCA ou deseja alguma "definição geral" que também se aplique à LDA e aos ingênuos Bayes?
Ameba
Você conhece os dois? O relatório envolve o PCA e o LDA no que diz respeito à compactação de dados, por isso tenho que ter algum tipo de resposta no PCA e no LDA ... mas não necessariamente NB. Então, talvez a versão específica para o PC detalhado ... e a ideia geral, para que eu possa aplicá-lo ao LDA da melhor maneira possível. Então, eu tenho conhecimento suficiente para pesquisar no Google de forma mais eficaz se eu correr em dificuldades ...
Donlan
É melhor que essa pergunta seja encerrada porque general definition of reconstruction erroré elusivamente ampla.
ttnphns
2
@ttnphns, não acho que seja muito amplo. Penso que a questão pode ser reformulada como "Podemos aplicar a noção de erro de reconstrução do PCA à LDA?" e acho que é uma pergunta interessante e sobre um tópico (+1). Vou tentar escrever uma resposta se encontrar tempo.
ameba
1
@amoeba, na formulação sugerida por você, a pergunta realmente recebe luz. Sim, é possível escrever uma resposta então (e posso esperar que a sua seja boa). Uma coisa complicada sobre "o que está sendo reconstruído" na LDA é a questão do que está sendo considerado como DVs e quais IVs na LDA.
ttnphns

Respostas:

8

Para o PCA, o que você faz é projetar seus dados em um subconjunto do seu espaço de entrada. Basicamente, tudo se mantém nessa imagem acima: você projeta dados no subespaço com variação máxima. Quando você reconstrói seus dados a partir da projeção, obtém os pontos vermelhos e o erro de reconstrução é a soma das distâncias dos pontos azuis aos vermelhos: na verdade, corresponde ao erro que você fez ao projetar seus dados no verde linha. Pode ser generalizado em qualquer dimensão, é claro!

insira a descrição da imagem aqui

Como apontado nos comentários, não parece tão simples para o LDA e não consigo encontrar uma definição adequada na internet. Desculpa.

Vince.Bdn
fonte
O caso da LDA é mais complicado do que isso. O que você faria no caso de projeções bidimensionais? No PCA, dois eixos principais são ortogonais e formam um plano 2D; portanto, é claro que a mesma idéia de erro de reconstrução se aplica. Mas na LDA, dois eixos discriminantes não são ortogonais. Como exatamente você está sugerindo definir o erro de reconstrução?
Ameba
Eu tenho duas observações sobre a resposta. 1) Você está dizendo que sua foto 1 mostra o verdadeiro PC1? 2) Para o LDA e a 2ª foto, você pode desenhar discriminantes como eixos no espaço original e chamar os resíduos de pontos de dados de "erro de reconstrução". Mas é uma prática terminológica frouxa. O que os discriminantes reconstroem? Além disso, adicione aqui o que a ameba disse sobre a não-diagonalidade axial (vista aqui ).
ttnphns
1) É uma foto tirada de uma pesquisa no google que mostra erro, mas de fato o pca seria muito mais vertical, vou tentar encontrar uma melhor e atualizar.
Vince.Bdn
2) Eu editei minha postagem. Costumo ver os discriminantes como eixos no espaço original, de fato para um ponto de vista geométrico, mas, como apontado, não há ortogonalidade. Meu erro ...
Vince.Bdn
1
Vince, a decisão é sua. Mas quanto a mim, é melhor deixar a segunda foto na resposta também. Você não se enganou e sua visão é possível. A questão é, no entanto, mais complexa com a LDA; comentários foram apenas para enfatizar isso .
ttnphns
2

A definição geral do erro de reconstrução seria a distância entre o ponto de dados original e sua projeção em um subespaço de menor dimensão (sua 'estimativa').

Fonte: Matemática da Especialização em Aprendizado de Máquina pelo Imperial College London

Serim Hande Tarcan
fonte
0

O que costumo usar como medida do erro de reconstrução (no contexto da PCA, mas também em outros métodos) é o coeficiente de determinação e o erro médio quadrático da raiz (ou RMSE normalizado). Esses dois são fáceis de calcular e dão uma idéia rápida do que a reconstrução fez.R2

Cálculo

Vamos assumir que são seus dados originais são os dados compactados.Xf

O da variável pode ser calculado como:R2ith

Ri2=1j=1n(Xj,ifj,i)2j=1nXj,i2

Como para um ajuste perfeito, você pode julgar a reconstrução pela proximidade do a 1,0.R2=1.0R2

O RMSE da variável pode ser calculado como:ith

RMSEi=(Xifi)2¯

que você também pode normalizar por uma quantidade que combina com você (norma ), eu normalmente normalizo pelo valor médio, o NRMSE é assim:N

NRMSEi=RMSEiNi=(Xifi)2¯Xi2¯

Computação

Caso você esteja usando Python, você pode calculá-los como:

from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error
from math import sqrt
import numpy as np

r2 = r2_score(X, f)
rmse = sqrt(mean_squared_error(X, f))

# RMSE normalised by mean:
nrmse = rmse/sqrt(np.mean(X**2))

Onde Xestão os dados originais e fos dados compactados.

Visualização

Caso seja útil fazer alguma análise de sensibilidade, você poderá julgar visualmente como o ou o RMSE mudam quando você altera os parâmetros de sua compactação. Por exemplo, isso pode ser útil no contexto do PCA quando você deseja comparar reconstruções com um número crescente de Componentes Principais retidos. Abaixo, você vê que aumentar o número de modos está se aproximando do modelo:R2

insira a descrição da imagem aqui

camillejr
fonte