최소제곱법 - Method of Least Squares
근사적으로 구하려는 해와 실제 해의 오차의 제곱 합이 최소가 되는 해를 구하는 방법이다.
예를 들어,
⎩⎪⎪⎨⎪⎪⎧x+2y=33x+2y=5x+y=2.09⇔⎩⎪⎪⎨⎪⎪⎧x+2y=3−4y=−4−y=−0.91
이 연립 방정식은 일관적이지 않은 계로 해가 없다.
이 때 해 (x0,y0)가 존재하지만 계가 정확하지 않다고 가정해보자.
즉, 오류가 존재할 것이다.
(x0,y0)의 근사치를 찾는 방법 중 하나가 최소제곱법(Method of Least Squares)이다.
연립 방정식
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2⋯am1x1+am2x2+⋯+amnxn=bm⟺Ax=b
에서 x∈Rn의 잔차(residual)를 다음과 같이 정의한다.
r(x)=b−Ax
계에 대한 최소제곱해(least squares solution) x는 ∣∣r(x)∣∣ 또는 ∣∣r(x)∣∣2를 최소화 하는 x이다.
∣∣r(x)∣∣2=∑i=1m(ai1x1+ai2x2+⋯+ainxn−bi)2
여기서 벡터 x^가 Ax=b의 최소제곱해라면 x^는 정규 방정식 ATAx=ATb의 해이다(필요충분조건).
따라서 정규 방정식 ATAx=ATb는 항상 일관적이다.
예제 풀이
예제 1.
다음 연립 방정식의 최소제곱해를 구하여라.
⎩⎪⎪⎨⎪⎪⎧x+2y=33x+2y=5x+y=2.09
풀이.
⎩⎪⎪⎨⎪⎪⎧x+2y=33x+2y=5x+y=2.09⟺Ax=b⟺⎝⎜⎛123211⎠⎟⎞(xy)=⎝⎜⎛352.09⎠⎟⎞
ATAx=ATb임을 이용한다.
(131221)⎝⎜⎛123211⎠⎟⎞(xy)=(131221)⎝⎜⎛352.09⎠⎟⎞
(119 99)(xy)=(20.0918.09)⟺{x=1y=1.01
예제 2.
다음 데이터에 최소제곱이 맞는
ⅰ) 상수 함수를 구하여라.
ⅱ) 일차 함수를 구하여라.
ⅲ) 이차 함수를 구하여라.
x | 0 | 1 | 2 | 3
---------------------
f(x) | 1 | 0 | 1 | 2
풀이 2-1.
f(x)=c⇒⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧c=1c=0c=1c=2⇒⎝⎜⎜⎜⎛1111⎠⎟⎟⎟⎞(c)=⎝⎜⎜⎜⎛1012⎠⎟⎟⎟⎞
ATAx=ATb임을 이용한다.
(1111)⎝⎜⎜⎜⎛1111⎠⎟⎟⎟⎞(c)=(1111)⎝⎜⎜⎜⎛1012⎠⎟⎟⎟⎞⇔4c=4⇔c=1
∴f(x)=1
풀이 2-2.
f(x)=c1+c2x⇒⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧c1=1c1+c2=0c1+2c2=1c1+3c2=2⇒⎝⎜⎜⎜⎛10111213⎠⎟⎟⎟⎞(c1c2)=⎝⎜⎜⎜⎛1012⎠⎟⎟⎟⎞
(11110123)⎝⎜⎜⎜⎛10111213⎠⎟⎟⎟⎞(c1c2)=(11110123)⎝⎜⎜⎜⎛1012⎠⎟⎟⎟⎞
(46614)(c1c2)=(48)⇔{c1=0.4c2=0.4
∴f(x)=0.4+0.4x
풀이 2-3.
f(x)=c1+c2x+c3x2⇒⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧c1=1c1+c2+c3=0c1+2c2+4c3=1c1+3c2+9c3=2⇒⎝⎜⎜⎜⎛100111124139⎠⎟⎟⎟⎞⎝⎜⎛c1c2c3⎠⎟⎞=⎝⎜⎜⎜⎛1012⎠⎟⎟⎟⎞
⎝⎜⎛111101230149⎠⎟⎞⎝⎜⎜⎜⎛100111124139⎠⎟⎟⎟⎞(c1c2)=⎝⎜⎛111101230149⎠⎟⎞⎝⎜⎜⎜⎛1012⎠⎟⎟⎟⎞
⎝⎜⎛461461436143698⎠⎟⎞⎝⎜⎛c1c2c3⎠⎟⎞=⎝⎜⎛4822⎠⎟⎞⇔⎩⎪⎪⎨⎪⎪⎧c1=0.9c2=−1.1c3=0.5
∴f(x)=0.9−1.1x+0.5x2
<참고자료>
Steve J. Leon, Linear Algebra with Application, 10th edition, 2021.