Линейная алгебра
Сингулярное разложение
Любая матрица — это поворот, растяжение по осям и ещё один поворот
Разложение, которое есть у всех
У диагонализации два ограничения: матрица должна быть квадратной, и даже тогда она может не диагонализоваться. SVD не имеет ни одного из них.
Читается справа налево как последовательность из трёх действий:
Сингулярные значения стоят на диагонали . Их число равно , а количество ненулевых — это ранг.
Включите переключатель сингулярных направлений. Пунктирные векторы — ортогональная пара на входе, сплошные — куда они попадают:
- определитель
- 1
- ранг
- 2
Откуда берутся сингулярные значения
Рассмотрим — она симметрична и неотрицательно определена при любой . Подставим разложение:
потому что . Справа стоит спектральное разложение . Значит:
- правые сингулярные векторы (столбцы ) — собственные векторы ;
- ;
- левые сингулярные векторы получаются как .
Так SVD и считают вручную для маленьких матриц. Настоящие библиотеки этого не делают: возведение в квадрирует число обусловленности и топит малые сингулярные значения в шуме округления. Знать связь полезно, вычислять через неё — нет.
Связь с собственным разложением
| собственные значения | сингулярные значения | |
|---|---|---|
| существуют | не всегда действительные | всегда, всегда неотрицательные |
| для каких матриц | только квадратные | для любых |
| базисы | один, необязательно ортогональный | два ортонормированных |
| у поворота | комплексные | все равны 1 |
Совпадают они, когда симметрична и неотрицательно определена. Если симметрична, но имеет отрицательные собственные значения, то — знак уходит в поворот.
Операторная норма и обусловленность
Насколько сильно матрица может растянуть вектор? Ответ — первое сингулярное значение:
Наименьшее растяжение — это . Их отношение называется числом обусловленности:
Это одна из важнейших величин всего плана. Смысл: во сколько раз задача способна усилить относительную ошибку. Если , то восемь значащих цифр из входных данных превращаются в ноль значащих цифр в ответе.
Для вырожденной матрицы и . Плохая обусловленность — это «почти вырожденная»: формально решение есть, практически оно не заслуживает доверия.
Число обусловленности вернётся в блоке 5 как главная величина, определяющая скорость градиентного спуска, — там она будет посчитана для гессиана. Это тот же самый .
Зачем это в машинном обучении
- низкоранговое приближение — следующий урок, и с ним сжатие и LoRA;
- PCA — это SVD центрированной матрицы данных;
- псевдообратная матрица и устойчивое решение задачи наименьших квадратов;
- диагностика: спектр весов слоя показывает, сколько направлений реально используется;
- инициализация и нормализация — попытки удержать сингулярные значения около единицы, чтобы сигнал не затухал и не взрывался.
Источники
- Deisenroth, Faisal, Ong — Mathematics for Machine Learning, гл. 4.5 — Singular value decomposition, геометрическая интерпретация
- Trefethen, Bau — Numerical Linear Algebra, лекции 4–5 — SVD, операторная норма, число обусловленности
Проверки
0 из 2Сингулярные против собственных
Отметьте все верные утверждения.
Сингулярные значения матрицы 2×2
Реализуйте
singular_values2(m)для матрицы : верните список по убыванию.Путь через . Она симметрична, обозначим её . Собственные значения симметричной матрицы считаются в закрытой форме:
Сингулярные значения — корни из них. Подкоренное выражение здесь неотрицательно всегда, но из-за округления может выйти чуть меньше нуля — обрежьте по нулю перед взятием корня.
Полезная проверка: .
Загрузка редактора…
Ctrl/⌘ + Enter