logo

QR 분해를 통한 최소제곱법 📂행렬대수

QR 분해를 통한 최소제곱법

알고리즘

ACm×nA \in \mathbb{C}^{m \times n} 과 벡터 bCm\mathbf{b} \in \mathbb{C}^{m} 에 대해 rankA=n\text{rank} A = n 이고 Ax=bA \mathbf{x} = \mathbf{b} 의 최소제곱해를 x\mathbf{x}_{\ast} 이라고 하자.

Step 1. QR 분해

A=Q^R^A = \widehat{Q} \widehat{R} 을 만족하는 직교행렬 Q^\widehat{Q}상삼각행렬 R^\widehat{R} 을 구한다.


Step 2.

QR 분해에서 얻은 Q^\widehat{Q} 를 통해 정사영 P:=Q^Q^P : = \widehat{Q} \widehat{Q}^{\ast} 을 구한다. Ax=PbA \mathbf{x}_{\ast} = P \mathbf{b} 이므로 Q^R^x=Q^Q^b\widehat{Q} \widehat{R} \mathbf{x}_{\ast} = \widehat{Q} \widehat{Q}^{\ast} \mathbf{b} 이고 양변의 왼쪽에 Q^\widehat{Q}^{\ast} 을 곱해 R^x=Q^b\widehat{R} \mathbf{x}_{\ast} = \widehat{Q}^{\ast} \mathbf{b} 를 얻는다.


Step 3.

y:=Q^b\mathbf{y} := \widehat{Q}^{\ast} \mathbf{b} 를 계산해 R^x=y\widehat{R} \mathbf{x}_{\ast} = \mathbf{y} 를 얻는다.


Step 4. 후진대입법

R^\widehat{R} 는 상삼각행렬이므로 전진대입법을 통해 x\mathbf{x}_{\ast} 에 대한 방정식 R^x=y\widehat{R} \mathbf{x}_{\ast} = \mathbf{y} 의 해를 구한다.