본문 바로가기

공부를 합니다/수학 (mathematics)

선형대수(HYU)_11-12 벡터투영과 최소제곱법

3.3 Projections and Least Squares

미지수(unknown)보다 식(equation)의 수가 더 많은 경우 대부분 solution이 존재하지 않는다: Overconstrained cases

 

Example

2x=b13x=b24x=b3[234]x=[b1b2b3]

 

Solution이 존재하는 경우는 bC(A)안에 있는 경우로 매우 드물다.

b=[b1b2b3]C(A)b is multiple of a=[234]

Solution은 x=b1/2=b2/3=b3/4

 

대부분의 경우 정확한 solution은 구할 수 없지만 column space C(A)안에 존재하는 vector중 가장 적합한 vector를 찾을 수 있다 → Least Squares

 

Optimal Solution : Least Squares

평균 오차(average error) E를 최소화 시키는 vector x를 구하는 것이 system의 optimal solution과 같다.

 

평균을 구하는 가장 보편적인 방법은 각 항목의 제곱(square)을 더하는 것으로 위의 system에 적용해보면

E2=(2xb1)2=(3xb2)2+(4xb3)3

 

이는 x에 대한 이차방정식이므로 미분값이 0이 되는 지점이 최소값으로 error가 최소가 되는 지점이다.

dE2dx=2[(2xb1)2+(3xb2)3+(4xb3)4]=0
x^=2b1+3b2+4b322+32+42=aTbaTa

 

보다 일반적인 경우,

E2=axb2=(ax1b1)2++(axmbm)2

E2가 0이 되는 point x^는:
(a1x^b1)a1++(amx^bm)am=0
x^=a1b1+ambma12++am2=aTbaTa

미지수가 한 개인 system ax=b의 least-square solution은 line a에 projection한 결과와 같다.

 

Orthogonality of a and e

least square problem을 기하학적으로 해석하면 결국 ba의 거리를 최소화하는 것이고 이전 단원에서와 동일하게 bp를 잇는 error vector ea에 수직이어야 한다.

aT(bx^a)=aTaTbaTaaTa=0

 

Least Squares Problems with Several Variables


전 단원에서 line에 한정지었던 projection을 space로 확장.

→ Matrix A가 m by n matrix. column의 수가 1개가 아닌 n

그 외는 이전과 동일하다.

  • m>n으로 inconsistent
  • bC(A) 밖에 있다. A의 column vector의 combination으로 나타낼 수 없다.
  • 핵심은 오차를 최소화하는 vector x^를 찾는 것

 

오차는 E=Axbb와 column space 안의 Ax 사이의 거리이다.

 

least-square solution x^를 찾기 위해서는 b에 가장 가까운 p=Ax^를 구해야 하고 이는 b를 column space에 projection 시킨 point 이다.

 

그렇다면 error vector e=bAx^가 column space에 수직이므로 이를 이용해서 x^와 p=Ax^를 다음과 같은 방법으로 구할 수 있다.

1. column space와 수직인 모든 벡터는 left nullspace안에 있으므로 e=bAx^는 AT의 nullspace 안에 있다.
   AT(bAx^)=0orATAx^=ATb
2. error vector e가 각 column vector a에 orthogonal하다.
   aiT(bAx^)=0[a1TanT][bAx^]=[00]
   AT[bAx^]=0orATAx^=ATb
3. Calculus way
   E2=Axb2=(Axb)T(Axb)
   dE2dx=AT(Axb)+(Axb)AT=2ATAx2ATb=0
   ATAx=ATb

 

 

공통적으로 나온 식은 Ax=b 양변에 AT를 곱한 ATAx^=ATb으로 normal equations 라고 한다.

 

Ax=b가 inconsistent할 때 least-square solution은 다음을 만족한다.

  • Normal equations: ATAx^=ATb

A의 column이 모두 linearly independent하면 ATA가 invertible 하고 정확한 x^를 구할 수 있다.

  • Best estimate: x^=(ATA)1ATb

b를 column space로 projection한 p

  • Projection: p=Ax^=A(ATA)1ATb

 

Example

A=[121300],b=[456],Ax=b has no solution

우선 별도의 계산 없이,

  • A의 마지막 항이 모두 0이므로 column space는 R3에서 x-y plane이다.
  • b=(4,5,6)는 공간상에 놓인 한 점이므로
  • 이를 x-y plane에 projection하면 p=(4,5,0)이다.

Normal equation을 풀어서 확인해보면
ATA=[110230][121300]=[25513]x^=(ATA)1ATb=[13552][110230][456]=[21]p=Ax^=[121300][21]=[450]

 

A는 위의 matrix가 아니더라도 x-y plane을 구성할 수만 있으면 되기 때문에 계산이 간단한 matrix로 잡는 것이 편하다. e.g [100100]

 

Remarks

Remarks 1

b가 이미 A의 column space안에 있는 vector라면 (Ax=b) b를 projection한 결과는 여전히 b이다.

b in column space

  • p=A(ATA)1ATb=A(ATA)1ATAx=Ax=b

Remarks 2

정반대의 경우로 b가 column space의 모든 column에 수직인 vector이면 (ATb=0)b$는 zero다. vector로 projection한다.

b in left nullspace

  • p=A(ATA)1ATb=a(ATA)10=0

Remarks 3

일련의 실험을 진행해서input t에 대한 linear function의 결과로 output b가 나오는 일련의 실험을 진행했다고 가정하자.A가 square matrix이고 invertible 하면 column space는 whole space이다. 모든 vector는 자기 자신으로 project한다. pb와 같고 x^=x이다.

If A is invertible

  • p=A(ATA)1ATb=AA1(AT)1ATb=b

 

The Cross-Product Matrix ATA


ATA는 symmetric하다.

(ATA)T=ATATT=ATA

 

문제는 A가 invertible하냐는 것이다. 다행히:

ATAA와 같은 nulspace를 갖는다.

proof

  1. Ax=0 이면 ATAx=0이다.
  2. 반대 방향으로도 성립하는지 보기 위해 ATAx=0이라고 가정한 뒤 x를 내적하면

    xTATAx=0,orAx2=0,orAx=0

 

A가 independent columns를 가지면 ATAsquare, symmetric and invertible 하다.

 

Projection Matrices


위에서 b에 가장 가까운 point p를 나타내는 식이 p=A(ATA)1ATb임을 밝혔다.

이 식은 b에서 A의 column space로 수직인 line을 내리는 matrix를 나타낸다.

Projection matrixP=A(ATA)1AT

  • Matrix P는 임의의 vector bA의 column space로 project한다.
    p=pbC(A)
  • 그 외의 component는 C(A)에 orthogonal하다. 즉, A의 left nullspace 안에 있다.
    e=bPbN(AT)

 

Projection matrix P=A(ATA)1AT는 기본적으로 두 성질을 갖는다.

  • It equals its square: P2=P
  • It equals its transpose: PT=P

Proof

P2=P

임의의 b에서 시작하더라도 Pb는 우리가 project하는 subspace안에 놓이게 된다. 이를 다시 project하더라도 Pb는 이미 subspace안에 존재하기 때문에 변하는 것이 없고 P(Pb)는 여전히 Pb이다.

P2=A(ATA)1ATA(ATA)1AT=A(ATA)1AT=P

PT=P

P의 transpose를 취해서 (A^TA)^{-1}의 symmetry를 이용해 역순으로 곱해나가면 P로 돌아오게된다.

PT=(AT)T((ATA)1)TAT=A(ATA)1AT=P

 

반대로, P2=PPT=P로부터 PbbP의 column space로 projection하는 것이라는 것을 알아낼 수 있다.

bPb는 space에 orthogonal하기 때문에 space안의 임의의 vector Pc와 내적하면 그 값은 0이다.
(bPb)TPc=bT(IP)TPc=bT(PP2)c=0
그러므로 bPb가 space에 orthogonal하면 Pb는 column space로 projection한 것과 같다

 

Example
A를 invertible한 4 by 4 matirx이고 네 개의 column이 모두 independent하다고 하면 column space는 whole space인 R4이다.

Whole space인 A로 projection하는 matrix는 identity matrix이다.

P=A(ATA)1AT=AA1(AT)1AT=I

Identity matrix는 symmetric하고 I2=I이며 error bIb는 zero다.

 

Least-Squares Fitting of Data


Input t에 대한 linear function의 결과로 output b가 나오는 일련의 실험을 진행했다고 가정하자.

이 때, 실험 결과를 나타내는 straight line b=C+Dt를 찾으려한다.

만약 실험오차가 없다면 b의 두 결과값을 골라 C,D를 찾을 수 있겠지만, 그렇지 않다면 optimal line을 찾기 위해 실험결과의 "평균"을 찾아야한다.

C+Dt1=b1C+Dt2=b2C+Dtm=bm

이는 2개의 미지수와 m개의 equation이 있는 overdetermined system이기 때문에 오차가 있다면 solution이 존재하지 않는다.

[1t11t21tm][CD]=[b1b2bm],orAx=b

Best solution x^=(C^,D^)는 squared error E2를 최소화하는 x이다.

이 때 error는 straight line으로 까지의 Vertical distance bCDt이다. 즉, 이 값들을 제곱한 뒤 더해서 최소가 되는 b를 구하는 것이라고 할 수 있다.

MinimizeE2=bAx2=(b1CDt1)2++(bmCDtm)2

 

Example (12강 일차 연립방정식의 풀이 부분)

 

 

측정값 (b,t) 세 개가 각각 (1,1),(1,1),(3,2) 일때,

세 point를 모두 지나는 line을 가정해서 equation을 적으면,
Ax=bisCD=1C+D=1C+2D=3or[111112][CD]=[113]

세 포인트는 하나의 line에 놓여있지 않으므로 Ax=b는 least square을 이용해서 풀어야 한다.

ATAx^=ATbis[3226][C^D^]=[56]

C^=97,D^=47이므로 best line은 97+47t

 

이 문제를 line과 space 두 관점으로 볼 수 있다.

 

예시에서 세 point는 하나의 line위에 존재하지 않는다. 즉 Figure b에서와 같이 b(1,1,1)(1,1,2)의 combination(plane)에 존재하지 않는다.

이를 해결하기 위해서는 least squares로 line위에 있지 않은 point b를 line위에 있는 point p로 바꾼다.

 

Fitting한 line은 -1, 1, 2 지점에서 각각 57, 137, 177의 값을 갖는다. 그러므로 column space의 p=(5 \over 7,13 \over 7,17 \over 7).vectorb$를 column space로 projetion한 vector다.

p에서 b를 뺀 error e=(27,67,47)은 line의 vertical error 값과 같다. e vector는 A의 첫 columne과 두 번쨰 column에 모두 orthogonal하므로 (eC(A)) A의 left nullspace에 놓여있다.

 

straight line에 fitting 하기 위한 equation을 정리하면

 

임의의 각 point t1,,tm에 대한 측정값이 b1,,bm일 때 에러 E2를 최소화 시키는 line C^+D^t

ATA[C^D^]=ATbor[11t1tn][1t11tn][C^D^]=[mΣtiΣtiΣti2][C^D^]=[ΣbiΣtibi]

 

Weighted Least Squares


추후에 작성

 

2020.05.15 23:25 작성.