Математика / Линейная алгебра
Ортогональная задача Прокруста: совмещение двух матриц
Ортогональная задача Прокруста ищет преобразование Q, которое лучше всего совмещает A с B в норме Фробениуса. Решение получают через сингулярное разложение AᵀB.
Формула
Для A=diag(2,1), B=[[0,−2],[1,0]]: квадрат ошибки при I равен 10, при оптимальном Q равен 0.
Обозначения
- $A,B$
- вещественные матрицы одинакового размера m×n, одинаковые единицы координат
- $Q$
- искомая ортогональная матрица n×n
- $‖·‖_F$
- норма Фробениуса, корень суммы квадратов элементов, единицы координат
- $U,Σ,V$
- множители SVD квадратной матрицы AᵀB
Условия применения
A и B имеют одинаковое число строк и столбцов; соответствующие строки представляют согласованные объекты или точки. Оптимизация проводится по всем ортогональным Q, включая отражения. Приведённая формула даёт минимум для полного SVD AᵀB; при вырождении решение может быть неединственным.
Ограничения
Если разрешены только собственные повороты с detQ=+1, требуется дополнительная коррекция знака в SVD. Формула не ищет соответствие между переставленными точками и не добавляет перенос. Ошибки и выбросы взвешиваются квадратично, поэтому отдельная удалённая точка может сильно повлиять на ответ.
Подробное объяснение
Квадрат нормы раскрывается как ‖A‖_F²+‖B‖_F²−2tr(QᵀAᵀB), потому что ортогональность сохраняет норму A. Первые два члена не зависят от Q. Поэтому минимизация расстояния эквивалентна максимизации следа tr(QᵀAᵀB).
Если AᵀB=UΣVᵀ, выбор Q=UVᵀ совмещает сингулярные направления так, чтобы след достиг суммы сингулярных чисел. Отсюда следует минимальное квадратное расстояние ‖A‖_F²+‖B‖_F²−2Σσ_i. Порядок U и V определяется именно постановкой AQ−B.
Строки матриц здесь трактуются как векторы точек, умножаемые справа. Если в другом источнике точки стоят в столбцах и преобразование действует слева, внешне похожая формула может содержать транспонирование. Чтобы избежать ошибки, нужно раскрыть след из собственной функции потерь.
Для A=diag(2,1), B=[[0,−2],[1,0]] точное совмещение достигается Q=[[0,−1],[1,0]], поскольку AQ=B. Масштабы отдельных точек сохраняются, а угловая ориентация меняется. Сравнение с Q=I даёт квадратную ошибку 10 вместо 0.
Перед геометрическим совмещением часто вычитают центры наборов точек, если нужно учитывать перенос. Это отдельное действие, не скрытое в формуле UVᵀ. Аналогично ограничение detQ=+1 меняет допустимый класс и может увеличить минимум, когда лучшее ортогональное преобразование является отражением.
Как пользоваться формулой
- Согласуйте строки объектов A и B, единицы координат и необходимость удаления центров; определите, разрешены ли отражения.
- Сформируйте квадратную матрицу AᵀB и найдите её SVD=UΣVᵀ, сохраняя выбранный порядок множителей.
- Для задачи по всем ортогональным матрицам составьте Q=UVᵀ и проверьте QᵀQ=I; отдельно проверьте знак определителя.
- Вычислите остаток AQ−B и его норму; сравните квадрат нормы с выражением через сумму сингулярных чисел.
Историческая справка
Название задачи Прокруста используется для согласования конфигураций данных с помощью ограниченного класса преобразований. Ортогональный вариант выделяет преобразования, сохраняющие расстояния, и приводит к особенно простой связи с сингулярным разложением.
Обзор Хайэма «Matrix Nearness Problems and Applications»1989 года включает ортогональную задачу Прокруста и обсуждает её приложения и варианты ограничений. Важная историческая линия здесь — переход от геометрического согласования к матричным задачам близости. Современная постановка явно указывает норму, сторону умножения и допустимость отражения; без этих условий одно и то же название может относиться к разным оптимизационным задачам.
Историческая линия формулы
Термин Прокруста обозначает класс задач совмещения и не является именем математика, открывшего конкретную формулу. Здесь используется ортогональная постановка в норме Фробениуса; обзор Хайэма служит источником её матричного анализа и связи с SVD.
Пример
Возьмём A=[[2,0],[0,1]], B=[[0,−2],[1,0]]. Матрица Q=[[0,−1],[1,0]] ортогональна: её столбцы единичны и взаимно перпендикулярны. Умножение даёт AQ=[[0,−2],[1,0]]=B. Поэтому минимальная ошибка равна 0: отрицательной норма быть не может, а нуль уже достигнут. Проверка через след: AᵀB=[[0,−4],[1,0]] имеет сингулярные числа 4 и 1. Нормы ‖A‖_F²=5, ‖B‖_F²=5, значит минимум квадрата ошибки 5+5−2(4+1)=0. Ответ: Q — указанный ортогональный поворот, минимум 0. При Q=I разность A−B=[[2,2],[−1,1]], её квадрат нормы равен 4+4+1+1=10. Этот контроль показывает, что решение сравнивает всю матрицу, а не только отдельный угол или норму одной строки.
Частая ошибка
Не используйте BᵀA вместо AᵀB без изменения конечной формулы. Не путайте совмещение с поиском перестановки точек. Не забывайте ограничение detQ=+1, если отражения недопустимы. Не приписывайте формуле автоматическое удаление центра и масштаба: эти параметры относятся к другим вариантам задачи.
Практика
Задачи с решением
Отражение разрешено
Условие. A=I₂, B=diag(2,−3). Найдите ближайшую к B ортогональную Q и квадрат ошибки.
Решение. Q=diag(1,−1). Разность Q−B=diag(−1,2), квадрат нормы 1+4=5.
Ответ. Q=diag(1,−1), ошибка²=5.
Точное совпадение
Условие. Если B=A и AᵀA положительно определена, какой Q даёт минимум?
Решение. Q=I, тогда AQ−B=0. Положительная определённость AᵀA исключает иной ортогональный Q с тем же нулевым остатком.
Ответ. Q=I, минимум 0.
Дополнительные источники
- https://nhigham.com/wp-content/uploads/2023/10/high89n.pdf
- https://tminka.github.io/papers/matrix/minka-matrix.pdf
Связанные формулы
Математика
Полярное разложение матрицы: поворот и растяжение
Невырожденная вещественная матрица раскладывается в произведение ортогональной Q и симметричной положительно определённой H. Первый множитель сохраняет длины, второй описывает растяжение.
Математика
Сингулярное разложение матрицы
Сингулярное разложение представляет матрицу как произведение двух ортогональных матриц и диагональной матрицы сингулярных чисел. Это универсальная форма разложения, которая работает для прямоугольных матриц и показывает главные направления действия линейного отображения.
Математика
Норма Фробениуса через след и сингулярные числа
Квадрат нормы Фробениуса равен следу матрицы A^T A, сумме квадратов всех элементов и сумме квадратов сингулярных чисел. Это удобная мера общего размера матрицы.