Derivação da PCA Usando Álgebra Linear
A ACP busca um novo conjunto de eixos, chamados de componentes principais, de modo que os dados projetados apresentem variância máxima. O primeiro componente principal, denotado como w1, é escolhido para maximizar a variância dos dados projetados:
Var(Xw1)Sujeito à restrição de que ∥w1∥=1. A solução para este problema de maximização é o autovetor da matriz de covariância correspondente ao maior autovalor.
O problema de otimização é:
wmax wTΣwsubject to∥w∥=1A solução é qualquer vetor w que satisfaça Σw=λw, onde λ é o autovalor correspondente. Em outras palavras, w é um autovetor da matriz de covariância Σ associado ao autovalor λ.
12345678910111213import numpy as np # Assume cov_matrix from earlier X = np.array([[2.5, 2.4], [0.5, 0.7], [2.2, 2.9]]) X_centered = X - np.mean(X, axis=0) cov_matrix = (X_centered.T @ X_centered) / X_centered.shape[0] # Find the principal component (eigenvector with largest eigenvalue) values, vectors = np.linalg.eig(cov_matrix) principal_component = vectors[:, np.argmax(values)] print("First principal component:", principal_component)
Este componente principal é a direção ao longo da qual os dados apresentam a maior variância. Projetar os dados nesta direção fornece a representação unidimensional mais informativa do conjunto de dados original.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 8.33
Derivação da PCA Usando Álgebra Linear
Deslize para mostrar o menu
A ACP busca um novo conjunto de eixos, chamados de componentes principais, de modo que os dados projetados apresentem variância máxima. O primeiro componente principal, denotado como w1, é escolhido para maximizar a variância dos dados projetados:
Var(Xw1)Sujeito à restrição de que ∥w1∥=1. A solução para este problema de maximização é o autovetor da matriz de covariância correspondente ao maior autovalor.
O problema de otimização é:
wmax wTΣwsubject to∥w∥=1A solução é qualquer vetor w que satisfaça Σw=λw, onde λ é o autovalor correspondente. Em outras palavras, w é um autovetor da matriz de covariância Σ associado ao autovalor λ.
12345678910111213import numpy as np # Assume cov_matrix from earlier X = np.array([[2.5, 2.4], [0.5, 0.7], [2.2, 2.9]]) X_centered = X - np.mean(X, axis=0) cov_matrix = (X_centered.T @ X_centered) / X_centered.shape[0] # Find the principal component (eigenvector with largest eigenvalue) values, vectors = np.linalg.eig(cov_matrix) principal_component = vectors[:, np.argmax(values)] print("First principal component:", principal_component)
Este componente principal é a direção ao longo da qual os dados apresentam a maior variância. Projetar os dados nesta direção fornece a representação unidimensional mais informativa do conjunto de dados original.
Obrigado pelo seu feedback!