Qual é a diferença entre lda e pca para redução de dimensão?

Basta adicionar uma imagem e códigos para facilitar o entendimento do PCA:

  • Dados do projeto PCA para as direções que produzem a maior variação.

O vetor singular-1 fornece a direção, que tem a maior variação.

O vetor singular-2 é ortogonal ao vetor-1 singular.

  • Não há "rótulo" para o PCA. O PCA considera todos os dados como um todo.

Das duas fotos abaixo, aparentemente, podemos ver que o PCA não se importa com "rótulos".

Figura 1: somente dados de classe 1.

Figura 2: duas classes de dados. No entanto, a PCA os trata como um todo. (diferente da LDA)

limpar tudo fechar todos os dados do clc%: 2 dimensional (é como se tivéssemos 2 recursos no aprendizado de máquina)% os dados são Multivariante Normal distribuído mu = [0,0]; % sigma médio = [1,1,5; 1,5,3]; % covariância rng padrão% Para reprodutibilidade r = mvnrnd (mu, sigma, 1000); % a figura de dados% plotam a plotagem de dados (r (:, 1), r (:, 2), '+ b'); grade ligada; eixo ([- 5,5, -5,5]); segure [u, s, v] = svd (r); % De decomposição SVD. Isso é equivalente ao PCA. % plotam o vetor singular x = espaço no espaço (-10,10,21) y1 = v (2,1) / v (1,1) * x; plot (x, y1, '- b'); y2 = v (2,2) / v (1,2) * x; plot (x, y2, '- b'); legenda ('dados', 'vetor sigular 1', 'vetor singular 2')% -% data: 2 Dimensional (é como se tivéssemos 2 recursos em aprendizado de máquina)% os dados são Multivariante Distribuição normal Mu = [6, 3]; % média Sigma = [1,1,5; 1,5,3]; % co-variância rng padrão% Para reprodutibilidade R = mvnrnd (Mu, Sigma, 1000); % o gráfico de dados (R (:, 1), R (:, 2), 'xr'); grade ligada; eixo ([- 5,8, -5,8]); segure R = [r; R]; [U, S, V] = svd (R); % De decomposição SVD. Isso é equivalente ao PCA. % plotam o vetor singular X = espaço interior (-10,10,21) Y1 = V (2,1) / V (1,1) * X; plot (X, Y1, '- g'); Y2 = V (2,2) / V (1,2) * X; plot (X, Y2, '- g');

Basta adicionar uma imagem e códigos para facilitar o entendimento do PCA:

  • Dados do projeto PCA para as direções que produzem a maior variação.

O vetor singular-1 fornece a direção, que tem a maior variação.

O vetor singular-2 é ortogonal ao vetor-1 singular.

  • Não há "rótulo" para o PCA. O PCA considera todos os dados como um todo.

Das duas fotos abaixo, aparentemente, podemos ver que o PCA não se importa com "rótulos".

Figura 1: somente dados de classe 1.

Figura 2: duas classes de dados. No entanto, a PCA os trata como um todo. (diferente da LDA)

limpar tudo fechar todos os dados do clc%: 2 dimensional (é como se tivéssemos 2 recursos no aprendizado de máquina)% os dados são Multivariante Normal distribuído mu = [0,0]; % sigma médio = [1,1,5; 1,5,3]; % covariância rng padrão% Para reprodutibilidade r = mvnrnd (mu, sigma, 1000); % a figura de dados% plotam a plotagem de dados (r (:, 1), r (:, 2), '+ b'); grade ligada; eixo ([- 5,5, -5,5]); segure [u, s, v] = svd (r); % De decomposição SVD. Isso é equivalente ao PCA. % plotam o vetor singular x = espaço no espaço (-10,10,21) y1 = v (2,1) / v (1,1) * x; plot (x, y1, '- b'); y2 = v (2,2) / v (1,2) * x; plot (x, y2, '- b'); legenda ('dados', 'vetor sigular 1', 'vetor singular 2')% -% data: 2 Dimensional (é como se tivéssemos 2 recursos em aprendizado de máquina)% os dados são Multivariante Distribuição normal Mu = [6, 3]; % média Sigma = [1,1,5; 1,5,3]; % co-variância rng padrão% Para reprodutibilidade R = mvnrnd (Mu, Sigma, 1000); % o gráfico de dados (R (:, 1), R (:, 2), 'xr'); grade ligada; eixo ([- 5,8, -5,8]); segure R = [r; R]; [U, S, V] = svd (R); % De decomposição SVD. Isso é equivalente ao PCA. % plotam o vetor singular X = espaço interior (-10,10,21) Y1 = V (2,1) / V (1,1) * X; plot (X, Y1, '- g'); Y2 = V (2,2) / V (1,2) * X; plot (X, Y2, '- g');

PCA é um algoritmo de redução de dimensionalidade.

Basicamente, é uma técnica baseada em aprendizado de máquina para extrair fatores ocultos do conjunto de dados.

  • Define seus dados usando um número menor de componentes para explicar a variação em seus dadosReduz o número de dimensões nos dados, de modo que sua complexidade computacional seja reduzida

Trabalho do PCA:

Considere um cenário em que você tenha dados nos eixos xey:

A aplicação de resultados do PCA na geração de componentes, de modo que eles sejam ortogonais e, portanto, altamente correlacionados entre si. Portanto, também resolvendo o problema da multicolinearidade.

Embora o PCA reduza dimensões, mas ao lidar com dados de várias classes, é necessário reduzir as dimensões de uma maneira que a separação entre classes também seja resolvida. LDA é um algoritmo usado para o mesmo. Vamos discutir isso em detalhes:

  1. Reduz as dimensõesProcura uma combinação linear de variáveis ​​que melhor separa 2 classesReduz o grau de sobreajuste

Trabalho de LDA: Assuma um conjunto de amostras tridimensionais {x (1, x (2,…, x (N}, N1, pertencentes à classe ω1 e N2 à classe ω2

Obtenha um y escalar projetando as amostras x em uma linha: Y = W ^ TX

De todas as linhas possíveis, selecione a que maximiza a separabilidade dos escalares: