Собственные значения (Eigenvalues)

Автор:

Числа, которые показывают, как линейное преобразование растягивает или сжимает пространство вдоль особых направлений.

Собственные значения — это числа, которые показывают, как линейное преобразование растягивает или сжимает пространство вдоль особых направлений. Эти особые направления называются собственными векторами.

Проще говоря, матрица может по-разному влиять на разные направления, и собственные значения показывают насколько сильно.

Интуитивное объяснение

Представь плоскость и ее линейные преобразования (поворот, растяжение, сжатие, отражение). Обычно векторы меняют и длину, и направление. Но есть редкие направления, которые не поворачиваются, только растягиваются или сжимаются. Это и есть собственные векторы.

А собственные значения говорят, усиливается направление или ослабевает.

Собственные значения появляются во многих задачах Data Science:

  • PCA — выделение главных направлений в данных
  • Анализ устойчивости моделей и процессов
  • Графы и сети (центральность, связность)
  • Дифференциальные уравнения
  • Оптимизация

Очень часто вопрос сводится к одному: в каких направлениях в данных больше всего «смысла»?

Простой пример

Возьмём матрицу:

import numpy as np

A = np.array([
    [2, 1],
    [1, 2]
])

Она растягивает пространство, но не одинаково во всех направлениях.

Вычисление собственных значений в Python

eigenvalues, eigenvectors = np.linalg.eig(A)

print("Eigenvalues:")
print(eigenvalues)

print("\nEigenvectors:")
print(eigenvectors)

Вывод:

Eigenvalues:
[3. 1.]

Eigenvectors:
[[ 0.707 -0.707]
 [ 0.707  0.707]]

Как это читать

  • есть два особых направления (2 собственных вектора);
  • в одном направлении пространство растягивается в 3 раза;
  • в другом — только в 1 раз;
  • остальные направления — комбинации этих двух.

Связь с PCA

В PCA:

  • строится ковариационная матрица данных;
  • ищутся её собственные значения;
  • чем больше собственное значение — тем важнее направление.

Поэтому:

  • первые компоненты объясняют больше дисперсии;
  • маленькие собственные значения часто можно отбросить.

Что стоит запомнить

  • собственные значения показывают силу влияния матрицы
  • собственные векторы — направления этого влияния&

Ограничения и осторожности

  • не у каждой матрицы есть «хорошие» собственные векторы;
  • для больших матриц вычисление может быть дорогим.