티스토리 뷰

https://www.boostcourse.org/ai251/lecture/540328?isDesc=false 

 

인공지능을 위한 선형대수

부스트코스 무료 강의

www.boostcourse.org

Geometric Interpretation of Least Squares

 

Least Squares는 ||bb^||를 최소화 할 수 있는 x^을 구하는 방법입니다. 여기서, b는 우리가 피팅하고자 하는 Ground Truth 벡터이고 b^는 우리의 모델 Ax^로부터 예측되는 벡터입니다. b^는 죽었다 깨어나도 Col(A) 를 벗어날 수 없습니다. 위 그림을 바탕으로 b^ 를 Col A 상에서 요리 조리 움직여 봤을때,   ||bb^||bb^가 Col(A)에 수직할때 최솟값을 가진다는 것을 파악할 수 있습니다. 

 

bb^가 Col(A)에 수직하면, bb^ 와 Col(A) 의 모든 벡터의 내적은 그 값이 0이 나와야 합니다. Ax 에서 어떤 x 가 오든지간에 Ax 와 ||bb^|| 의 내적이 0 이라는 의미입니다.

 

Column의 사이즈가 n 인 행렬 A 의 Column vectors 를 a1, a2, ... , an 라고 하고, Column Vector x 의 원소를 x1, x2, ... , xn 라고 정의하겠습니다.

 

그러면, bb^와 Col(A)이 수직할때의 내적 값을 아래와 같이 표현할 수 있습니다.

 

(bb^)  Ax(bb^)  Ax=0

 

여기서 Axa1x1+a2x2++anxn 으로 전개할 수 있습니다.

 

(bb^)  (a1x1+a2x2++anxn)=0

 

 

(bb^)  a1x1=0

(bb^)  a2x2=0

...

(bb^)  anxn=0

 

위식에서 x1, x2, ... , xn 가 어떤 값이든 (bb^)  akxk=0 가 0이 돼야하므로 x1, x2, ... , xn 들은 식에서 소거해줍시다.

 

(bb^)  a1=0

(bb^)  a2=0

...

(bb^)  an=0

 

여기서, 내적 연산(inner product 혹은 dot product)을 풀어쓰면 

 

a1T(bb^)=0

a2T(bb^)=0

...

anT(bb^)=0

 

가 됩니다. 그리고! b^Ax^ 로 풀어쓰면~

 

a1T(bAx^)=0 

a2T(bAx^)=0 

 

anT(bAx^)=0

 

라는 식들을 구해낼 수 있습니다.

 

그리고 위식은 아래와 같이 행렬과 벡터간의 곱으로 나타낼 수 있습니다.

 

AT(bAx^)=0

 

여기서 0은 스칼라 0이 아닌 벡터입니다!

 

Normal Equation

AT(bAx^)=0를 전개하면 다음의 수식이 성립합니다.

ATAx^=ATb

위 수식은 Normal Equation이라고 불립니다.

 

그리고, 위 수식은 새로운 Linear System으로 해석가능합니다. Cx=d, 여기서 CATA 이고 dATb입니다.

 

만약 C=ATA가 Invertible 하다면, Solution은 다음과 같이 계산될 수 있습니다.

x^=(ATA)1ATb

x^이 Least Squares를 통해 구해지는 Solution입니다.

 

정리하면 Least Squares 방법은 Axb인 Linear System에 대하여 Solution x^를 구함에 있어, bAx^가 Col(A)에 수직이되는 Solution을 찾는 방법입니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함