Разложение Холецкого
Материал из MachineLearning.
(Новая: == Разложение Холецкого == '''Разложение Холецкого''' — представление симметричной положительно опреде...) |
|||
| (4 промежуточные версии не показаны) | |||
| Строка 1: | Строка 1: | ||
| - | + | {{well|Статья написана с использованием LLM '''DeepSeek-V3-0324''' и проверена участником [[Участник:Nikita Elкhin|Nikita Elкhin]] 20:44, 18 июля 2026 (MSD)}} | |
'''Разложение Холецкого''' — представление симметричной положительно определённой матрицы <tex>A</tex> в виде произведения нижней треугольной матрицы <tex>L</tex> с вещественными положительными диагональными элементами на её транспонированную: | '''Разложение Холецкого''' — представление симметричной положительно определённой матрицы <tex>A</tex> в виде произведения нижней треугольной матрицы <tex>L</tex> с вещественными положительными диагональными элементами на её транспонированную: | ||
| Строка 24: | Строка 24: | ||
=== Свойства === | === Свойства === | ||
| - | '''Вычислительная сложность''': <tex>O(n^3/3)</tex> | + | '''Вычислительная сложность''': <tex>O(n^3/3)</tex> арифметических операций для плотной матрицы; для разреженных матриц с хорошей структурой может быть существенно меньше. |
'''Устойчивость''': для положительно определённых матриц разложение Холецкого обратно устойчиво без выбора главного элемента<ref>Trefethen L. N., Bau III D. Numerical Linear Algebra. — SIAM, 1997.</ref>. Однако при плохой обусловленности (<tex>\kappa(A) \gg 1</tex>) возможно появление численно отрицательных подкоренных выражений из-за ошибок округления. В таких случаях применяют диагональную регуляризацию или <tex>LDL^{\top}</tex>. | '''Устойчивость''': для положительно определённых матриц разложение Холецкого обратно устойчиво без выбора главного элемента<ref>Trefethen L. N., Bau III D. Numerical Linear Algebra. — SIAM, 1997.</ref>. Однако при плохой обусловленности (<tex>\kappa(A) \gg 1</tex>) возможно появление численно отрицательных подкоренных выражений из-за ошибок округления. В таких случаях применяют диагональную регуляризацию или <tex>LDL^{\top}</tex>. | ||
| Строка 32: | Строка 32: | ||
'''Определитель''': <tex>\det A = (\det L)^2 = \prod_{i=1}^n L_{ii}^2</tex>. Логарифм определителя, часто используемый в функциях правдоподобия, вычисляется как <tex>\log \det A = 2\sum_{i=1}^n \log L_{ii}</tex>. | '''Определитель''': <tex>\det A = (\det L)^2 = \prod_{i=1}^n L_{ii}^2</tex>. Логарифм определителя, часто используемый в функциях правдоподобия, вычисляется как <tex>\log \det A = 2\sum_{i=1}^n \log L_{ii}</tex>. | ||
| - | === | + | === Приложения в машинном обучении === |
==== Решение систем линейных уравнений ==== | ==== Решение систем линейных уравнений ==== | ||
Для решения <tex>A x = b</tex> с уже вычисленным разложением <tex>A = L L^{\top}</tex> выполняют прямую и обратную подстановки: | Для решения <tex>A x = b</tex> с уже вычисленным разложением <tex>A = L L^{\top}</tex> выполняют прямую и обратную подстановки: | ||
| Строка 46: | Строка 46: | ||
Как указано выше, <tex>\log \det A</tex> вычисляется через диагональ <tex>L</tex> без построения самого определителя, что критично для оптимизации гиперпараметров в гауссовских процессах и байесовской линейной регрессии. | Как указано выше, <tex>\log \det A</tex> вычисляется через диагональ <tex>L</tex> без построения самого определителя, что критично для оптимизации гиперпараметров в гауссовских процессах и байесовской линейной регрессии. | ||
| - | |||
==== Гауссовские процессы ==== | ==== Гауссовские процессы ==== | ||
В [[Гауссовский процесс|гауссовских процессах]] (GP) ключевым объектом является ковариационная матрица <tex>K + \sigma^2 I</tex> размера <tex>N \times N</tex>, построенная по обучающей выборке. Она симметрична и положительно определена. Разложение Холецкого <tex>K + \sigma^2 I = L L^{\top}</tex> позволяет: | В [[Гауссовский процесс|гауссовских процессах]] (GP) ключевым объектом является ковариационная матрица <tex>K + \sigma^2 I</tex> размера <tex>N \times N</tex>, построенная по обучающей выборке. Она симметрична и положительно определена. Разложение Холецкого <tex>K + \sigma^2 I = L L^{\top}</tex> позволяет: | ||
| Строка 92: | Строка 91: | ||
Для очень больших <tex>n</tex> (миллионы) кубическая сложность неприемлема. В таких ситуациях используют блочные, разреженные или свободные от матриц методы. Однако для задач с числом признаков до нескольких тысяч разложение Холецкого остаётся непревзойдённым по сочетанию простоты, устойчивости и скорости. При работе с плохо обусловленными или почти вырожденными матрицами в машинном обучении принято добавлять к диагонали небольшую константу, что одновременно стабилизирует разложение и соответствует небольшой регуляризации. | Для очень больших <tex>n</tex> (миллионы) кубическая сложность неприемлема. В таких ситуациях используют блочные, разреженные или свободные от матриц методы. Однако для задач с числом признаков до нескольких тысяч разложение Холецкого остаётся непревзойдённым по сочетанию простоты, устойчивости и скорости. При работе с плохо обусловленными или почти вырожденными матрицами в машинном обучении принято добавлять к диагонали небольшую константу, что одновременно стабилизирует разложение и соответствует небольшой регуляризации. | ||
| - | == | + | == Литература == |
<references /> | <references /> | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
Текущая версия
| | Статья написана с использованием 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) с диагональным предобуславливателем, если требуется лишь приближённое решение.
Для очень больших (миллионы) кубическая сложность неприемлема. В таких ситуациях используют блочные, разреженные или свободные от матриц методы. Однако для задач с числом признаков до нескольких тысяч разложение Холецкого остаётся непревзойдённым по сочетанию простоты, устойчивости и скорости. При работе с плохо обусловленными или почти вырожденными матрицами в машинном обучении принято добавлять к диагонали небольшую константу, что одновременно стабилизирует разложение и соответствует небольшой регуляризации.

