Бакалавриат

БакалавриатАлгебраЛинейная алгебра


Сингулярное разложение


В области линейной алгебры сингулярное разложение (SVD) является фундаментальной техникой, предоставляющей мощный метод разложения матрицы на ее составные компоненты. Сингулярное разложение широко используется во многих приложениях в различных областях, таких как обработка сигналов, статистика и машинное обучение. Понимание SVD может значительно улучшить понимание того, как данные ведут себя в пространствах высокой размерности, и помогает в различных задачах уменьшения размерности и сжатия данных.

Введение в сингулярное разложение

Сингулярное разложение — это метод, который разлагает матрицу на три отдельные матрицы. Для заданной матрицы A с размерностью mxn SVD выражает ее как:

A = UΣVᵀ

Где:

  • U — это mxm ортогональная матрица.
  • Σ (сигма) — это mxn диагональная матрица.
  • V — это nxn ортогональная матрица.

Здесь U и V являются ортогональными матрицами, то есть их столбцы образуют ортонормированные векторы.

Визуальный пример

Рассмотрим простую матрицу 2x2 A:

A = [[4, 0],
     [3, -5]]

Для такой матрицы факторизация SVD даст:

U = [[1, 0],
     [0, 1]]

Σ = [[5, 0],
     [0, 3]]

Vᵀ = [[0, 1],
      [1, 0]]

Это можно понять как разложение матрицы A на повороты/отражения, представленные U и V, и масштабирования, представленные диагональной матрицей Σ.

A

Понимание компонентов

Ортогональные матрицы U и V

Ортогональные матрицы имеют особые свойства. Чтобы матрица была ортогональной, скалярное произведение каждой пары различных столбцов должно быть равно нулю, а скалярное произведение каждого столбца с собой должно быть равно единице, что означает сохранение нормы. Для матрицы U:

UᵀU = I

Аналогично для V:

vᵀv = i

Ортогональные матрицы важны для понимания, потому что они сохраняют геометрические свойства данных, такие как углы и длины.

Диагональная матрица Σ

Диагональная матрица Σ содержит сингулярные значения исходной матрицы A. Эти значения можно рассматривать как коэффициенты растяжения вдоль соответствующих направлений, определяемых столбцами U и V.

Пример: Вычисление SVD вручную

Рассмотрим матрицу:

A = [[3, 1],
     [1, 3]]

Вот пошаговое руководство по вычислению SVD.

Шаг 1: Вычислите AᵀA и AAᵀ

Сначала вычислите следующее:

AᵀA = [[10, 6],
       [6, 10]]
AAᵀ = [[10, 6],
       [6, 10]]

Шаг 2: Найдите собственные значения и собственные векторы

Собственные значения этих матриц помогут определить сингулярные значения, а собственные векторы предоставят ортогональные матрицы.

Решая {|AᵀA - λI| = 0}, получаем собственные значения λ₁ = 16, λ₂ = 4.

Σ таким образом становится:

Σ = [[4, 0],
     [0, 2]]

Шаг 3: Постройте V и U

Из собственных векторов AᵀA вычисляем V:

V = [[1/√2, -1/√2],
     [1/√2, 1/√2]]

Аналогично, из собственных векторов AAᵀ вычисляем U:

U = [[1/√2, -1/√2],
     [1/√2, 1/√2]]

Применение сингулярного разложения

Сжатие данных

SVD можно использовать для сжатия данных. Обрезая матрицы U, Σ и V до меньших размеров, можно достичь значительного сжатия данных с минимальной потерей информации.

Обработка сигналов

В обработке сигналов сингулярные значения могут помочь идентифицировать «форму» и «структуру» сигнала, отфильтровать шум и эффективно выделить важные особенности.

Пример SVD в обработке изображений

Черно-белые изображения можно представить в виде матрицы. С помощью SVD можно сжать изображение, оставив только самые значимые сингулярные значения. Эта техника уменьшает размер изображения, сохраняя его основные особенности.

Рассмотрим матрицу изображения I:

I = [[255, 240, 230],
     [200, 180, 175],
     [215, 196, 188]]

Применяем SVD:

U = [[0.68, -0.72],
     [0.68, 0.68]]

Σ = [[457, 0],
     [0, 25]]

Vᵀ = [[0.60, -0.80],
      [0.80, 0.60]]

Оставляя только наибольшее сингулярное значение и соответствующие векторы, изображение сохраняет свои основные особенности, но уменьшается размер представления данных.

Заключение

Кратко говоря, сингулярное разложение — это незаменимый инструмент в линейной алгебре, дающий нам возможность разложить матрицу на произведения более простых и более интерпретируемых компонентов. Понимание SVD не только повышает нашу математическую интуицию, но и вооружает нас мощными инструментами для практических задач в таких областях, как вычисления, данные и инженерия.


Бакалавриат → 1.1.10


U
username
0%
завершено в Бакалавриат


комментарии