Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기

선형대수

Projection matrices and least squares

1. Projection - Two extreme cases

■ 투영 행렬 P=A(ATA)1ATAx=b의 우변 벡터 bA의 열공간에서 가장 가까운(근사한) 벡터로 바꿔주는 역할을 한다.

■ 그러므로 Pb를 곱하면 벡터 b를 열공간에서 가장 가까운 벡터 p로 투영한다. p=Pb

■ 여기서 말하는 두 가지 극단적인 경우는 벡터 b가 이미 A의 열공간에 존재하는 경우와 벡터 b가 열공간에 수직인 경우이며, 두 가지 경우의 벡터 b에 투영 행렬 P를 곱했을 때 어떤 결과가 발생하는지 확인하려 한다.

■ 먼저 벡터 b가 열공간에 존재하는 경우 투영 행렬 Pb를 곱하면, 다시 b를 얻는다. 즉, Pb=b

■ 벡터 b가 열공간에 존재하는 벡터라는 것은 A의 열벡터들의 선형 결합으로 벡터 b를 만들 수 있다는 것이며, Ax=b이므로 여기서의 선형 결합은 Ax이다. 

벡터 b가 열공간에 존재하는 경우 Ax=b가 성립한다. 이때 투영 행렬 P=A(ATA)1ATb를 곱하면 Pb=A(ATA)1ATAx=Ax=b가 성립하게 된다. 이는 투영 행렬이 이미 열공간에 존재하는 벡터 b를 그대로 유지시킨 것으로 볼 수 있다.

■ 두 번째 경우는 벡터 b가 열공간에 수직인 경우이다. 열공간을 어떤 평면이라고 생각했을 때, 열공간이 벡터 b와 수직이라는 것은 벡터 b와 평면의 모든 벡터들의 내적 결과가 0이라는 것을 의미한다. 

A의 대표적인 열공간의 벡터는 열공간의 기저이며 Ax=b에서 b는 열벡터이고 A의 열은 AT에서 행으로 바뀌므로,

ATbb와 수직인 벡터들(여기서는 A의 기저)과 b의 내적들의 계산을 하는 것이므로 ATb=0이 성립한다.

P=A(ATA)1AT에 벡터 b를 곱하면 Pb=A(ATA)1ATb이며 ATb=0이므로 Pb=A(ATA)1ATb=0이 성립한다.

■ 또한, b가 열공간과 수직이라는 것은 b가 열공간이 아닌 다른 공간에 존재한다는 것을 의미한다. 바로 left null space에 벡터 b가 존대한다. 다음과 같이 열공간과 수직인 공간은 left nullspace이기 때문이다.

[출처] Gilbert Strang - Introduction  to Linear  Algebra

열공간과 left nullspace는 서로 직교하므로 열공간에 있는 모든 벡터와 left nullspace에 있는 모든 벡터들의 내적은 0이 되어야 한다. 

■ 여기서 알 수 있는 것은 p는 열공간에 있는 b와 근사한 벡터이다. 즉, p는 열공간에 존재한다.

■ 그리고 오차 벡터 ep와 직교한다. p는 열공간에 있기 때문에 p와 수직 관계를 갖는 e는 left nullspace에 존재한다.

■ 그리고 벡터 b는 위의 두 극단적인 경우처럼, 열공간에 존재하거나 left nullspace에 존재할 수 있으며, 열공간과 left nullspace의 교집합에 있을 수도 있다. 

■ 만약, 다음과 같이 벡터 p는 열공간에, 벡터 e는 left nullspace에 존재하는데 벡터 b가 열공간에 존재하지 않는 경우

벡터 b를 열공간에 투영한 벡터가 p가 되고 left nullspace에 투영한 벡터가 e가 되는 것을 알 수 있다.

p는 벡터 b를 열공간에 투영한 것이기 때문에 p=Pb가 된다. b=p+e임을 이용하면, b=Pb+ee=bPb=(IP)b가 성립한다. 즉 오차 벡터 eIP라는 투영 행렬에 벡터 b를 곱한 결과로 볼 수 있다.

- (IP)도 투영 행렬이기 때문에 (IP)T=(IP)(IP)2=(IP)를 만족한다.

p=Pbe=(IP)b임을 이용하면, b=p+e는 다음과 같이 전개되므로 b=p+e=b가 된다.

b=p+e=Pb+(IP)b=Pb+IbPb=b

 

2. Least Square Method(최소자승법 또는 최소제곱법)

투영(projection)을 사용하는 이유는 Ax=b에서 미지수보다 방정식이 많아서 해가 존재하지 않을 때, 정확한 해가 아니더라도 주어진 모든 방정식을 최대한 만족시키는 근사해(또는 최적해)를 찾기 위함이다.

■ Least Square Method는 주어진 정보(방정식)를 최대한 만족시키는 하나의 직선 방정식을 찾는 방법이다. 

- 즉, 최소자승법(최소제곱법)의 가설은 직선 방정식 y=ax+b가 된다.

■ 예를 들어 다음과 같이 가로 축이 시간에 대한 축이고 세로 축이 시간에 따른 점수를 나타내는 축이라고 했을 때, 1시간에 1점, 2시간에 2점, 3시간에 2점을 받았다고 하자.

■ 이렇게 주어진 정보 (1, 1), (2, 2), (3, 2)를 이용해 미래 시점에 발생하는, 4시간, 5시간일 때 받을 수 있는 점수를 예측하기 위해 최소자승법은 위의 데이터 포인트들을 잘 표현할 수 있는 하나의 최적의 직선을 찾는다.

■ 최소자승법의 가설은 직선의 방정식 y=ax+b이기 때문에, 위의 데이터들을 잘 표현할 수 있는 최적의 직선을 찾는 문제는 최적의 a,b를 구하는 문제가 된다.

■ 문제를 푸는 방법은 다음과 같이 최소자승법의 가설인 y=ax+b에 주어진 정보 (x,y)=(1,1),(2,2),(3,2)를 넣는다. 넣으면, 방정식을 얻을 수 있으며, 방정식을 Ax=b형태로 바꿀 수 있다.

[112131][ab]=[122]

이 에에서 미지수보다 방정식이 더 많으므로( 행렬 A가 m > n )) Ax=b를 완벽하게 만족시키는 정확한 해 x는 존재하지 않는다.

■ 그러므로 다음과 같이 근사해(또는 최적해)를 구하기 위해 Ax=b의 양변에 AT를 곱해 ATAˆx=ATb를 계산하면 된다.

현재 찾고자 하는 직선은 주어진 데이터를 잘 표현할 수 있는 최적의 직선이며, 데이터를 잘 표현하는 직선은 실제값과 예측값의 오차(error)가 최소가 되게 만드는 직선을 의미하며, 결국 각 데이터와 직선 사이의 오차에 대해 오차의 총합이 최소가 되게 만드는 직선의 파라미터 a,b를 찾아야 한다.

이상적인 경우는 모든 오차가 0이 되는 상황이다. Ax는 주어진 데이터를 직선 y=ax+b에 대입한 상태이며, 우변 b는 그 결과인 y이므로 모든 오차가 0이 되는 상황은 Axb=0이다.

■ 즉, 오차 벡터를 e라고 했을 때, Axb=e이며, 최소화 하고자 하는 것은 오차'값'이므로 Axb=e에 norm을 씌워야 한다. 그리고 오차 결과가 음수가 나오는 것을 방지하기 위해서 다음과 같이 제곱을 해야 한다.

Axb2=e2

■ 그러므로 최소자승법은 Minimize Axb2=e2를 푸는 문제가 된다. (정확히는 목적 함수를 최소화하는 파라미터를 찾기 위함)

- Axb의 결과는 오차 벡터 e이며, 오차 벡터에 대한 길이는 오차의 총 크기를 나타낸다.

■ 만약 다음과 같이 최적의 직선을 찾았을 때, 기존의 데이터와 직선의 거리가 가까우면 오차가 적은 것이며, 거리가 멀면 오차가 큰 상황이다. 

- 이 예에서는 다음과 같이 오차 e1,e2,e3를 얻었다고 하자.

■ 위의 그림은 주어진 데이터를 이용해 직선의 파라미터 a,b를 추정해서 ts평면에 그린 그림이다. 하얀색 점은 실제값, 파란색 점은 예측값이며, 빨간색 선은 실제값과 예측값이 차이. 즉, 오차를 나타낸다.

■ 오차 벡터를 e=[e1,e2,e3]T라고 했을 때, 오차의 총합은 각 오차의 자승(square)의 합으로 표현할 수 있다. overall error=e21+e22+e23

overall error=e21+e22+e23 이 값이 최소화하고자 하는 오차(손실)값이다.

2.1 Outliers in Least Square

■ 이상치(outlier)란, 데이터들의 분포에서 크게 벗어난 소수의 데이터를 의미한다. 이러한 outlier는 대부분 쓸모없는 값. 즉, noise data인 경우가 많다.

■ 최소자승법은 모든 데이터에 대한 오차를 최소화해야 하는데 만약 다음과 같이 (0, 3)의 outlier가 추가 된다면, outlier의 영향을 크게 받아 직선의 파라미터값이 바뀔 것이다.(직선의 형태가 바뀐다.)

■ 즉, outlier가 존재하면 최소자승법은 전체 데이터를 잘 반영하지 못하게 될 가능성이 커진다.

2.2 Solution of Least Square

이 문제는 앞서 얘기한 것처럼 ATAˆx=ATb를 계산하면 된다.

ATAˆx=ATb를 계산하면 [14663][ˆaˆb]=[115] [146]ˆa+[63]ˆb=[115]이므로 계산하면 ˆa=12,ˆb=23이므로 최적의 직선 방정식은 y=12x+23이 된다. 

- 좌변을 우변으로 넘겨 풀 수 도 있는데. 즉 ˆx에 대한 식으로 정리할 수 있는데, 이는 ATA의 역행렬이 존재해야 한다는 조건이 있다. 

- ATA의 역행렬이 존재하는 조건은 A의 열벡터들이 독립이어야 한다는 것이며, 앞서 rankA=rankATAN(A)=N(ATA)가 성립함을 확인하였다.
■ 다음 문제에서 순서대로 A,x,b라고 한다면, 

■ 행렬 A의 열벡터는 독립이므로 두 열벡터는 행렬 A의 열공간의 기저이다. 
그리고 b는 해가 존재하지 않는 상황이므로 열공간에 존재하지 않는다. 

■ 이렇게 정확한 해는 존재하지 않지만 최대한 유사한 해를 구하기 위해 투영을 사용한다. 정확히는 b를 열공간에 투영시킨다.

b를 열공간에 투영시켜 얻은 벡터를 p라고 한다면, b=[122]T에서 p=[p1,p2,p3]T으로 바꾼 것이며 Ax=b의 문제는 Aˆx=p를 푸는 문제가 된다.

[112131][ˆaˆb]=[p1p2p3]

여기서 얻은 p1,p2,p3이 바로 최적의 직선을 통해 계산한 '예측값'이다.

위에서 구한 ˆa=12,ˆb=23를 위에 넣으면 p1=76,p2=53.p3=136이며, p=[p1p2p3]T를 통해 e=bp임을 이용하여 오차 벡터 e를 다음과 같이 구할 수 있다. 여기서 얻은 e1,e2,e3이 각 포인트에서의 오차값이다. e=[122][7653136]=[162616] ■ 이와 같은 최소자승법은 통계학에서 회귀(= 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한 뒤 적합도를 측정)이며, 찾고자 하는 것은 최적의 직선. 즉 선형이므로, 최소자승법은 통계학의 선형 회귀(Linear Regression)과 같다. 

2.3 error vector

원래 값인 b는 오차 벡터 e와 투영 벡터 p의 합으로 표현된다. 그리고 p는 열공간에 e는 left nullspace에 있기 때문에 pe는 직교한다.

b=[122]=e+p=[162616]+[76106136]

■ 위에서 계산한 pe를 내적하면 -7/36 + 20/36 - 13/36 = 0이 된다. 

단, e와 직교하는 것은 p만 있는 것이 아니다. 열공간에는 p와 행렬 A의 열공간을 생성하는 열공간의 기저도 포함되어 있다. 즉, left nullspace에 있는 e는 열공간의 모든 벡터와 직교하므로 행렬 A의 열공간의 기저와도 직교한다.

- 행렬 A의 열공간의 기저 두 개를 a1,a2라고 했을 때, 오차 벡터 e와의 내적 eTa1eTa2를 계산하면 eTa1=0, eTa2=0이 되는 것을 확인할 수 있다.

'선형대수' 카테고리의 다른 글

Properties of determinants  (0) 2025.02.10
Orthogonal matrices and Gram-Schmidt  (0) 2025.02.10
Projections onto subspaces  (0) 2025.02.10
Orthogonal vectors and subspaces  (0) 2025.02.10
Matrix spaces; rank 1  (0) 2025.02.04