Линейная алгебра

Диагонализация: матрица в собственном зеркале

Диагонализация матрицы - это нахождение системы координат, в которой преобразование становится просто масштабированием по осям. Именно это делает возможным эффективное вычисление матричных степеней, экспонент и решение систем дифференциальных уравнений - три задачи, которые возникают в ML, физике и управлении ежедневно.

  • Нейронные ODE: решение dh/dt = Ah через e^(At) - вычисляется через диагонализацию
  • Анализ марковских цепей: долгосрочное поведение P^n - диагонализация матрицы переходов
  • Физика: нормальные моды колебаний - собственные вектора матрицы связи
  • PageRank: степенная итерация сходится к главному собственному вектору
  • Спектральная кластеризация: кластеры из собственных векторов лапласиана графа

Диагонализация: матрица в собственном зеркале

**Марков-цепь PageRank обходит весь граф Интернета миллиарды раз - и находит стационарное распределение.** Без диагонализации это потребовало бы перемножать матрицу 10⁹ × 10⁹ снова и снова. С диагонализацией - это одна формула: Aⁿ = PDⁿP⁻¹, где Dⁿ - просто n-е степени отдельных чисел. Диагонализация - это перевод матрицы на язык, где умножение почти бесплатно.

**О чём этот урок на самом деле**: не просто про разложение A = PDP⁻¹. А про то, почему выбор правильного базиса превращает сложную задачу в элементарную - и как именно это используют PCA, спектральная кластеризация и цепи Маркова.

Что главное в концепте «Диагонализация: матрица в собственном зеркале»?

Проверка усвоения материала концепта.

Геометрический смысл: три шага вместо одной матрицы

Геометрический смысл: три шага вместо одной матрицы

Любое линейное преобразование в собственном базисе - просто растяжение вдоль осей. Диагонализация A = PDP⁻¹ расшифровывается геометрически:

A = P · D · P⁻¹ ШАГ 1 - P⁻¹: перейти в собственный базис Вектор x переписывается в координатах собственных векторов. Вращение, которое выравнивает оси по собственным направлениям. ШАГ 2 - D: растяжение вдоль осей Каждая ось умножается на своё собственное значение λᵢ. D = diag(λ₁, λ₂, ..., λₙ) - диагональная матрица. Самое дешёвое из всех линейных преобразований. ШАГ 3 - P: вернуться в стандартный базис Результат переводится обратно в «обычные» координаты. ИТОГ: A·x = P · diag(λ) · P⁻¹ · x - не одна сложная матрица, а три понятных действия

**Ключевое свойство сцены**: A·v₁ лежит точно вдоль v₁, A·v₂ - вдоль v₂. Направление не меняется, только длина. Это и есть определение собственного вектора - а значит, именно в этих направлениях матрица ведёт себя как умножение на число.

Что главное в концепте «Геометрический смысл: три шага вместо одной матрицы»?

Проверка усвоения материала концепта.

Полный пример: A = PDP⁻¹ по шагам

Полный пример: A = PDP⁻¹ по шагам

A = [ 4 2 ] [ 1 3 ] 1. СОБСТВЕННЫЕ ЗНАЧЕНИЯ (из det(A - λI) = 0): det[ 4-λ 2 ] = (4-λ)(3-λ) - 2 = λ² - 7λ + 10 = 0 [ 1 3-λ ] λ₁ = 5, λ₂ = 2 2. СОБСТВЕННЫЕ ВЕКТОРЫ: λ₁=5: (A - 5I)v = 0 → [-1 2][x] = 0 → x = 2y → v₁ = [2, 1] λ₂=2: (A - 2I)v = 0 → [ 2 2][x] = 0 → x = -y → v₂ = [1,-1] 3. МАТРИЦЫ РАЗЛОЖЕНИЯ: P = [ 2 1 ] D = [ 5 0 ] P⁻¹ = 1/(-3) [ -1 -1 ] = [ 1/3 1/3 ] [ 1 -1 ] [ 0 2 ] [ -1 2 ] [ 1/3 -2/3 ] 4. ПРОВЕРКА A = PDP⁻¹: P·D = [ 10 2 ] (P·D)·P⁻¹ = [ 4 2 ] = A ✓ [ 5 -2 ] [ 1 3 ]

Что главное в концепте «Полный пример: A = PDP⁻¹ по шагам»?

Проверка усвоения материала концепта.

Степени матрицы: Aⁿ за O(n) вместо O(n³·k)

Степени матрицы: Aⁿ за O(n) вместо O(n³·k)

Главное прикладное следствие диагонализации - эффективное возведение в степень. Именно отсюда растут ноги у PageRank, цепей Маркова и многих рекуррентных формул.

A = PDP⁻¹ A² = (PDP⁻¹)(PDP⁻¹) = PD(P⁻¹P)DP⁻¹ = PD²P⁻¹ A³ = PD²P⁻¹ · PDP⁻¹ = PD³P⁻¹ ... Aⁿ = PDⁿP⁻¹ А Dⁿ - диагональная матрица, её степень элементарна: D = diag(λ₁, λ₂, ..., λₖ) Dⁿ = diag(λ₁ⁿ, λ₂ⁿ, ..., λₖⁿ) ПРИМЕР - A¹⁰⁰ для нашей матрицы: D¹⁰⁰ = diag(5¹⁰⁰, 2¹⁰⁰) A¹⁰⁰ = P · diag(5¹⁰⁰, 2¹⁰⁰) · P⁻¹ Вместо 100 матричных перемножений - 2 числа в степени.

Что главное в концепте «Степени матрицы: Aⁿ за O(n) вместо O(n³·k)»?

Проверка усвоения материала концепта.

ML-применение: PageRank и цепи Маркова

ML-применение: PageRank и цепи Маркова

PageRank Google - это стационарное распределение ~марковской цепи на графе Интернета. Стационарное распределение - предел Aⁿ·x при n → ∞. Алгоритм power iteration буквально повторяет умножение на матрицу A снова и снова - это и есть диагонализация в действии.

Матрица переходов P (стохастическая) имеет: λ₁ = 1 (всегда - стационарное состояние) |λ₂|, ..., |λₙ| < 1 (собственные значения меньше 1 по модулю) Тогда Pⁿ при n → ∞: Pⁿ = P · diag(1ⁿ, λ₂ⁿ, ...) · P⁻¹ → P · diag(1, 0, 0, ...) · P⁻¹ → стационарное распределение Скорость сходимости определяется |λ₂| - вторым наибольшим собственным значением. Чем меньше |λ₂|, тем быстрее PageRank сходится.

**Вот где диагонализация спасает**: power iteration для реального PageRank требует ~50-100 итераций на матрице 10⁹ × 10⁹. Знание спектра (λ₂ < 0.85 по дизайну Google) гарантирует сходимость. Анализ спектра = понимание, зачем вообще что-то считать.

Что главное в концепте «ML-применение: PageRank и цепи Маркова»?

Проверка усвоения материала концепта.

Спектральное разложение симметричных матриц: PCA и Gram matrix

Спектральное разложение симметричных матриц: PCA и Gram matrix

Симметричные матрицы (A = Aᵀ) обладают особым свойством: их собственные векторы всегда ортогональны, а собственные значения - вещественны. Это основа **спектрального разложения** - частного случая диагонализации, где P - ортогональная матрица (P⁻¹ = Pᵀ).

Для симметричной A = Aᵀ: A = Q · Λ · Qᵀ где: Q - ортогональная матрица (столбцы - ортонормированные собственные векторы) Λ = diag(λ₁, ..., λₙ) - вещественные собственные значения Qᵀ = Q⁻¹ (бесплатное обращение!) ПРЕИМУЩЕСТВА перед общей диагонализацией: - λᵢ вещественны всегда (можно сортировать по убыванию) - Q ортогональна: обращение = транспонирование - Геометрически: чистое растяжение/сжатие вдоль ортогональных осей ПРИМЕР - Gram matrix (XᵀX) симметрична и позитивно полуопределена: Xᵀ·X = Q · Λ · Qᵀ Все λᵢ >= 0

**Почему `np.linalg.eigh` вместо `eig`**: `eigh` знает, что матрица симметрична, использует алгоритм Якоби/Ланцоша - в 10-100 раз быстрее и численно точнее. Всегда возвращает вещественные значения. В ML-коде на симметричных матрицах всегда использовать `eigh`.

Что главное в концепте «Спектральное разложение симметричных матриц: PCA и Gram matrix»?

Проверка усвоения материала концепта.

Когда диагонализация невозможна

Когда диагонализация невозможна

Не каждая матрица диагонализуема. Условие - наличие n линейно независимых собственных векторов.

Тип матрицыДиагонализуема?Причина
Различные λДаРазные λ → независимые векторы (теорема)
Симметричная (A = Aᵀ)Да (ортогонально)Спектральная теорема
Кратный λ, геом. кратность = алг.ДаДостаточно независимых векторов
Кратный λ, геом. кратность < алг.Нет (Jordan-блок)Собственных векторов не хватает
Матрица поворота (кроме 0° и 180°)Нет (над R)Нет вещественных λ

**Jordan-блок [[1,1],[0,1]]** - канонический пример недиагонализуемой матрицы. У неё λ=1 кратности 2, но только один собственный вектор (1,0). Для неё строится Jordan-форма - ближайший аналог диагонализации. В ML-практике такие матрицы встречаются редко.

Что главное в концепте «Когда диагонализация невозможна»?

Проверка усвоения материала концепта.

Диагонализация в проде

Диагонализация в проде

Диагонализация в индустрии

Где спектральные методы работают прямо сейчас

КомпонентРольДетали
PCA (Principal Component Analysis)Спектральное разложение ковариационной матрицыsklearn.decomposition.PCA, TruncatedSVD для разреженных данных
Google PageRankСтационарный вектор матрицы переходов = собственный вектор при λ=1Power iteration + демпинг-фактор 0.85; 50-100 итераций для сходимости
Спектральная кластеризацияСобственные векторы Лапласиана графаsklearn.cluster.SpectralClustering; разрезает граф по слабым связям
Быстрое возведение матрицы в степеньAⁿ = PDⁿP⁻¹ - степень диагональных элементовМарковские цепи, рекуррентности Фибоначчи, анализ динамических систем
Stability analysis (управление)Знак Re(λ) определяет устойчивость системыRe(λ) < 0 - стабильна, Re(λ) > 0 - неустойчива; используется в reinforcement learning

Что главное в концепте «Диагонализация в проде»?

Проверка усвоения материала концепта.

Практика: диагонализация для динамики популяций

Практика: диагонализация для динамики популяций

Вопросы для собеседования

Чем спектральное разложение A = QΛQᵀ отличается от общей диагонализации A = PDP⁻¹?

- Спектральное разложение - только для симметричных матриц - Q ортогональна: Q⁻¹ = Qᵀ, что делает обращение бесплатным - Собственные значения гарантированно вещественны и неотрицательны (для позитивно-полуопределённых) - В ML симметричные матрицы повсюду: XᵀX, ковариационные матрицы, Лапласиан графа

Почему PageRank сходится и как скорость сходимости связана с собственными значениями?

- Стохастическая матрица имеет λ₁=1, остальные |λᵢ| < 1 - Pⁿ → проекция на собственное подпространство λ=1 (стационарное распределение) - Скорость сходимости = |λ₂| - чем меньше, тем быстрее - Демпинг-фактор 0.85 в PageRank гарантирует |λ₂| <= 0.85 - 50 итераций достаточно

Какая связь между диагонализацией и PCA?

- Ковариационная матрица C = XᵀX/(n-1) симметрична и позитивно-полуопределена - PCA = спектральное разложение C = QΛQᵀ - Столбцы Q - главные компоненты (направления максимальной дисперсии) - Собственные значения λᵢ - дисперсия вдоль каждой компоненты - Выбрасывая малые λᵢ, получают сжатие данных с минимальной потерей информации

Что главное в концепте «Практика: диагонализация для динамики популяций»?

Проверка усвоения материала концепта.

Что унести из урока

  • **A = PDP⁻¹**: P - матрица собственных векторов, D - диагональная с λᵢ
  • **Aⁿ = PDⁿP⁻¹**: степень матрицы = степени чисел на диагонали - отсюда PageRank и Марков
  • **Симметричная A**: всегда диагонализуема, разложение A = QΛQᵀ с ортогональной Q
  • **PCA** = спектральное разложение ковариационной матрицы; λᵢ - объяснённая дисперсия
  • **Недиагонализуема**: кратные λ с дефицитом собственных векторов (Jordan-блоки); в ML редко
  • **Практически**: `np.linalg.eigh` для симметричных, `eig` для общих - выбор влияет на скорость и точность

Связи

Диагонализация - мост между алгеброй и индустрией

  • Собственные векторы — Основа диагонализации: без них разложение невозможно
  • SVD — Обобщение диагонализации на прямоугольные матрицы - самый мощный инструмент ML
  • PCA — Прямое приложение спектрального разложения к задаче снижения размерности
  • Определитель — det(A) = λ₁·λ₂·...·λₙ - произведение собственных значений

Связанные уроки

  • stat-14-pca
  • ml-19-pca
Диагонализация: матрица в собственном зеркале

0

1

Войти