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

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

주요 내용

행렬 벡터의 곱

행렬과 벡터의 곱이 무슨 의미인지 정의하고 이해해 봅시다. 만든 이: 살만 칸 선생님

동영상 대본

지난 몇 개의 강의에서 주로 2차원 배열에 대해서 소개했습니다 우리가 다루는 것은 대부분 2차원 배열이죠 그러므로 mxn의 매트릭스가 있을 때 m은 행의 개수, n은 열의 개수가 될 것입니다 mxn의 매트릭스를 써보도록 합시다 mxn의 매트릭스 A가 있다고 해보죠 여기서 A는 볼드체 대문자입니다 가장 보편적으로 써볼게요, 첫 번째 항목은 1행 1열에 있는 소문자 a가 되겠습니다 1행 2열에 있는 것은 a12라고 쓸 수 있겠죠 이렇게 n열이 있다고 할 때 a1n까지 쓸 수 있겠네요 다음 행으로 내려가면 2행 1열이 되겠죠 이렇게 아래로 확장해보면 m행 1열이라고 표현할 수 있겠군요 다음으로 넘어가볼까요? 이 항목은 2행 2열, a22라고 쓸 수 있습니다 같은 방식으로 m행 n열이라고 쓸게요 자 그렇다면 여기에 총 몇 개의 항목이 있을까요? 이 방향으로 m개, 저 방향으로 n개의 항목이 있으므로 m 곱하기 n개의 항목이 있겠네요 이러한 형태의 매트릭스는 대수학2 수업에서 한번쯤은 접해보았을 것 같네요 아무튼 이번 강의에서는 매트릭스의 개념을 우리가 이미 아는 벡터에 대한 정보에 접목시켜보려고 합니다 메트릭스와 벡터를 상호작용시키는 연산도 몇 개 해보도록 하죠 가장 대표적인 것은 곱셈입니다 곱셈입니다 이번 강의에서는 어떠한 매트릭스 A와, 가장 보편적으로 써볼게요, 어떤 벡터 x를 서로 곱한다는 것이 무엇을 의미하는지 알아보도록 하겠습니다 이 곱셈은, 매트릭스 A에 곱하려는 벡터 x의 항목이 A의 열의 개수만큼 존재할 때만 가능합니다 그러니까 x는 다음과 같을 것입니다 [x1; x2; ... [x1; x2; ... ; xn] 정확히 말하면, 이 벡터의 길이는 m과는 달라도 상관이 없습니다 중요한 것은 벡터가 이 방향의 A항목의 개수, 즉 n개의 길이를 가지는 것입니다 이러한 제한을 만족시킬 때, 그러니까 벡터의 길이가 매트릭스의 열의 개수와 같을 때, 우리는 이들의 곱셈을 다음과 같이 정의할 수 있습니다 이렇게 정의되어야 한다는 자연의 법칙은 없지만요 이렇게 정의되어야 한다는 자연의 법칙은 없지만요 수학자들이 매트릭스와 벡터의 곱셈은 이렇게 하는 것이 좋겠다고 관습적으로 정해놓은 것입니다 그럼 A 곱하기 벡터 x를 해보겠습니다 이 알파벳은 모두 볼드체입니다 각각 매트릭스와 벡터를 나타내죠 벡터 기호가 빠져 있다면, 아마 여러분의 책에는 볼드체로 표현되어 있을 겁니다 이것은 소문자 x죠 벡터는 소문자, 매트릭스는 대문자이며 둘 다 볼드체입니다 이로써 우리가 단지 숫자만을 다루는 것이 아니라는 것을 표현하죠 우리는 이것을 다음과 같다고 정의할 것입니다 크게 써볼게요 각 행들을 여러가지 방법으로 곱셈을 보여드릴거지만 a11×x1이 되겠네요, 적어볼게요 a11×x1+a12×x2+...+ 같은 방식으로 +a1n×xn 까지 써보겠습니다 m×n 매트릭스와 n 성분의 벡터의 곱은 그러므로 새로운 벡터가 될 것입니다, 그 첫 번째 항목은 이 항목들에 여기 항목들에 각각 곱하여 더한 것과 같습니다 보이는 것과 같이, 내적과 꽤 비슷한 모양이죠? 조금 이따가 더 자세히 얘기하도록 하죠 하지만 이것이 무슨 의미인지 어떤 것과 관련이 있는지 얘기하기 전에 이 곱셈의 정의를 마저 끝내도록 하죠 방금 전에 한 것이 첫 번째 행이었습니다 이 행과 벡터를 곱하여 얻어낸 값이죠 두 번째 행으로 넘어가서, 두 번째 행은 다른 색으로 쓰겠습니다, 이것이 정의라는 것을 잊지마세요 인간이 만들어낸 것이라는 말입니다 원래 이렇게 해야한다는 법칙이 있는 것이 아니라, 이 방식이 편하고 유용하니까요 우리의 두 번째 행은, a21×x1+... 같은 방식으로 하는 것입니다 이번엔 이 행과 이 열벡터를 곱해서요 그러면 a21×x1+a22×x2+...+a2n×xn a21×x1+a22×x2+...+a2n×xn 다음과 같은 식을 얻을 수 있겠죠 방금 이 행과 이 열 전체를 곱한 것입니다 이 항과 이 항을 곱하고 이 항과 이 항을 곱한 것과 더한 것입니다 그렇게 해서 이 마지막 항과 이 마지막 항을 곱한 것을 더한 것까지요 같은 방식으로 m번째 행까지 모든 행에 대하여 반복합니다, m번째 행은 am1 첫 번째 열의 m번째 행이니까요 am1×x1+ 매번 색깔을 바꿔 쓰기가 힘드네요 am1×x1+am2×x2+...+amn×xn 이렇게 쓸 수 있겠습니다 그렇다면 이 벡터는 어떤 모양일까요? 근본적으로 이 벡터는 이 벡터를 벡터 b라고 부르기로 하죠, 벡터 b는 어떤 모양일까요? 몇 개의 항목이 있죠? 여기 각 행 개수만큼의 항목이 있죠? 우리는 각 행을, 근본적으로 이 행벡터와 여기 열벡터의 내적을 하는 것과 같습니다 잠시 후에 더 공식적인 말로 정리해줄게요 그래도 이것이 내적이라는 것은 이해하겠죠? 첫 번째 성분 곱하기 첫 번째 성분 더하기 두 번째 성분 곱하기 두 번째 성분 더하기 세 번째 성분 곱하기 세 번째 성분 이렇게 쭉 n번째 성분 곱하기 n번째 성분까지 더한 것이니까요 이 행벡터의 내적이 되는 것입니다 이 벡터를 열의 형태로 썼으므로 열벡터라고 부를 수 있죠, 이것을 행의 형태로 쓰는 것입니다 표기법에 대해서는 곧 다시 얘기할텐데요 이것은 어떤 꼴을 갖출까요? m 곱하기, 를 하고 있으므로 m개의 항목이 있습니다 [b1; b2; ..; bn] bn까지 쓸 수 있겠죠 이 둘을 모두 매트릭스라고 생각해봅시다, 매트릭스 연산에 도움이 될거에요 일단 이것은 m×n의 매트릭스이죠, 우리는 이 매트릭스에 다음을 곱합니다 이 친구는 몇 개의 행이 있죠? n개의 행이 있습니다 n개의 항목이 있고, 1개의 열이 있네요 m×n을 n×1으로 곱한다고 쓸 수 있겠네요, 이 경우 가운데 두 항은 무시할 수 있습니다 결과물에는 몇 개의 행이 있죠? m개의 행과 1개의 열이 있죠 매트릭스의 곱셈이 정의되기 위해서는 가운데의 두 항이 같아야 합니다 결과물이 m×1 매트릭스가 될 수 있도록요 방금 한 과정은 추상적인 개념이었고 실제로 숫자를 이용해 적용시켜보겠습니다 그래도 방금의 과정은 정의에 있어서 꼭 필요했습니다 이제 정의가 있으므로 실제의 매트릭스와 벡터에 적용시켜보도록 하죠 다음과 같은 매트릭스가 있다고 합시다 [-3 0 3 2; 다음 행은 노란색으로 쓸게요 [-3 0 3 2; 1 7 -1 9] 이 매트릭스를 어떤 벡터와 곱한다고 해봅시다 이 벡터는 몇 개의 항목, 혹은 행이 있어야할까요? 매트릭스와 벡터의 곱은 벡터가 매트릭스의 열의 개수만큼의 행을 가지고 있어야만 가능하다고 했었죠 4개의 열이 있네요 그러므로 이 벡터는 4개의 항목을 가질 것입니다 그렇지 않으면 곱셈을 정의할 수 없어요 4개의 항목을 채워넣어볼게요 [2; -3; 4; -1] 이라고 해보죠 그렇다면 그 곱은 어떻게 될까요? 첫 번째 항은 첫 번째 행과 벡터의 내적이 되겠죠 두 번째 항은 두 번째 행과 벡터의 내적일 것입니다 한번 써봅시다 -3×2이므로, 색깔은 따로 정해서 쓰지 않을게요, -3×2+0×-3+3×4+2×-1 -3×2+0×-3+3×4+2×-1 이렇게 되겠죠 두 번째 행은, 그러니까 이 벡터의 두 번째 항목은 1×2+7×-3+-1×4+9×-1 1×2+7×-3+-1×4+9×-1 이렇게 되겠네요 정리하면 어떻게 되죠? -6+0+12-2 -6+0+12-2 -6+0+12-2 이 행은 다음과 같이 정리될 것입니다 2-21-4-9 계산해보면 -6+12-2=4 2-21=-19 계산 실수를 조심해서 다시 해볼게요 -21-9=-30이니까 -34 -34+2=32가 되겠네요 곱셈의 결과물은 이렇게 되겠네요 한 가지 확실히 짚고 넘어가도록 합시다 우리는 지금까지 이 벡터를 열벡터로 써왔습니다 하지만 이 매트릭스의 행 각각을 행벡터로 볼 수도 있습니다 더 정확히 얘기해보도록 하죠 이 벡터를 벡터 a1이라고 해봅시다 벡터 a1을 [-3 0 3 2]로 정의하겠습니다 그리고 벡터 a2를 [1 7 -1 9]로 정의할게요 방금 한 것은 이 행들을 벡터의 기본형으로 바꿔 쓴 것 뿐입니다 열벡터로 쓴 것이죠 이 벡터들을 행벡터로 바꾸기 위해서는 벡터를 전치시키면 됩니다 행을 열로 바꾸거나 열을 행으로 바꾸면 전치된다고 표현하죠 이 벡터가 a1일때, a1의 전치는 이를 행으로 변환한 것입니다 [-3 0 3 2] 이렇게 쓸 수 있겠죠? a2의 전치는 [1 7 -1 9]가 되겠군요 이 곱은 다음과 같이 쓸 수 있을 거에요 a1의 전치가 첫 번째 행이 되겠죠 이제 이 벡터들은 행벡터입니다 두 번째 행은 a2의 전치입니다 전치의 표시인 T는 어깨글자로 쓰는 거에요 위의 벡터는 정확히 이렇게 다시 쓸 수 있습니다 이것이 첫 번째 행, 그리고 이것이 두 번째 행이 되게끔요 여기에 이 벡터를 곱합니다, 이 벡터를 벡터 x라고 부르도록 할게요 정의를 다시 쓸 수 있겠죠? 이것은 무엇과 같았었죠? 우리가 쓴 첫 번째 행은 a1∙x였습니다 내적에 대해서는 여러분이 잘 알거라고 생각해요 첫 번째 행은 a1∙x였습니다 -3×2+0×-3+3×4와 같았죠? a1와 x의 내적입니다 내적을 정의할 때 다음과 같이 열벡터를 이용하여 정의한 것이죠 다음의 두 열벡터를 내적하는 것입니다 이 행벡터와 열벡터의 곱을 아직 공식적으로 정의하지는 않았죠 그렇다면 이렇게 얘기할 수 있을 것 같군요, 이 벡터가 열벡터라면, 매트릭스를 열벡터의 전치행렬, 혹은 행벡터로 쓸 수 있습니다 그렇게 되면 이 곱은 전치행렬들의 내적, 혹은 전치행렬들의 내적으로 쓸 수 있습니다 두 번째 행은 a2∙x가 되겠죠 a2∙x는 1×2+7×-3+-1×4+9×-1 1×2+7×-3+-1×4+9×-1 와 같을 것입니다 이렇게 푸는 것도 한 가지 방법입니다 매트릭스 곱하기 벡터는 매트릭스의 행을 곱하려는 벡터와 내적시킨 것과 같다 매트릭스 곱셈의 한 가지 방법이라고 볼 수 있죠 이제 다른 방법도 소개해볼게요, 다른 예시를 들어 설명하도록 하죠 이 숫자들이 조금 지겨워지려고 하네요 다음과 같은 매트릭스 A가 있다고 합시다, 역시 볼드체로 씁니다 [3 1 0 3; 2 4 7 0; -1 2 3 4] 4개의 성분을 가진 벡터와 곱해야하겠죠 벡터 x를 [x1; x2; x3; x4]라고 합시다 이것을 행벡터로 보는 대신, A를 열벡터의 집합으로 생각해볼게요 이 부분을 v1이라고 두고 이 부분을 v2라고 해볼게요 이 부분은 v3, 이 부분은 v4로 두겠습니다 그렇다면 매트릭스 A는 여러 개의 열벡터가 모여있는 것과 같다고 볼 수 있겠죠 [v1 v2 v3 v4] 이렇게 다시 써볼게요 이 맥락에서는 매트릭스의 곱셈이 어떻게 표현될까요? 아까 우리가 어떻게 했었죠? 이 친구들을 곱할 때, 여기 모든 항목이 x1과 곱해질 것입니다 우리의 정의를 사용해서 곱셈을 해볼게요 A곱하기 x를 하면 전체를 다 하지는 않을게요 패턴만 확인하기를 바랍니다 3×x1+1×x2+0×x3+3×x4 3×x1+1×x2+0×x3+3×x4 이것이 첫 번째 항목이죠 다음 행은 2×x1+4×x2+...이런 식으로 할 수 있겠죠 마지막 행은 -1×x1+2×x2+...이런 식이겠구요 어떤 방식인지는 이해가 되죠? 방금의 과정은 어떻게 설명할 수 있을까요? 첫 번째 벡터는 항상 스칼라 x1와 곱해지게 됩니다 이 부분의 항목을 여기에서 보면, 각각을 스칼라 x1와 곱한 것과 같죠 3, 2, -1을 각각 확인할 수 있죠 이 항목을 x1의 스칼라와 곱하는 것입니다 그 다음 행은 이 항목을 스칼라 x2와 곱하고 다음 행도 여기의 항목을 스칼라 x3과 곱한 것입니다 그렇다면 A×x를 다음과 같이 쓸 수 있겠네요 x1v1+x2v2+... x1v1+x2v2+... x1v1+x2v2+... 벡터 부분은 노란색으로 쓰겠습니다 x1v1+x2v2+x3v3+x4v4 x1v1+x2v2+x3v3+x4v4 당연하게도 n개의 항이 있었다면 n개의 벡터가 있었겠죠, 그러므로 보편적으로는 마지막 항을 n으로 쓸 수 있었겠죠 여기서 흥미로운 것은 Ax가 선형 조합으로 표현될 수 있다는 점입니다 이 수들은 벡터 x에 따른 임의의 숫자입니다 벡터 x에 따라서 A의 열벡터들의 선형조합을 만들어내는 것과 같습니다 이것을 매트릭스 A의 열벡터들의 선형조합이라고 볼 수 있겠죠 이 점은 매우 흥미롭습니다 여러분은 과거에도 매트릭스의 곱셈을 접해본 적이 있을 것입니다 하지만 방금 설명한 두 가지 방식으로 이해할 수 있었으면 좋겠어요 왜냐하면 앞으로 열공간 등에 대해서 얘기할 때 중요하거든요 벡터 x의 변환으로 해석하는 등의 다른 방법도 있지만 간결함을 위해서 이번 강의에서는 얘기하지 않도록 하죠 하지만 가중치 결합이라고 해석할 수는 있겠네요, 매트릭스 X가 각각의 열에 가중을 정하는 A의 열벡터들의 선형결합이라고 해석할 수 있겠습니다 혹은 근본적으로, 행벡터들의 내적이나, 열벡터들의 전치행렬로 정의할 수 있습니다 각각의 열벡터와 매트릭스 X의 내적으로요 이들은 모두 유효한 해석입니다 이 강의가 매트릭스 곱셈을 이해하는데 도움이 되었으면 좋겠네요 다양한 해석방법을 이해하는 데에도 도움이 되었기를 바랍니다