¿Alguien podría recomendar un método para el siguiente problema de mínimos cuadrados:
encuentre que minimiza: , donde R es unitario (rotación) matriz.
Podría obtener una solución aproximada minimizando (arbitraria ), tomando matriz y:
- cálculo SVD: , soltando y aproximándose a
- calculando la descomposición polar: , bajando solo la escala simétrica (y positiva definida en mi caso) y aproximando
También podría usar la descomposición QR, pero no sería isométrica (dependería de la elección del sistema de coordenadas).
¿Alguien sabe de una manera de hacer esto, al menos aproximadamente, pero con una mejor aproximación que los dos métodos anteriores?
linear-algebra
least-squares
svd
Sergiy Migdalskiy
fuente
fuente
Respuestas:
El problema se llama problema de Wahba , un algoritmo para él se llama algoritmo Kabsch , y el más popular más tarde se llama método Davenport q . Aparentemente se usa y estudia en aeronáutica para determinar una orientación artesanal. Hay muchas reseñas sobre los métodos.
Tenga en cuenta que el mejor ajuste puede incluir la reflexión.
El método Kabsch calcula una matriz SVD de matriz de covarianza 3x3 y elimina el término (módulo uno de reflexión, que generalmente se explica al negar la última columna de en la SVD). Es muy sencillo generalizar a otro número de dimensiones.Σ U
El método Davenport q a menudo se promociona como el primer algoritmo práctico, tal vez alguien pueda comentar por qué. También construye una matriz de covarianza de 3x3, pero luego parametriza la matriz de rotación como una función de un cuaternión, y el problema se convierte en el cálculo del vector propio de valor máximo de una matriz simétrica de 4x4.
(Algunas de) las implementaciones numéricas más populares se llaman QUEST y FOMA . Estos métodos suelen ser una variación sobre el tema de calcular el valor propio máximo escribiendo y optimizando el polinomio característico (un cuarto) y resolviéndolo analíticamente (cálculos bastante complicados, pasando por fórmulas de Kardano) o con la iteración de Newton.
Schuster también desarrolló y analizó algunas variantes de algoritmo iterativo.
fuente