If you're seeing this message, it means we're having trouble loading external resources on our website.

웹 필터가 올바르게 작동하지 않으면 도메인 *. kastatic.org*.kasandbox.org이 차단되어 있는지 확인하세요.

주요 내용

최소제곱 근삿값

달리 풀 방법이 없는 방정식은 최소제곱 근삿값으로 해결합니다. 만든 이: 살만 칸 선생님

동영상 대본

임의의 행렬 A가 있다고 합시다 n×k의 행렬이라 하고 Ax=b의 식이 있다고 할게요 이 경우, x는 Rk의 원소여야 합니다 왜냐하면 여기 우리는 k개의 열을 갖고 있고 b는 Rn의 원소이기 때문이죠 자 그럼 Ax=b의 식에 해가 존재하지 않는다고 해볼게요 이 말은 무엇을 의미하죠? A를 일단 확장해볼게요 이미 여러분은 답을 알고 있어요 A를 a1, a2, ... , ak 이런 식으로 확장하여 쓰고 x1, x2, ... , xk로 곱하게 되면 위의 식과 같곘죠 그냥 두 행렬을 세운 것입니다 이걸 풀면 x1a1+x2a2+...+xkak x1a1+x2a2+...+xkak 이것이 벡터 b와 같다고 할 수 있죠 이 식에 해가 존재하지 않는다는 것은 b를 나오게 만드는 a의 열벡터에 가해지는 가중이 없다는 것입니다 다른 말로 하면, a의 열벡터의 그 어떤 선형결합도 b와 같지 않을 것이라는 말이죠 b가 a의 열공간에 존재하지 않는다고 표현할 수도 있습니다 이들의 어떤 선형결합도 이것과 같을 수 없어요 이것을 시각화할 수 있는지 살펴봅시다 a의 열공간을 그려볼게요 a의 열공간은 아마도 여기 이런 모양일 것 같네요 Rn에 존재하는 평면이라고 가정하겠습니다 평면일 필요는 없지만요 너무 대략적일 수 있지만 이걸 열공간이라고 해볼게요 a의 열공간입니다 이것이 열공간이고 b가 열공간에 존재하지 않는다면 b는 이렇게 그려볼 수 있겠죠 아마도 원점이 여기 존재하고 b가 이렇게 뻗어나간다고 할 수 있어요 이것은 0의 벡터입니다 이것이 벡터 b이고 명백히 열공간, 즉 이 평면에 존재하지 않죠 자 지금까지는 이런 식으로 풀었죠 첨가행렬을 세우고 기약행사다리꼴로 만든 후 0이 1과 같다는 식을 얻는다면 해가 없다고 결론지을 수 있었습니다 하지만 더 확실하게 어떻게 할 수 있죠? 우리는 이 식의 해를 찾을 수 없다는 것을 알죠 하지만 만약 이와 비슷한 해를 찾을 수 있다면요? 임의의 x, 여기서는 x*라고 할게요 A 곱하기 x*가 이렇게 써볼게요 b와 최대한 비슷할 때 x*는 어떻게 찾죠? 다른 방식으로 보면, 비슷하다는 것은 길이를 나타내는 것이죠, 그러니까 여기 써볼게요 b-Ax*의 길이를 최소화하고 싶은 것입니다 여러분 중 몇 명은 이미 우리가 무엇을 할 지 알고 있을지 모릅니다 이 둘의 차를 구하고 길이를 구하면 어떻게 되죠? 그냥 Ax라고 부를게요 Ax는 열공간의 원소입니다 이걸 v라고 하겠습니다 Ax=v라고 쓸 수 있어요 Rk에 존재하는 임의의 벡터와 행렬 A를 곱하면 열공간의 원소를 얻을 수 있을 겁니다 그러니까 임의의 Ax는 열공간에 존재할 거에요 아마도 이 벡터 v가 Ax*와 같겠죠 우리는 이 벡터가 벡터 b와 최대한 가까우면서 계속 열공간에 존재하기를 원합니다 이 벡터와 이 벡터 사이의 거리가 최대한 가깝기를 바라기도 하죠 이 개념을 나타내는 용어들이 어디서 유래하는지 보여줄게요 아직 제대로 된 것은 없지만요 이 벡터를 v라 할게요 이것이 벡터의 길이와 같다고 두겠습니다 각각의 성분들의 차를 구하면 b1-v1, b2-v2, ... , bn-vn 이렇게 되겠죠 그리고 이 벡터의 길이를 구하면 이것과 같을 거에요 제곱근과 같겠죠 사실 길이를 제곱하는 것이 더 나을 것 같습니다 이 길이의 제곱은 단순히 b1-v1의 제곱 더하기 b2-v2의 제곱 더하기 bn-vn의 제곱이 되겠죠 b1-v1의 제곱 더하기 b2-v2의 제곱 더하기 bn-vn의 제곱이 되겠죠 이것을 최대한 작게 만들고 싶은 것입니다 이 값을 가능한 작은 값으로 만들고 가장 작은 제곱 어림값을 얻고 싶은 거에요 이것이 제가 방금 이 개념을 설명할 때 왜 이게 가장 작은 제곱의 어림값, 혹은 Ax=b를 만족하는 가장 작은 제곱의 해라고 할 수 있는지 얘기했던 이유입니다 해가 존재하지는 않지만 A에 x*를 곱했을 때, 열공간에 존재하며 b에 최대한 가까운 이 벡터 x*를 찾을 수 있을지 모릅니다 지난 몇 개의 강의에서 이미 보았는데요 부분공간에 존재하지 않는 벡터에 가장 가까운, 그 부분공간에 존재하는 벡터는 무엇이죠? 투사이겠죠 b에 가장 가까운 벡터이며 부분공간에 존재하는 벡터는 열공간에 투사된 b일 거에요 여기서 가장 가까운 벡터이죠 이것을 최소화한 x*를 얻고 싶은 것이고 이 때의 Ax*는 A의 열공간, 혹은 부분공간에 투사된 벡터 b와 같을 것입니다 우리가 하려는 것을 잊지마세요 Ax=b의 식에 해가 존재하지 않는다고 했지만 가장 가까운 x를 찾을 수 있을지 몰라요 그 해를 가장 작은 제곱 해, 혹은 가장 작은 제곱 어림값이라고 부를게요 그리고 이 벡터는 명백히 열공간에 존재할 것입니다, 왜냐하면 임의의 벡터 x에 A를 곱하면, 이 열벡터의 선형결합이 되고 부분공간에 존재하기 때문이죠 이 벡터가 이것과 최대한 가깝기를 바랍니다 열공간에 존재하는 이것과 가장 가까운 벡터는 투사입니다 그러니까 Ax는 열공간에 투사된 b와 같아야 하죠 이렇게 같아야할 것입니다 하지만 아직도 풀기가 쉽지 않죠 A에 A의 전치와 A를 곱한 것의 역을 구하고, 여기에 A와 A의 전치를 곱했던 변환행렬을 찾기란 쉽지 않습니다 그러니까 가장 작은 제곱 해를 찾을 수 있는 더 쉬운 방법이 있는지 봅시다 정확히 해는 아니죠 해에 가장 가까운 해입니다 이것이 가장 작은 제곱 해, 혹은 어림값이라고 부르는 이유이죠 b를 여기 양쪽에서 빼봅시다 흥미로운 게 나올지 몰라요 이 식의 양쪽에서 b를 빼면 어떻게 되죠? 여기 오른쪽 위에 써볼게요 식의 좌측항에는 Ax*가 있겠죠 x와 x*는 매우 비슷하기 때문에 잊지 말고 쓰세요 그리고 여기서 b를 뺍니다 벡터 b를 빼면 열공간에 투사된 b에서 b를 뺀 것과 같겠네요 제가 한 전부는 이 식의 양쪽에서 b를 뺀 것 밖에 없습니다 그러면 b의 투사에서 벡터 b를 뺀 것은 뭐가 되죠? 여기 그려보면 이 벡터가 될 겁니다 주황색으로 할게요 여기 이것처럼 생겼을 거에요 이 벡터가 되겠죠? b의 투사에서 b를 빼면 이 벡터를 얻을 것입니다 이 벡터에 b를 더한 것이 부분공간에 투사된 b와 같다고 할 수 있습니다 그러니까 여기 이 벡터는 직교합니다 사실 이 벡터가 부분공간이나 열공간에 직교한다는 것은 정의에 포함됩니다 그러니까 이 벡터는 열공간에 직교하죠 그러니까 Ax*-b는 열공간과 직교하고, 열공간의 직교여공간의 원소라고도 할 수 있겠네요 직교여공간은 여기 이 부분공간, 혹은 열공간의 모든 것에 직교하는 모든 벡터의 집합을 나타냅니다 그러니까 여기의 벡터는 명백히 열공간의 직교여공간의 원소인 평면을 가르키고 있는 것이죠 이미 익숙할 수 있겠네요 열공간의 직교여공간이 무엇이죠? 열공간의 직교여공간은 투사의 영공간이나 A의 좌영공간과 같습니다 이전의 강의에서 다루었습니다 그러니까 A 곱하기 Ax=b를 만족하는 가장 작은 제곱 어림값은 b가 될 거에요 이미 썼죠 x*가 Ax=b를 만족하는 가장 작은 제곱의 해입니다 그러니까 A에 -b를 곱한 것은 A의 전치의 영공간의 원소일 겁니다 이건 무슨 말이죠? A의 전치에 이 벡터를 곱하면 그러니까 Ax*를 곱하면 x에 벡터 기호를 없애고 싶지 않네요 이건 벡터에요 벡터라는 걸 잊으면 안되죠 Ax*-b 그러니까 A의 전치에 이 벡터를 곱하면 이것과 동일하겠죠? 그럼 뭐가 되죠? A의 전치의 영공간의 원소이니까 이것과 A의 전치를 곱하면 0이 될겁니다 A의 전치에 임의의 것을 곱한 것이 0인 식에 대한 해가 될 거에요 자 이제 이걸 좀 정리할 수 있는지 봅시다 A의 전치에 Ax*를 곱한 것에서 A의 전치에 b를 곱한 걸 빼면 0이고, 이 항을 식의 양쪽에 더하게 되면 A의 전치 곱하기, A 곱하기, Ax=b를 만족하는 가장 작은 제곱 해는 A의 전치에 b를 곱한 것과 같다는 식이 되겠죠 이렇게요 자 그럼 이 과정을 거친 이유가 무엇이죠? 처음에 어디서 시작했는지 기억해보세요 Ax=b를 만족하는 해를 찾고 싶었지만 해가 존재하지 않았죠 그래서 b를 최소화하는, 그러니까 b와 Ax*의 거리를 최소화하는 x*를 찾아보자고 했습니다 이것을 가장 작은 제곱 해라고 부르기로 했죠 왜냐하면 그 길이를 구했을 때 혹은 그 길이를 최소화할 때 이 차의 제곱을 최소화하는 것과 마찬가지니까요 그래서 가장 작은 제곱 해라고 부르는 것입니다 이 해를 구하기 위해서는, 이것이 부분공간에 존재하며 b에 가장 가까운 벡터여야 한다는 것을 알죠 그리고 부분공간에 존재하며 b에 가장 가까운 벡터는 부분공간, 혹은 A의 열공간에 투사된 b라는 것을 알죠 그러니까 A가, 색을 바꿀게요 A에 가장 작은 제곱 해를 곱한 것은 A의 열공간에 투사된 b와 같을 것입니다 이를 만족하는, Rk에 존재하는 x를 찾을 수 있다면, 그것이 바로 가장 작은 제곱 어림값이 되겠죠 하지만 b의 투사는 구하기 힘들다는 것을 이미 확인했습니다 많은 과정을 거쳐야 하죠 더 쉬운 방법이 있을 겁니다 이것이 더 쉬운 방법인데요 이걸 구하려고 할 때, 다른 방법으로 이 식이 해를 구할 수 있겠죠 그러니까, Ax=b를 만족하는 해는 없어요 그렇기 때문에 이 식의 양쪽을 A의 전치로 곱해줍니다 A의 전치를 양쪽에 곱해주면 A의 전치 곱하기 Ax는 A의 전치 이건 같은 파란색으로 쓸게요 A의 전치 곱하기 b와 같게 되겠죠 이걸 양쪽에 곱한 것 뿐입니다 이 식에 대한 해는 이 식을 만족하는 해와 같지는 않습니다 이 식에는 항상 해가 존재할 것이고 그것이 가장 작은 제곱의 해가 될 거에요 이것이 가장 작은 제곱의 해입니다 이것은 임의의 행렬이고 이건 임의의 벡터라는 것을 잊지마세요 임의의 벡터입니다 여기의 해를 찾을 수 있다면 Ax=b를 만족하는 해에 최대한 가까운 해를 찾을 수 있겠죠 에러를 최소화했습니다 Ax*와 b의 차가 최소화될 거에요 이것이 가장 작은 제곱의 해가 될 겁니다 이번 강의에서는 약간 추상적인 개념으로 다가올 수 있지만, 이것이 아주 유용한 개념이라는 것을 다음 강의에서 알게될 거에요