Виведення PCA за допомогою лінійної алгебри
PCA шукає новий набір осей, які називаються головними компонентами, так щоб проєктовані дані мали максимальну дисперсію. Перша головна компонента, що позначається як w1, обирається для максимізації дисперсії проєктованих даних:
Var(Xw1)За умови, що ∥w1∥=1. Розв'язком цієї задачі максимізації є власний вектор матриці коваріації, що відповідає найбільшому власному значенню.
Задача оптимізації має вигляд:
wmax wTΣwsubject to∥w∥=1Розв'язком є будь-який вектор w, що задовольняє Σw=λw, де λ — відповідне власне значення. Іншими словами, w є власним вектором матриці коваріації Σ, що відповідає власному значенню λ.
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)
Цей головний компонент — це напрямок, уздовж якого дані мають найбільшу дисперсію. Проєкція даних на цей напрямок забезпечує найбільш інформативне одновимірне представлення початкового набору даних.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Виведення PCA за допомогою лінійної алгебри
Свайпніть щоб показати меню
PCA шукає новий набір осей, які називаються головними компонентами, так щоб проєктовані дані мали максимальну дисперсію. Перша головна компонента, що позначається як w1, обирається для максимізації дисперсії проєктованих даних:
Var(Xw1)За умови, що ∥w1∥=1. Розв'язком цієї задачі максимізації є власний вектор матриці коваріації, що відповідає найбільшому власному значенню.
Задача оптимізації має вигляд:
wmax wTΣwsubject to∥w∥=1Розв'язком є будь-який вектор w, що задовольняє Σw=λw, де λ — відповідне власне значення. Іншими словами, w є власним вектором матриці коваріації Σ, що відповідає власному значенню λ.
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)
Цей головний компонент — це напрямок, уздовж якого дані мають найбільшу дисперсію. Проєкція даних на цей напрямок забезпечує найбільш інформативне одновимірне представлення початкового набору даних.
Дякуємо за ваш відгук!