선형 대수학을 생각하라: 수학적 기초를 위한 코드 우선 접근 방식

많은 개발자와 데이터 과학자들에게 선형 대수학은 종종 추상적인 표기법과 이론적 증명의 거대한 벽처럼 느껴집니다. Google을 구축한 PageRank 알고리즘부터 LLM을 구동하는 transformer 아키텍처에 이르기까지 거의 모든 현대 기술 도약의 기초가 되지만, 전통적인 교육 방식은 직접 해보면서 배우는 사람들에게는 종종 실패하곤 합니다.

Allen Downey의 Think Linear Algebra는 이러한 흐름을 바꾸고자 합니다. 수학적 형식주의에서 시작하는 대신, 이 책은 Python과 Jupyter notebooks를 사용하여 추상적인 개념을 실체적이고 실행 가능한 시뮬레이션으로 바꾸는 "code-first" 철학을 채택합니다. 각 장을 실제 문제에 집중시킴으로써, 이 책은 선형 대수학을 암기해야 할 규칙의 집합이 아닌 복잡한 문제를 해결하기 위한 언어로 변모시킵니다.

직접 해보며 배우기: 사례 기반 커리큘럼

Think Linear Algebra의 핵심 강점은 사례 기반 학습에 대한 헌신입니다. 개념을 가르친 다음 숙제 문제를 제공하는 대신, 이 책은 문제에서 시작하여 이를 해결하는 데 필요한 수학을 도출합니다.

현재 장들에서 다루는 주요 예시는 다음과 같습니다:

  • Network Analysis: matrix multiplication과 eigenvectors를 사용하여 박물관 관람객 흐름을 모델링하고 PageRank 알고리즘을 구현합니다.
  • Kinematics: vector addition과 subtraction을 활용하여 GPS 추적 데이터를 분석하고, 수치 미분을 통해 속도와 가속도를 추정합니다.
  • Physics Simulations: vector projection과 orthogonality를 적용하여 당구공의 탄성 충돌을 시뮬레이션합니다.
  • Computer Graphics: affine transforms (scaling, rotation, shearing)를 구현하여 고전 게임 Asteroids를 재구축합니다.
  • Engineering & Chemistry: electrical circuits를 위해 LU decomposition을 사용하고, rank와 nullspace의 관점에서 화학 양론을 분석합니다.
  • Data Science: General Social Survey (GSS)를 통해 정치적 이념 트렌드를 분석하기 위해 QR decomposition을 사용하여 least squares regression을 구현합니다.

대화형 노트북의 힘

Jupyter notebooks와 Google Colab을 활용함으로써, 이 책은 학습자가 즉각적인 피드백을 받을 수 있는 환경을 제공합니다. 이러한 대화형 접근 방식은 독자들이 "만약에" 시나리오를 탐구할 수 있게 합니다. 즉, matrix의 변수를 변경하고 그것이 2D 그래픽이나 구조적 트러스 시뮬레이션에 어떻게 영향을 미치는지 즉시 확인하는 것입니다.

이 방법론은 전통적인 교육 방식에 어려움을 겪었던 현대적 학습자들에게 공감을 불러일으킵니다. 한 커뮤니티 구성원이 언급했듯이, notebook에서 개념을 실험할 수 있는 능력은 복잡한 현대 아키텍처를 이해하려는 사람들에게 매우 소중합니다:

"수학적 기초를 살펴보는 것이 더 많은 것을 이해하게 된다는 것을 깨달았습니다... Jupyter notebook에서 개념을 설명하고 이를 변경하거나 실험할 수 있게 하는 것은 [엄청적으로 도움이 됩니다]."

전통으로부터의 탈피

이 책은 응용을 우선시하기 때문에 때때로 전통적인 교육 경로에서 벗어납니다. 예를 들어, 일부 독자들은 vector addition 이전에 matrix multiplication을 소개하는 것이 Linear Algebra Done Right와 같은 학술적 표준 도서의 순서와는 다르다는 점을 지가했습니다.

하지만 프로그래머에게 이 "top-down" 접근 방식은 종종 더 직관적입니다. 이는 소프트웨어가 구축되는 방식을 반영합니다. 즉, 고수준 기능("what")에서 시작하여 필요가 생길 때마다 기저의 메커니즘("how")으로 깊이 들어가는 방식입니다.

도구 모음의 확장

현재 커리큘럼이 방정식 시스템과 regression의 필수 요소를 다루고 있지만, 더 발전된 통계학 주제로의 확장에 대한 명대한 요구가 있습니다. Principal Component Analysis (PCA)와 Canonical Correlation Analysis (CCA)와 같은 잠재적인 추가 사항은 학습자가 scikit-learn과 같은 라이브러리가 내부적으로 SVD (Singular Value Decomposition)를 어떻게 구현하는지 정확히 어떻게 구현하는지 볼 수 있게 해줄 것입니다.

이러한 학습 스타일을 것을하는 사람들을 위해, Allen Downey는 유사한 고품질의 오픈 소스 리소스를 제작한 이력이 있습니다. 그의 다른 "Think" 시리즈 도서들—Think Complexity, Think DSP, Think Stats, 그리고 Think Bayes—모두 복잡한 기술적 주제를를 위해 계산을 통해 접근 가능하게 만드는 유사한 철학학을 따릅니다. 를 통해

결론

Think Linear Algebra는 계산적 문해력(computational literacy)을 향한 변화를 나타냅니다. 선형 대수학을 일련의 증명 대신 시뮬레이션과 시각화의 도구로 다룸으로써, 머신러닝, 로보틱스, 과학적 컴퓨팅을 위한 수학을 마스터하고자 하는 모든 이들에게 진입 장벽을 낮춰줍니다.

Sources