본 자료는 국립 창원대학교 메카트로닉스 공학부 학생을 대상으로 한 공업수학 수업 자료입니다. 본 자료는 수업의 교재인 공업수학I 개정3판 (고형준 외, 도서출판 텍스트북스) 의 내용을 재구성한 것으로 수업보조 자료 이외의 목적이 없음을 알립니다.
최소자승법 Least Square ! |
위 그림을 보죠. 5개의 좌표가 찍혀있습니다. 어떤 이유에서든 위와 같은 데이터를 직선으로 간단히 표현하고 싶을 때가 있습니다. 물론 직선 하나로 표현할 수 없죠. 그러나 각 에러를 최소화 하면서 직선으로 표현해도,
즉, 간단히 직선으로 표현해도 상관없다는 판단하에 직선으로 표현하고자 할때 사용하는 대표적인 간단한 수학적 방법이 Least Square, 최소자승법입니다.
직선으로 표현하는 것은 y=ax+b의 형태를 이용하겠다는 것이고 얻은 데이터를 이용해서 위와 같은 직을 구할 수 있습니다.
이때 미지수 a, b를 미지수 행렬 X로 정의 하고, 각 데이터를 A로 표현하면 Y=AX와 같은 표현을 사용할 수 있게 됩니다.
그리고 다시 생각해보지요.
목적은 직선으로 표현하는 것이고, 그리고 그렇게 표현된 직선은 각 데이터로 부터의 에러가 가장 작게 표현되어야할 것입니다. 그래서 위와같이 에러를 정의하고 에러의 부호를 모두 양으로 설정합니다.
그리고 그 에러의 제곱의 합을 구하면 어떠한 성능지표로서 사용이 가능해 질 것입니다.
그러면 최종적으로 위와 같이 에러를 함수화 할 수 있습니다. 우리는 다시 한번 이야기하지만, 저 에러를 최소화하는 a, b를 찾고 싶은 겁니다.
이때 에러의 최소값은 이차식인 경우 그 극값에서 존재할 것이고 이를 찾는 간단한 도구가 미분이라는 사실은 이미 고등학교때 배워서 알고 있습니다^^. 그런데 우린 미지수가 a, b 두개이니까 각각에 대한 편미분이 0이 되는 값을 찾으면 됩니다. 즉,
위와 같은 결론을 얻을 수 있지요. 이때, 간단히 summation의 성질을 이용하면
이렇게 표현이 가능해 집니다. 이때, (sum) xi 들을 행렬로 생각하면
위의 표현이 가능해 집니다. 물론 X는 여전히 미지수 a, b라는 사실...
이제 위 식을 사용하면 간단히 a, b를 찾을 수 있습니다.
다시
이 그림으로 돌아와서
이 다섯개의 좌표에
위와 같이 적용하고 방금전의 결론식
에 대입하면 a, b를 찾아서
라는 직선을 완성할 수 있습니다. 이렇게 구한 직선의 성능은
이렇게 2.7이라고 수치화 시킬 수 있습니다. 물론 단연히 이 수치가 더 작은 것이 있다면 더 좋은 성능이라고 할 수 있습니다.
반응형
'Theory > Lecture' 카테고리의 다른 글
[선형변환] 푸리에 급수 Fourier Series (20) | 2009.10.20 |
---|---|
[공업수학] 벡터의 미적분 - 벡터함수 (10) | 2009.10.19 |
[C/C++] 함수 Function 下 (10) | 2009.10.18 |
[공업수학] 행렬의 대각화 (18) | 2009.10.11 |
[C/C++] 함수 Function 上 (4) | 2009.10.10 |
[공업수학] 고유값과 고유벡터, 그리고 직교행렬 (28) | 2009.09.28 |
[C/C++] 반복문 while, do-while, for (6) | 2009.09.27 |