프로그래머를 위한 선형대수
오늘 소개해드릴 책은 일본 아마존에서 13년 연속 베스트셀러로 선정된 책을 번역한 프로그래머를 위한 선형대수(히라오카 카즈유키, 호리 겐 저)입니다. 게임프로그래머, 데이터분석가나 머신러닝을 공부하는 분이라면 반드시 알아야하는 과목이 선형대수학입니다. 우리는 분명 학교에서 선형대수학을 배웠고 열심히 계산을 하고 많은 문제를 풀 수 있게 되었지만 행렬이 공간에서 어떤 의미를 가지는지 고유벡터가 무엇을 의미하는지, 행렬식이 공간에서 어떤 의미를 가지는지 잘 알지 못한다면 무슨 의미가 있을까요?
많은 교재들은 완벽하고 치밀하게 이론을 담았지만 정작 얻는 경우는 적은 경우도 있습니다. 그래서 이 책은 선형대수학에서 중요한 부분, 본질적인 부분에 초점을 맞추어 설명합니다. 수학적인 엄밀한 정의보다는 직관적인 그림이나 표를 사용하여 선형대수의 의미를 더 쉽게 파악할 수 있도록 도와줍니다.
제목과 얇은 두께만 보고 이 책이 아주 얕은 내용만 다룬다고 생각할 수도 있으나, 오히려 선형대수학의 본질적인 부분에 집중하여 아주 깊게 다루고 있다고 생각합니다. 그리고 책의 제목은 프로그래머를 위한 선형대수학이지만, 프로그래밍을 다루지는 않고 프로그래머를 대상으로 하는 수학 입문서입니다. 다시말하면, 이 책은 수학을 위한 수학책이 아니라 "수학이 프로그래밍에 어떻게 도움이 되는가?"에 초점이 맞춰졌다고 볼 수 있습니다.
책에서 사용된 몇가지 아이디어를 살펴보면,
첫째. "행렬은 사상이다"
학교에서 선형대수학을 배울때는 보통 선형변환의 수학적정의로 시작하며, 몇가지 문제를 풀어보고 그 다음에 행렬을 이용하면 선형변환 계산이 간편해진다는 것을 배웁니다. 하지만 행렬이 공간을 어떻게 변환시키는지를 떠올릴 시간 조차 없이 계산만하고 넘어갑니다. 이 책에서는 "y=Ax에 대해 행렬 A는 벡터 x를 벡터 y로 보내는 사상이다"로 시작하며, 공간 전체가 어떻게 변해가는가를 애니메이션을 통해 배우게 합니다.
둘째. "행렬식은 부피변환율이다"
이것 역시 몇몇 교재에서는 다루고 있으나, 행렬식 계산만 하고 넘어가는 경우도 꽤 많은걸로 알고 있습니다. 이 책에서는 행렬 A를 선형변환의 관점에서 부피(또는 면적)이 어떻게 변해가는가를 통해 우리가 행렬식의 계산공식을 자연스럽게 받아들이게 합니다.
이외에도 몇몇 핵심적인 주제(랭크, 역행렬, 고유값과 고유벡터, 대각화, 직교성 등)에 대해 직관적이고 쉽게 설명합니다. 연구나 업무에서 신호처리, 데이터분석, 머신러닝 등을 하려고 그 분야에 서적을 읽었더니 선형대수가 나왔는데, 증명뿐인 수학 교과서나 알겠다는 기분만 드는 입문서밖에 없어서 곤란했던 분들에게는 이 책이 최고의 길잡이가 될거 같습니다.
많은 교재들은 완벽하고 치밀하게 이론을 담았지만 정작 얻는 경우는 적은 경우도 있습니다. 그래서 이 책은 선형대수학에서 중요한 부분, 본질적인 부분에 초점을 맞추어 설명합니다. 수학적인 엄밀한 정의보다는 직관적인 그림이나 표를 사용하여 선형대수의 의미를 더 쉽게 파악할 수 있도록 도와줍니다.
제목과 얇은 두께만 보고 이 책이 아주 얕은 내용만 다룬다고 생각할 수도 있으나, 오히려 선형대수학의 본질적인 부분에 집중하여 아주 깊게 다루고 있다고 생각합니다. 그리고 책의 제목은 프로그래머를 위한 선형대수학이지만, 프로그래밍을 다루지는 않고 프로그래머를 대상으로 하는 수학 입문서입니다. 다시말하면, 이 책은 수학을 위한 수학책이 아니라 "수학이 프로그래밍에 어떻게 도움이 되는가?"에 초점이 맞춰졌다고 볼 수 있습니다.
책에서 사용된 몇가지 아이디어를 살펴보면,
첫째. "행렬은 사상이다"
학교에서 선형대수학을 배울때는 보통 선형변환의 수학적정의로 시작하며, 몇가지 문제를 풀어보고 그 다음에 행렬을 이용하면 선형변환 계산이 간편해진다는 것을 배웁니다. 하지만 행렬이 공간을 어떻게 변환시키는지를 떠올릴 시간 조차 없이 계산만하고 넘어갑니다. 이 책에서는 "y=Ax에 대해 행렬 A는 벡터 x를 벡터 y로 보내는 사상이다"로 시작하며, 공간 전체가 어떻게 변해가는가를 애니메이션을 통해 배우게 합니다.
둘째. "행렬식은 부피변환율이다"
이것 역시 몇몇 교재에서는 다루고 있으나, 행렬식 계산만 하고 넘어가는 경우도 꽤 많은걸로 알고 있습니다. 이 책에서는 행렬 A를 선형변환의 관점에서 부피(또는 면적)이 어떻게 변해가는가를 통해 우리가 행렬식의 계산공식을 자연스럽게 받아들이게 합니다.
이외에도 몇몇 핵심적인 주제(랭크, 역행렬, 고유값과 고유벡터, 대각화, 직교성 등)에 대해 직관적이고 쉽게 설명합니다. 연구나 업무에서 신호처리, 데이터분석, 머신러닝 등을 하려고 그 분야에 서적을 읽었더니 선형대수가 나왔는데, 증명뿐인 수학 교과서나 알겠다는 기분만 드는 입문서밖에 없어서 곤란했던 분들에게는 이 책이 최고의 길잡이가 될거 같습니다.
댓글
댓글 쓰기