학습목표
이번 강의에서는 Least Sqaures Problem을 푸는 방법 중 하나인 정규방정식을 배워보도록 하겠습니다. 그리고 그 해를 유도하는 두 가지 방법을 살펴보는 시간을 가지겠습니다.
핵심 키워드
- 정규방정식(Normal Equation)
학습하기
앞선 강의에서 말씀드렸듯이, b^이라는 건 b의 A공간에 대한 수선의 발이었습니다. 그리고 아래의 Normal eqaution을 만족하는 x^이, 저희가 계속 말하는 Least squared error를 최소화하는 x^이 됩니다. 정확히 동치인거죠 사실. 만약 아래의 수식에서 C=A^T*A가 Invertible하다면 굉장히 쉽죠. 그냥 역행렬을 양변에 곱해줌으로써, x^을 계산할 수 있습니다.
그리고, 이러한 정규방정식을 Least square error로 부터 아래와 같이 도출할 수도 있겠죠. 문제는 첫째줄의 수식을 미분하는 파트인데요. b^T*b는 사실상 스칼라이기 때문에, 미분을 하면 0, x^T*A의 꼴은 x에 대해 미분하면 A가 나올겁니다. A*x의 꼴도 다시 x^T*A^T로 변환하면, 미분해서 A^T가 나오게됩니다. 마지막 항은 이제 변수가 2개 있으니까, 미분을 2번 하는 셈일 뿐입니다. (xy)' = x'y + xy'을 생각하시면 되겠습니다. 그렇게 나온 식을 정래하면, A^T*A*x = A^T*b라는 결과가 나오겠죠. 따라서, 이런 A^T*A 가 Invertible하다면, 그 역행렬을 양변해 곱해줌으로써 x를 구할 수 있게 되겠습니다. 정규방정식으로 풀어냈던 결과와 정확히 일치합니다.
그럼 이런 C=A^T*T 가 역행렬을 갖지 않는다면 어떻게 해야하는가-에 대해 생각해보죠. 앞서 내용들을 생각해보면, 역행렬이 없다는 말은 솔루션이 없거나, 무수히 많다는 의미입니다. 그러나, Normal equation에서는, 항상 해가 존재해야하므로, 해는 무수히 많다-라고 정리할 수 있습니다. 그리고 첨언을 드리면, 사실 저희가 다루는 대부분의 데이터셋은 C형태로 다듬었을때, 역행렬을 갖습니다. C가 역행렬을 갖지 않는다는 말은, 필연적으로 A의 Columns들이 선형의존이라는 의미인데, 사실 실제 데이터가 그렇게 표현될 확률이 굉장히 낮죠. 그래서 사실, 역행렬을 갖지 않을 경우는 생각을 하지 않으셔도 됩니다. 이상입니다.
'머신러닝 > [인공지능을 위한 선형대수]' 카테고리의 다른 글
Orthogonal Projection 2 (0) | 2020.05.20 |
---|---|
Orthogonal Projection 1 (0) | 2020.05.19 |
Least Squares와 그 기하학적 의미 (0) | 2020.05.17 |
Least Square Problem 소개 (0) | 2020.05.16 |
전사함수와 일대일함수 (0) | 2020.05.15 |