목표
- 최적 적합 문제의 예를 익힙니다.
- 최적 적합 문제를 최소제곱 문제로 바꾸는 방법을 익힙니다.
- 계산 절차: 최소제곱해 구하기(두 가지 방법).
- 그림: 최소제곱해의 기하학적 의미.
- 용어: 최소제곱해.
이 절에서는 다음의 중요한 질문에 답합니다.
의 해가 존재하지 않는다고 가정합시다. 가장 좋은 근사해는 무엇입니까?
여기서는 가장 좋은 근사해를 최소제곱해라고 부릅니다. 최소제곱해를 구하는 두 가지 방법을 제시하고, 최적 적합 문제에 대한 몇 가지 응용을 소개하겠습니다.
먼저 해가 없는 행렬 방정식 의 “가장 좋은 근사해”가 정확히 무엇을 뜻하는지 명확히 하겠습니다.
를
행렬이라 하고,
를
의 벡터라 합시다. 행렬 방정식
의 최소제곱해는
의 다른 모든 벡터
에 대하여
를 만족하는 의 벡터
입니다.
는 벡터
와
사이의 거리였음을 상기하십시오. “최소제곱”이라는 용어는
가 벡터
의 성분들의 제곱의 합의 제곱근이라는 사실에서 유래합니다. 따라서 최소제곱해는
와
의 성분 간 차이의 제곱의 합을 최소화합니다. 다시 말해, 최소제곱해는 차
의 제곱의 합이 최소가 된다는 의미에서 방정식
를 가능한 한 가깝게 풉니다.
방정식 가 해를 갖지 않는다고 가정합시다. 이 참고 in 절 2.3에서
의 열공간은
가 해를 갖도록 하는 다른 모든 벡터
의 집합이었음을 상기하십시오. 다시 말해,
는
꼴의 모든 벡터의 집합입니다. 따라서
꼴의 벡터 중
에 가장 가까운 벡터는
를
위로 정사영한 것입니다. 이 표기법 in 절 6.3에 따라 이를
로 표기합니다.
의 최소제곱해는 해를 갖는 방정식
의 해
입니다.
가 해를 가지면
이므로, 최소제곱해는 일반적인 해와 같습니다.
이 그림에서 는 어디에 있습니까?
이
의 열이면
입니다. 따라서 의 성분은
의 생성 집합
에 대한
의 “좌표”입니다. (
의 열들이 일차독립이면 이는 진정한
-좌표입니다.)
가 해를 가지면
이므로, 최소제곱해는 일반적인 해와 같습니다.
이런 종류의 정사영 문제를 푸는 방법은 절 6.3에서 배웠습니다.
를
행렬이라 하고
를
의 벡터라 합시다.
의 최소제곱해는 다음 행렬 방정식의 해입니다.
특히, 최소제곱해를 구한다는 것은 해가 있는 연립일차방정식을 푸는 것을 의미합니다. 위의 정리를 다음과 같은 계산 절차로 옮길 수 있습니다.
를
행렬이라 하고
를
의 벡터라 합시다.
의 최소제곱해를 구하는 방법은 다음과 같습니다.
다시 말하자면, 의 최소제곱해
를 구하고 나면
는
와 같습니다.
독자는 우리가 복수형을 써서 “최소제곱해들”이라고 하거나, 부정관사를 써서 “하나의 최소제곱해”라고 신중하게 표현해 왔다는 것을 눈치챘을 것입니다. 이는 최소제곱해가 유일할 필요가 없기 때문입니다: 실제로 의 열이 일차종속이면
는 무수히 많은 해를 가집니다. 유일성에 대한 동치 조건을 제시하는 다음 정리는 이 따름정리 in 절 6.3에 대응하는 결과입니다.
를
행렬이라 하고,
를
의 벡터라 합시다. 다음은 서로 동치입니다.
이 경우 최소제곱해는 다음과 같습니다.
늘 그렇듯이, 직교 집합이 있으면 사영과 관련된 계산이 더 쉬워집니다. 실제로 가 직교하는 열
을 가지는
행렬이면, 사영 공식 in 절 6.4에 따라 다음과 같이 쓸 수 있습니다.
이 경우 직교 집합은 일차독립이므로 최소제곱해가 유일하다는 점에 유의하십시오.
를 직교하는 열
을 가지는
행렬이라 하고,
를
의 벡터라 합시다. 그러면
의 최소제곱해는 다음 벡터입니다.
직교하는 열을 갖는 행렬은 자연에서 자주 나타나므로, 이 공식은 과학 분야에서 특히 유용합니다.
이 소절에서는 최소제곱법을 데이터 모델링에 응용하는 방법을 소개합니다. 기본적인 예제부터 시작합니다.
세 개의 데이터 점
을 측정했고, 이 데이터에 대한 모델에 따르면 이 점들이 한 직선 위에 놓여야 한다고 가정합시다. 물론 이 세 점은 실제로 한 직선 위에 놓여 있지 않지만, 이는 측정 오차 때문일 수 있습니다. 이 점들이 어느 직선 위에 놓여야 하는지 어떻게 예측할 수 있겠습니까?
(수직이 아닌) 직선의 일반 방정식은 다음과 같습니다.
세 데이터 점이 이 직선 위에 놓여 있다면 다음 방정식들이 성립할 것입니다:
가장 잘 맞는 직선을 구하기 위해, 미지수 과
에 대하여 위 방정식들을 풀어 봅니다. 세 점이 실제로는 한 직선 위에 놓여 있지 않으므로 실제 해는 존재하지 않습니다. 따라서 대신 최소제곱해를 계산합니다.
이 일차방정식들을 행렬 형태로 나타내면, 다음에 대하여 를 푸는 것이 됩니다.
이 최소제곱 문제는 이 예제에서 풀었습니다: 의 유일한 최소제곱해는
이므로, 가장 잘 맞는 직선은
입니다.
직선 가 최소화하는 것은 정확히 무엇입니까? 최소제곱해
는 벡터
의 성분들의 제곱의 합을 최소화합니다. 벡터
는 (6.5.1)의 좌변이며,
다시 말해, 는 데이터 점에서 지정한
값들에서의 직선 그래프의
좌표를 성분으로 갖는 벡터이고,
는 그 데이터 점들의
좌표를 성분으로 갖는 벡터입니다. 차
는 데이터 점들로부터 그래프까지의 수직 거리입니다:
가장 잘 맞는 직선은 이 수직 거리들의 제곱의 합을 최소화합니다.
위의 예들은 모두 다음과 같은 형태입니다. 몇 개의 데이터 점 가 주어지고, 이 점들을 가장 잘 근사하는 함수
를 구하고자 합니다. 여기서 은
에 대한 고정된 함수입니다. 실제로 가장 잘 맞는 직선의 예에서는
이었고, 가장 잘 맞는 포물선의 예에서는
이었으며, 가장 잘 맞는 일차함수의 예에서는
이었습니다(이 예에서는
를 두 성분을 갖는 벡터로 봅니다). 주어진 데이터 점들에서 위 방정식을 계산하여 미지수
에 대한 연립일차방정식을 얻고—
를 계산하고 나면 이들은 단지 수가 되므로 어떤 함수인지는 상관이 없습니다—최소제곱해를 구합니다. 그 결과 얻은 가장 잘 맞는 함수는
의 그래프로부터 원래 데이터 점들까지의 수직 거리들의 제곱의 합을 최소화합니다.
함수 의 성질이 정말로 무관하다는 점을 강조하기 위해 다음 예를 살펴봅시다.
다음 예제는 앞의 예제들과 성격이 다소 다릅니다.
가우스는 가장 잘 맞는 타원을 구하기 위해 최소제곱법을 고안했습니다. 그는 1801년에 소행성 케레스가 태양 뒤를 지나갈 때 그 (타원) 궤도를 정확히 예측했습니다.