Разложение Холецкого
Материал из MachineLearning.
| | Статья написана с использованием LLM DeepSeek-V3-0324 и проверена участником Nikita Elкhin 20:44, 18 июля 2026 (MSD) |
Разложение Холецкого — представление симметричной положительно определённой матрицы в виде произведения нижней треугольной матрицы
с вещественными положительными диагональными элементами на её транспонированную:
Метод назван в честь французского геодезиста и математика Андре-Луи Холецкого, предложившего его для решения систем нормальных уравнений. В машинном обучении разложение Холецкого является стандартным инструментом для работы с ковариационными матрицами, матрицами Грама и гессианами.
Содержание |
Определение и существование
Пусть — симметричная положительно определённая матрица (
и
для любого ненулевого вектора
). Тогда существует единственная нижняя треугольная матрица
с положительными диагональными элементами
, такая что
Это утверждение можно доказать по индукции, рассматривая блочное представление матрицы
. Существование гарантировано положительной определённостью всех главных миноров, а единственность — фиксацией знака диагональных элементов[1][1]. Для положительно полуопределённых матриц разложение Холецкого в вещественных числах может не существовать; на практике применяют регуляризацию, добавляя малое возмущение диагонали.
Алгоритм вычисления
Наиболее распространённый способ — построчная или столбцовая схема. Приведём столбцовый вариант (outer product formulation). Для последовательно вычисляют диагональный элемент и элементы под ним:
Алгоритм требует около
операций умножения и столько же сложений, что вдвое экономнее LU-разложения симметричной матрицы[1]. Память используется для хранения примерно
элементов нижнего треугольника, причём разложение может быть выполнено «на месте», замещая исходную матрицу.
Существует вариант -разложения:
, где
— нижняя треугольная с единичной диагональю,
— диагональная матрица с положительными элементами. Он избегает извлечения квадратных корней и удобен для обновлений после изменения ранга. Холецкий получается как
.
Свойства
Вычислительная сложность: флопов для плотной матрицы; для разреженных матриц с хорошей структурой может быть существенно меньше.
Устойчивость: для положительно определённых матриц разложение Холецкого обратно устойчиво без выбора главного элемента[1]. Однако при плохой обусловленности () возможно появление численно отрицательных подкоренных выражений из-за ошибок округления. В таких случаях применяют диагональную регуляризацию или
.
Связь с другими разложениями: Холецкий можно рассматривать как частный случай LU-разложения для симметричной положительно определённой матрицы, где .
Определитель: . Логарифм определителя, часто используемый в функциях правдоподобия, вычисляется как
.
Базовые вычислительные применения
Решение систем линейных уравнений
Для решения с уже вычисленным разложением
выполняют прямую и обратную подстановки:
прямой ход,
обратный ход.
Каждый этап требует
операций. Это основной способ получения точного решения в задачах с SPD-матрицами, например, в ридж-регрессии.
Генерация многомерных нормальных векторов
Если — ковариационная матрица, то случайный вектор
можно построить по формуле
Такой подход повсеместно применяется при реализации гауссовских процессов, в байесовских нейронных сетях и методах Монте-Карло.
Вычисление определителя и логарифма определителя
Как указано выше, вычисляется через диагональ
без построения самого определителя, что критично для оптимизации гиперпараметров в гауссовских процессах и байесовской линейной регрессии.
Приложения в машинном обучении
Гауссовские процессы
В гауссовских процессах (GP) ключевым объектом является ковариационная матрица размера
, построенная по обучающей выборке. Она симметрична и положительно определена. Разложение Холецкого
позволяет:
эффективно вычислить логарифмическую маргинальную правдоподобность:
где
находится через две подстановки;
делать предсказания: среднее и дисперсию в новой точке получают, решая системы с тем же треугольным фактором[1].
Для порядка нескольких тысяч разложение Холецкого остаётся стандартным инструментом (время
). При больших
переходят к разреженным или аппроксимирующим методам, но Холецкий часто используется на индуцирующих точках.
Ридж-регрессия и байесовская линейная регрессия
В ридж-регрессии оценка параметров сводится к решению системы
Матрица системы является SPD для любого
. Разложение Холецкого позволяет устойчиво находить
даже при почти линейно зависимых признаках[1]. В байесовской линейной регрессии с нормальным априорным распределением апостериорная ковариация
также SPD, и её фактор Холецкого используется для генерации сэмплов и построения доверительных интервалов.
Метод Ньютона и оптимизация второго порядка
При обучении моделей (логистическая регрессия, SVM) часто используют метод Ньютона или его квазиньютоновские варианты. Шаг метода Ньютона требует решения системы
где
— гессиан функции потерь. Если функция выпуклая, гессиан положительно полуопределён. На практике к нему добавляют регуляризацию
, делая его положительно определённым, и применяют разложение Холецкого[1]. Это даёт быстрое и численно устойчивое направление спуска.
Метод опорных векторов и квадратичное программирование
В задаче обучения SVM с ядром решается двойственная задача квадратичного программирования:
где
. Матрица
симметрична и положительно полуопределена; с добавлением регуляризации
становится SPD. Во многих решателях (например, в методах активного набора) для обновления рабочего множества используется разложение Холецкого.
Фильтр Калмана
В фильтре Калмана ковариационная матрица состояния должна оставаться симметричной и положительно определённой. Из-за ошибок округления стандартные уравнения могут нарушать это свойство. Квадратно-корневой фильтр Калмана использует разложение Холецкого
и обновляет только треугольный фактор
, что гарантирует положительную определённость и удвоенную точность.
Предобусловливание итерационных методов
В методах сопряжённых градиентов для ускорения сходимости часто применяют неполное разложение Холецкого (incomplete Cholesky) в качестве предобуславливателя. Оно сохраняет разреженную структуру, формируя матрицу , которая эффективно используется на каждом шаге.
Генерация выборок и вариационные методы
В вариационных автоэнкодерах и байесовских нейронных сетях иногда необходимо моделировать полную ковариационную структуру латентных переменных. Разложение Холецкого параметризует матрицу и позволяет легко вычислять плотность и градиенты по
. Аналогично, в нормализующих потоках (normalizing flows) преобразования с нижнетреугольными матрицами дают удобные якобианы.
Ограничения и альтернативы
Разложение Холецкого требует, чтобы матрица была строго положительно определённой. При нарушении этого свойства (например, из-за коллинеарности признаков) стандартные алгоритмы завершаются ошибкой. В таких случаях применяют:
-разложение с выбором главного элемента (pivoting) — работает для положительно полуопределённых матриц.
Сингулярное разложение (SVD) или QR-разложение — универсальны, но медленнее.
Итерационные методы (CG) с диагональным предобуславливателем, если требуется лишь приближённое решение.
Для очень больших (миллионы) кубическая сложность неприемлема. В таких ситуациях используют блочные, разреженные или свободные от матриц методы. Однако для задач с числом признаков до нескольких тысяч разложение Холецкого остаётся непревзойдённым по сочетанию простоты, устойчивости и скорости. При работе с плохо обусловленными или почти вырожденными матрицами в машинном обучении принято добавлять к диагонали небольшую константу, что одновременно стабилизирует разложение и соответствует небольшой регуляризации.

