Udledning af PCA ved Hjælp af Lineær Algebra
PCA søger et nyt sæt akser, kaldet hovedkomponenter, således at de projicerede data har maksimal varians. Den første hovedkomponent, betegnet som w1, vælges for at maksimere variansen af de projicerede data:
Var(Xw1)Under betingelsen at ∥w1∥=1. Løsningen til dette maksimeringsproblem er egenvektoren for kovariansmatricen, der svarer til den største egenværdi.
Optimeringsproblemet er:
wmax wTΣwsubject to∥w∥=1Løsningen er enhver vektor w, der opfylder Σw=λw, hvor λ er den tilsvarende egenværdi. Med andre ord er w en egenvektor for kovariansmatricen Σ, der er associeret med egenværdien λ.
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)
Denne hovedkomponent er den retning, hvor dataene har den største varians. Projektion af data på denne retning giver den mest informative endimensionelle repræsentation af det oprindelige datasæt.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain why the principal component is important in PCA?
How do I interpret the values of the principal component?
What does projecting data onto the principal component mean?
Awesome!
Completion rate improved to 8.33
Udledning af PCA ved Hjælp af Lineær Algebra
Stryg for at vise menuen
PCA søger et nyt sæt akser, kaldet hovedkomponenter, således at de projicerede data har maksimal varians. Den første hovedkomponent, betegnet som w1, vælges for at maksimere variansen af de projicerede data:
Var(Xw1)Under betingelsen at ∥w1∥=1. Løsningen til dette maksimeringsproblem er egenvektoren for kovariansmatricen, der svarer til den største egenværdi.
Optimeringsproblemet er:
wmax wTΣwsubject to∥w∥=1Løsningen er enhver vektor w, der opfylder Σw=λw, hvor λ er den tilsvarende egenværdi. Med andre ord er w en egenvektor for kovariansmatricen Σ, der er associeret med egenværdien λ.
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)
Denne hovedkomponent er den retning, hvor dataene har den største varians. Projektion af data på denne retning giver den mest informative endimensionelle repræsentation af det oprindelige datasæt.
Tak for dine kommentarer!