왜 선형대수인가?

확률/통계 책을 잡고 반쯤 읽다보면 어느 페이지를 펴도 나와서 저를 괴롭히는 존재가 있었으니, 바로 행렬과 벡터였습니다. 처음에는 고등학교때 배운 (얼마 남지 않은) 수학 실력으로 어떻게 해 보려다가, 앞으로의 공부를 제대로 하려면 선형대수를 산수하듯이 할 수 있어야 한다고 느꼈기에, 선형대수 책을 다시 사서 공부해야 한다는 결론에 도달했습니다. '다시 배우는 확률론 - 확률 과정'편을 제대로 쓰기 위해서는 선형대수를 알아야 하는 사정도 있었습니다. 그도 그럴것이 실제 세계의 문제를 수학적으로 모델링하다보면 한두개의 숫자로는 어림도 없고, 대개는 여러 수의 집합(벡터)나 벡터의 집합(행렬)을 사용해야 하기 때문입니다. 또한 선형대수의 중심 주제가 백터와 행렬의 연산이다 보니 자연스럽게 선형대수는 현대 과학 및 공학의 기본이 되는 것입니다.

대수(Algebra)가 수를 다루듯 선형대수(Linear Algebra)는 선형 시스템의 기본 요소인 벡터와 행렬의 특성 및 그들간의 관계 및 연산을 다룹니다. 선형 시스템을 다룬다지만 실제로 대부분의 비선형 시스템이 선형으로 근사될 수 있기 때문에 선형대수의 활용범위는 훨씬 넓습니다. 모든 공학분야에 걸쳐 사용되는 매트랩(MatLab)의 기본 자료구조(Data Structure)가 행렬(벡터 역시 행렬로 표현)이 된것은 우연이 아닙니다.

이처럼 쓸모가 많은 (사실, 모르고서는 아무것도 할 수 없는) 선형대수이지만, 막상 학교에서는 이유도 모른채 수많은 정의와 정리를 암기하고 이를 바탕으로 기계적인 문제풀이 요령을 암기하는 교육(고문?)이 이루어지는 것이 대부분입니다. 왜 배워야 하는지를 모르니 동기부여가 안되고, 추상적인 설명만 들으니 감이 오지 않습니다. 원리를 알아야 방법을 이해할 수 있을텐데 이것이 안되니 무작정 외워야 합니다. 공학 교육에서 수학을 가르치는 목적은 사건과 현상을 바라보는 수학적 직관을 키워주기 위함일진데, 그자리에 공포와 회의가 들어섭니다. (저는 효과적인 교육을 위해서 Why - What - How가 결합되어야 한다고 봅니다.)

저도 학부 3학년때 선형대수를 분명 수강했지만 그 당시 왜 이것을 배워야 하는지 몰랐으며, 최근에 다시 책을 보았을때 한가지도 제대로 기억이 나지 않는 아픔을 겪었습니다. 하지만 선형대수가 정보검색 및 머신러닝 이론의 대부분의 근간이 되는 탓에 물러설 수도, 돌아갈 수도 없었기에 좋은 교재와 자료부터 수소문하여 처음부터 다시 공부했습니다. 막히는 곳도, 시행착오도 많이 겪었으나 벡터와 행렬의 세계가 조금은 눈에 들어오는 느낌이었습니다.

앞으로 몇회에 걸쳐 선형대수를 다루려 합니다. 어깨에 힘이 잔뜩 들어간 기존 자료와는 달리, 지난번 확률론과 마찬가지로 실용적 관점에서 수학적 직관 배양을 목표로 합니다. 다행인 것은 선형대수의 개념 대부분이 우리에게 친숙하다는 점입니다. 대수(Algebra)를 확장하다보니 선형대수는 마치 행렬과 벡터에 대한 산수와 같습니다. 기본적인 가감승제 연산은 행렬과 백터에 대해서도 그대로 존재하고, 수의 닫힌집합은 벡터 공간(Vector Space)의 개념에 대응되며, 절대값은 행렬값(Determinant)에, 양수는 양정치(Positive-definite Matrix)에 대응됩니다.

선형대수를 공부하면서 느낀점은 참으로 '아름다운' 학문이라는 겁니다. '공부가 힘들어서 살짝 맛이 갔구나'고 생각하시겠지만, 여러분도 예전에 공부를 하며 어떤 복잡한 현상이 단순하게 설명될 때 표현하기 힘든 희열을 맛보신 적이 있을 겁니다. 마치 매우 정교한 기계가 한치의 오차도 없이 동작하는 식으로, 선형대수에는 이처럼 '뭔가 맞아 들어가는' 느낌을 주는 무언가가 있습니다. 모든 현상의 이면에 이런 질서가 숨어있다니, 신은 진정 존재하나 봅니다. 선형대수의 세계로 오신 것을 환영합니다!

(공부하면서 쓰는 내용이다보니, 부정확한 내용이 있을 수 있습니다. 발견하시는 대로 알려주시면 감사하겠습니다.)

선형(Linear)이란?

앞에서 대수는 산수라고 밝혔는데, '선형'이라는 말이 궁금하실 겁니다. '선형'이라는 말은 다양한 의미를 지니나, 선형대수에서는 어떤 대상의 요소 각각에 대해(piecewise) 연산을 수행하여 조합하면 전체적인 결과가 나온다고 이해하시면 될 것 같습니다. 별 것 아닌듯 하지만 이처럼 전체를 부분으로 우아하게 쪼갤 수 있는 특성은 복잡도를 극명하게 낮추고 이에 따라 결과를 예측할 수 있게 합니다. 공학에서의 선형성이 어떤 시스템에서 입력에 대응하는 출력이 나온다는 의미로 사용되는 것은 이와 무관하지 많습니다. 사실 선형대수는 벡터 및 행렬에 대해 배우는 것으로 이해하셔도 되는데, 이들이 선형성을 갖기에 선형대수라는 표현을 쓰는 것 같습니다.

Vector & Matrix

벡터행렬을 모른다고 생각하는 분은 별로 없을 겁니다. 하지만 우리가 일상생활에서 항상 벡터와 행렬을 접한다는 점을 인식하는 분은 많지 않습니다. 이는 벡터의 정의가 대부분의 자료에서 '방향과 크기를 갖는 물리량'으로 되어있는 것과 무관하지 않습니다. 물론 맞는 이야기지만 여기서는 벡터를 일정한 순서를 갖는 수의 집합으로 봅시다. 그러면 우리가 하루에도 수없이 벡터를 접한다는 말에 공감하실 겁니다. 이번달 쓴 용돈의 항목별 지출 상황, 내가 산 주식들의 오늘 종가, 우리 가족의 오늘 기상시각 등이 모두 벡터로 표현가능한 것입니다.

벡터를 이렇게 정의하면 크기 및 방향도 생각해 볼 수 있습니다. 앞서 살펴본 용돈 벡터(과자:1000원, 책:2000원)를 보면 용돈은 얼마만큼, 어떤 방향으로 쓰는지가 나옵니다. 100명의 학생에 대해 과자와 책 지출액을 조사하여 각각을 X,Y축으로 갖는 평면에 나타내보면 요즘 학생의 용돈 사용의 경향이 나타날 것입니다. 이처럼 벡터는 우리 생활 가까이 있습니다.

벡터는 쉬운데 행렬은 어렵다고 하는 분이 많습니다. 행렬은 단지 벡터를 굴비 엮듯이 여러 개 붙인 것입니다. 붙여서 된 결과물이 사각형이기에, 이를 가로(행 - row) 및 세로(열 - column) 벡터의 배열로 볼 수 있습니다. 이처럼 행렬을 벡터의 배열로 보는 관점은 매우 중요한데, 행렬에 대한 모든 연산이 벡터 연산의 조합으로 환원될 수 있으며, 이것이 선형대수를 이해하는 열쇠가 되기 때문입니다. 반대로 벡터는 행/열 방향의 원소가 하나인 행렬의 특수한 형태로 볼 수 있기에, 실제 컴퓨터 프로그램으로는 벡터를 따로 구현하지 않는 경우도 많습니다.

Inner Product(내적) & Matrix Multiplication(행렬 곱)

'수'를 알아보았으니, 이제 연산을 알아봅시다. 덧샘 뺄샘은 행렬이나 벡터나 각 요소끼리 하면 됩니다. (여기서 선형성이 드러납니다.) 곱샘은 좀 다른데, 벡터의 경우 요소끼리 곱하여 그 결과를 더합니다. 즉, 벡터 A(a,b,c)와 B(d,e,f)의 곱은 (a,b,c)*(d,e,f)=ad+be+cf가 됩니다. 즉, 벡터끼리 곱한 결과는 '내적'이라고 불리는 수이며, 이는 기하학적으로 A, B벡터 각각의 크기에 A와 B사이의 각도K의 코사인 값의 곱 - |A||B|cos(K) - 이 됩니다. 따라서 벡터의 곱은 각 벡터의 크기 및 두 벡터 방향의 유사성에 비례합니다. (90도의 코사인 값이 0이므로, 직각을 이루는 두 벡터의 곱은 0이 됩니다.) 이 모두가 곱샘에 대한 직관적인 이해와 일치합니다.

행렬의 곱샘은 어렵게 느끼는 경우가 많습니다만 벡터의 곱으로 풀어보면 간단합니다. 오른쪽 그림과 같이 행렬 A와 B를 곱할때 A를 가로방향, B를 세로방향으로 쪼개 요소끼리 곱한다고 기억하실 텐데, 이를 다른말로 하면 A행렬의 행백터와 B행렬의 열백터의 곱(내적)이 됩니다.




첫 연재를 마치며...

공대생이면서도 수학에 대한 막연한 두려움을 떨쳐버리기는 쉽지 않았습니다. 하지만 나이들어 혼자 다시 공부를 하며, 수학이 원래 그런 것이라기보다는 그동안 우리가 수학을 그렇게 보도록 길들여지지 않았나하는 생각을 했습니다. 이제 막 학문의 길에 들어선 사람으로서 학문이 현실과 유리되는 것이 안타까웠습니다. 이 글만으로 선형대수 공부를 끝낼수는 없겠으나, 수학에 대한 거부감과 불편함을 조금이나마 덜어줄 수 있기를 기원해봅니다.

다음 번에는 벡터와 행렬의 생활 터전이라고 할 수 있는 벡터 공간에 대해 알아보도록 하겠습니다.

참고자료

(선형대수 교재와 참고자료 목록입니다.)
Introduction to Linear Algebra - TextBook Homepage
MIT Course 18.06: Linear Algebra (Spring 2007)
http://en.wikipedia.org/wiki/Linear_algebra

벡터 & 행렬

http://ko.wikipedia.org/wiki/벡터_공간