곡선 적합
보간법(Interpolation)
개념
주어진 특정 점들을 포함하는 함수를 구하는 방법.
💡 좌표평면에 있는 임의의 서로 다른 nn개의 점을 지나는 kk차 다항함수는 유일하게 존재한다. (단, kk는 k<nk<n 인 자연수)
보간법은 좀 제한적인 개념이다.
즉, 해당 nn개의 점들을 만족하는 다항함수가 없을 수도 있다.
만약 있다면, 이는 유일하다는 의미이다.
사례
네 점 (1,3),(2,−2),(3,−5),(4,0)(1,3),(2,−2),(3,−5),(4,0) 을 모두 지나는 3차 함수
f(x)=a0+a1x+a2x2+a3x3f(x)=a0+a1x+a2x2+a3x3
을 구하자. 우선 다음의 방정식을 세운다.
① (1x1x21x311x2x22x321x3x23x331x4x24x34)(a0a1a2a3)=(y1y2y3y4)⎛⎜ ⎜ ⎜ ⎜ ⎜⎝1x1x21x311x2x22x321x3x23x331x4x24x34⎞⎟ ⎟ ⎟ ⎟ ⎟⎠⎛⎜ ⎜ ⎜⎝a0a1a2a3⎞⎟ ⎟ ⎟⎠=⎛⎜ ⎜ ⎜⎝y1y2y3y4⎞⎟ ⎟ ⎟⎠
② 네 점을 대입하고 augmented matrix(첨가행렬)을 만든다.
(111131248−213927−51416640)⎛⎜ ⎜ ⎜⎝111131248−213927−51416640⎞⎟ ⎟ ⎟⎠
③ 첨가행렬을 가우스-조던 소거법을 이용해 푼다.
(111131248−213927−51416640)⇒(10004010030010−500011)⎛⎜ ⎜ ⎜⎝111131248−213927−51416640⎞⎟ ⎟ ⎟⎠⇒⎛⎜ ⎜ ⎜⎝10004010030010−500011⎞⎟ ⎟ ⎟⎠
④ a0=4,a1=3,a2=−5,a3=1a0=4,a1=3,a2=−5,a3=1 이므로 f(x)=4+3−5x2+x3f(x)=4+3−5x2+x3 이다.

앞에서도 설명했지만 보간법의 치명적인 단점은, 유연성이 부족하다.
즉, 머신러닝 용어로 overfitting의 위험이 높다.
최소제곱법(Least squares)
개념
특정 점들을 포함하는 함수를 특정 지을 수 없을 때,
실제 해와의 오차 제곱 합이 최소가 되는 근사적인 해를 구하는 방법.
(보간법처럼 딱 맞을 필요가 없으니 유연성이 좋다)
💡 방정식 Ax=BAx=B 을 변형한 방정식 ATAx=ATBATAx=ATB (정규방정식)의 모든 해는 Ax=BAx=B의 최소제곱해이다.
사례
네 점 (0,1),(1,3),(2,4),(3,4)(0,1),(1,3),(2,4),(3,4) 에 근사하는 일차함수
f(x)=a0+a1xf(x)=a0+a1x
을 구하자. 우선 다음의 방정식을 세운다.
① Ax=BAx=B
(1x11x21x31x4)(a0a1)=(y1y2y3y4)⎛⎜ ⎜ ⎜⎝1x11x21x31x4⎞⎟ ⎟ ⎟⎠(a0a1)=⎛⎜ ⎜ ⎜⎝y1y2y3y4⎞⎟ ⎟ ⎟⎠
② 네 점을 대입하고 정규방정식 ATAx=ATBATAx=ATB로부터 방정식 x=(ATA)−1ATBx=(ATA)−1ATB을 구성한다.
ATA=(46614)ATA=(46614) 이므로
(ATA)−1=(46614)−1=110(7−3−32)(ATA)−1=(46614)−1=110(7−3−32)
∴x=110(7−3−32)(11110123)(1344)∴x=110(7−3−32)(11110123)⎛⎜ ⎜ ⎜⎝1344⎞⎟ ⎟ ⎟⎠
③ x=(a0a1)=(321)x=(a0a1)=(321) 이므로 구하고자 하는 함수는 f(x)=32+xf(x)=32+x 이다.

nn차 일반화
mm개의 자료점 (x1,y1),⋯,(xm,ym)(x1,y1),⋯,(xm,ym)에 대해 nn차 다항식 y=a0+a1x+⋯+anxny=a0+a1x+⋯+anxn을 최소제곱법으로 이용하여 근사하기 위해서는 Ax=BAx=B를
A=(1x1⋯xn11x2⋯xn2⋮⋮⋱⋮1xm⋯xnm),x=(a0a1⋮an),B=(y1y2⋮ym)A=⎛⎜ ⎜ ⎜ ⎜ ⎜⎝1x1⋯xn11x2⋯xn2⋮⋮⋱⋮1xm⋯xnm⎞⎟ ⎟ ⎟ ⎟ ⎟⎠,x=⎛⎜ ⎜ ⎜ ⎜⎝a0a1⋮an⎞⎟ ⎟ ⎟ ⎟⎠,B=⎛⎜ ⎜ ⎜ ⎜⎝y1y2⋮ym⎞⎟ ⎟ ⎟ ⎟⎠
로 설정하면 된다.
사실, 위와 같은 꼴의 다항식이 아니라 만약 식이 xy,logx,sinxxy,logx,sinx 등의 항이 있다 하더라도 똑같이 적용가능하므로 굉장히 유용하다.
두 방법의 비교

이차형식의 최적화
이차형식(Quadratic form)
가환환 KK 위의 가군 VV에 대해 다음 세 조건을 만족시키는 함수 Q:V→KQ:V→K
∀k,l∈K,∀u,v,w∈V,∀k,l∈K,∀u,v,w∈V,
- Q(kv)=k2Q(v)Q(kv)=k2Q(v)
- Q(u+v+w)=Q(u+v)+Q(v+w)+Q(u+w)−Q(u)−Q(v)−Q(w)Q(u+v+w)=Q(u+v)+Q(v+w)+Q(u+w)−Q(u)−Q(v)−Q(w)
- Q(ku+lv)=k2Q(u)+l2Q(v)+klQ(u+v)−klQ(u)−klQ(v)Q(ku+lv)=k2Q(u)+l2Q(v)+klQ(u+v)−klQ(u)−klQ(v)
예1) R2 상의 일반적인 이차형식은 다음과 같다.
a1x21+a2x22+2a3x1x2⇔(x1x2)(a1a2a3a2)(x1x2)
예2) R3 상의 일반적인 이차형식은 다음과 같다.
a1x21+a2x22+a3x23+2a4x1x2+2a5x1x3+2a6x2x3⇔(x1x2x3)(a1a4a5a4a2a6a5a6a3)(x1x2x3)
제약된 극값
개념
특정 제약(constraint) 하에 결정되는 원하는 식의 최댓값 또는 최솟값.
💡 n×n 행렬 A의 eigenvalue를 큰 순서대로 λ1,⋯,λn 이라 하자. 이 때 ‖v‖=1 제약 하에 vTAv 의 최댓(솟)값은 λ1(λn)에 대응하는 단위고유벡터에서 존재한다.
사례
제약 x2+y2=1 하에서 z=5x2+5y2+4xy 의 최댓값과 최솟값을 구하자.
우선 z를 이차형식 vTAv 형태로 변환한다.
① a1x2+a2y2+2a3xy⇔(x1x2)(a1a2a3a2)(x1x2)=vTAv
즉, z=(xy)(5225)(xy)
② 행렬 A=(5225) 의 eigenvalue와 eigenvector를 구한다.
λ1=7,v1=(1,1)λ2=3,v2=(−1,1)
③ Eigenvector를 정규화한다.
λ1=7,v1=(1√2,1√2)λ2=3,v2=(−1√2,1√2)
④ 따라서 (x,y)=(1√2,1√2) 일 때 z는 최댓값 7을 갖고,
(x,y)=(−1√2,1√2) 일 때 z는 최솟값 3을 갖는다.
※ 물론 nomalize안해도 최대 최소값은 변함없다.
