특이값 분해를 통한 최소제곱법
📂행렬대수특이값 분해를 통한 최소제곱법
알고리즘
A∈Cm×n 과 벡터 b∈Cm 에 대해 rankA=n 이고 Ax=b 의 최소제곱해를 x∗ 이라고 하자.
Step 1. 특이값 분해
A=UΣV∗ 를 만족하는 직교행렬 U 과 대각행렬 Σ 과 유니터리 행렬 V 를 구한다.
Step 2.
특이값 분해에서 얻은 U 를 통해 정사영 P:=UU∗ 을 구한다.
Ax∗=Pb 이므로 UΣV∗x∗=UU∗b 이고 양변의 왼쪽에 U∗ 을 곱해 ΣV∗x∗=U∗b 를 얻는다.
Step 3.
y:=U∗b 를 계산해 ΣV∗x∗=y 를 얻는다.
Step 4.
ΣV∗x∗=y 에서 w:=V∗x∗ 라 두고 w 에 대한 방정식 Σw=y 의 해를 구한다.
Step 5.
V 는 유니터리 행렬이므로 x∗=Vw 를 계산한다.