6.97 과결정 시스템과 최소 제곱 해
과결정(overdetermined) 시스템은 방정식의 수가 미지수의 수보다 많은 연립 방정식으로서, 일반적으로 정확한 해가 존재하지 않는다. 이러한 시스템에서 잔차(residual)를 최소화하는 최적의 근사 해를 구하는 방법이 최소 제곱법(least squares method)이다. 본 절에서는 과결정 시스템의 수학적 정의, 최소 제곱 해의 유도, 그리고 로봇 공학에서의 응용을 다룬다.
1. 과결정 시스템의 정의
행렬 방정식 A\mathbf{x} = \mathbf{b}에서 A \in \mathbb{R}^{m \times n}이고 m > n인 경우를 과결정 시스템이라 한다. 이는 n개의 미지수에 대해 m개의 조건이 부과된 것으로, 모든 조건을 동시에 만족하는 정확한 해 \mathbf{x}가 일반적으로 존재하지 않는다. 즉, \mathbf{b} \notin \mathcal{R}(A)인 경우가 일반적이다.
로봇 공학에서 과결정 시스템이 발생하는 대표적 상황은 다음과 같다.
- 작업 공간 차원이 관절 수보다 큰 경우 (m > n)
- 다수의 센서 측정치로부터 소수의 매개변수를 추정하는 경우
- 기구학적 캘리브레이션에서 다수의 측정 데이터를 사용하는 경우
2. 최소 제곱 문제의 정식화
정확한 해가 존재하지 않으므로, 잔차 벡터 \mathbf{r} = A\mathbf{x} - \mathbf{b}의 유클리드 노름을 최소화하는 해를 구한다.
\mathbf{x}^* = \arg\min_{\mathbf{x} \in \mathbb{R}^n} \|A\mathbf{x} - \mathbf{b}\|^2
비용 함수를 전개하면 다음과 같다.
f(\mathbf{x}) = \|A\mathbf{x} - \mathbf{b}\|^2 = \mathbf{x}^\top A^\top A \mathbf{x} - 2\mathbf{b}^\top A \mathbf{x} + \mathbf{b}^\top \mathbf{b}
3. 정규 방정식에 의한 해
비용 함수의 경사를 영으로 놓으면 다음의 정규 방정식(normal equation)을 얻는다.
\nabla f(\mathbf{x}) = 2A^\top A \mathbf{x} - 2A^\top \mathbf{b} = \mathbf{0}
A^\top A \, \mathbf{x}^* = A^\top \mathbf{b}
A가 열 풀랭크(full column rank), 즉 \text{rank}(A) = n인 경우, A^\top A \in \mathbb{R}^{n \times n}는 양정치 행렬이므로 역행렬이 존재하며, 유일한 최소 제곱 해는 다음과 같다.
\mathbf{x}^* = (A^\top A)^{-1} A^\top \mathbf{b}
여기서 (A^\top A)^{-1} A^\top은 좌측 의사 역행렬(left pseudoinverse)이며, A^\dagger = (A^\top A)^{-1} A^\top로 표기한다.
4. 기하학적 해석
최소 제곱 해의 기하학적 의미는 다음과 같다. A\mathbf{x}는 A의 열 공간 \mathcal{R}(A)에 속하는 벡터이다. 최소 제곱 해 \mathbf{x}^*는 A의 열 공간 위의 점 A\mathbf{x}^* 중에서 \mathbf{b}에 가장 가까운 점을 제공한다. 이는 \mathbf{b}를 \mathcal{R}(A)에 직교 사영(orthogonal projection)한 것에 해당한다.
A\mathbf{x}^* = P_A \mathbf{b}
여기서 P_A = A(A^\top A)^{-1} A^\top은 \mathcal{R}(A)로의 직교 사영 행렬이다. 잔차 벡터 \mathbf{r}^* = A\mathbf{x}^* - \mathbf{b}는 \mathcal{R}(A)에 직교한다.
A^\top \mathbf{r}^* = A^\top(A\mathbf{x}^* - \mathbf{b}) = \mathbf{0}
5. QR 분해를 이용한 풀이
정규 방정식의 직접적인 풀이는 A^\top A의 조건수가 A의 조건수의 제곱이 되어 수치적으로 불안정할 수 있다. 보다 안정적인 방법은 QR 분해를 이용하는 것이다.
A = QR로 분해하면, 여기서 Q \in \mathbb{R}^{m \times n}는 직교 열을 가지는 행렬(Q^\top Q = I_n)이고 R \in \mathbb{R}^{n \times n}는 상삼각 행렬이다. 정규 방정식에 대입하면 다음을 얻는다.
R \mathbf{x}^* = Q^\top \mathbf{b}
R이 비특이이면 후진 대입법(back substitution)으로 효율적으로 풀 수 있다. 이 방법은 정규 방정식 방법보다 수치적으로 더 안정적이다.
6. SVD를 이용한 풀이
A의 특이값 분해 A = U \Sigma V^\top을 이용하면, 최소 제곱 해는 다음과 같이 표현된다.
\mathbf{x}^* = V \Sigma^{-1} U^\top \mathbf{b} = \sum_{i=1}^{n} \frac{\mathbf{u}_i^\top \mathbf{b}}{\sigma_i} \mathbf{v}_i
여기서 \sigma_i는 특이값, \mathbf{u}_i와 \mathbf{v}_i는 각각 좌특이벡터와 우특이벡터이다. SVD 기반 풀이는 랭크 부족(rank deficiency)의 경우에도 적용 가능하며, 특이값의 크기를 통해 해의 민감도를 분석할 수 있다.
7. 로봇 공학에서의 응용
7.1 기구학적 캘리브레이션
로봇의 기구학적 매개변수 오차 \Delta\boldsymbol{\phi} \in \mathbb{R}^p를 추정하기 위해 다수의 형상에서 측정된 말단 장치 위치 오차를 수집하면 과결정 시스템이 형성된다.
\delta\mathbf{x} = \Phi(\mathbf{q}) \, \Delta\boldsymbol{\phi}
여기서 \Phi \in \mathbb{R}^{m \times p} (m \gg p)는 식별 자코비안(identification Jacobian)이다. 최소 제곱 해로 매개변수 오차를 추정한다.
\Delta\hat{\boldsymbol{\phi}} = (\Phi^\top \Phi)^{-1} \Phi^\top \delta\mathbf{x}
7.2 과결정 역기구학
작업 공간 차원이 관절 수보다 큰 비여유 로봇에서 모든 작업 요구를 동시에 만족할 수 없을 때, 최소 제곱 의미에서의 최적 근사 해를 구한다.
\dot{\mathbf{q}}^* = (J^\top J)^{-1} J^\top \dot{\mathbf{x}}_d = J^\dagger \dot{\mathbf{x}}_d
7.3 다중 센서 데이터 융합
여러 센서의 측정치를 결합하여 로봇의 상태를 추정할 때, 측정 방정식이 과결정 시스템을 형성하며 최소 제곱법으로 최적 추정치를 구한다.
8. 참고 문헌
- Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations. 4th ed. Johns Hopkins University Press.
- Strang, G. (2019). Linear Algebra and Its Applications. 5th ed. Wellesley-Cambridge Press.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Hollerbach, J. M. (1989). “A Survey of Kinematic Calibration.” In The Robotics Review 1, MIT Press, 207–242.
- Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. 3rd ed. Pearson Prentice Hall.
v 0.1