선으로 설명하는 선형대수 입문
(ducktyped.org)- 이 글은 선형대수의 기본 개념을 삽화와 함께 소개하는 내용임
- 초반에는 가우시안 소거법과 행 그림 vs 열 그림 개념에 중점을 두어 설명함
- 현실적인 예시(동전, 음식)를 사용하여 선형방정식과 해를 찾는 과정을 쉽게 설명함
- 벡터와 행렬 표기법 등, 수열을 넘어선 수학적 사고방식의 전환 내용을 강조함
- 숫자 대신 배열, 벡터, 행렬을 다루는 것이 선형대수의 핵심임을 강조함
서론
이 글은 기존의 대수는 알지만 선형대수는 모르는 사람을 위한 입문 자료임.
처음 다루는 두 가지 중요한 개념은 가우시안 소거법(Gaussian elimination) 과 행 그림(row picture) vs 열 그림(column picture) 임.
돈 예제
- 다수의 니켈 동전(nickel)과 페니 동전(penny)이 있을 때 23센트를 만들기 위해 각 동전이 몇 개 필요한지 계산하는 문제 설명
- x는 니켈 개수, y는 페니 개수임. 식으로 만들면 x와 y의 값 조합으로 23을 만드는 선형방정식이 됨
- 이 예에서는 해가 여러 개 가능함 (예: 4개의 니켈과 3개의 페니, 또는 23개의 페니 등)
- 선형방정식(linear equation) 이란 곡선이나 구멍 없이, 모든 것이 평면에 있는 수식임을 강조함
- 변수 2개로 한 숫자에 맞추는 것은 쉽지만, 2개 변수로 두 숫자에 동시에 맞추는 상황이 나오면 복잡해지고, 이런 경우 가우시안 소거법이 유용하다는 점을 소개함
음식 예제
- 빵(bread)과 우유(milk)처럼 두 가지 음식이 있고, 각 음식의 탄수화물(carbs) 과 단백질(protein) 정보를 바탕으로 정해진 목표(예: 5g 탄수화물, 7g 단백질)를 맞추는 조합을 구하는 문제
- 이 경우 두 개의 방정식을 만들어 x(우유 개수), y(빵 개수) 값을 찾아야 함
- 이런 문제에 가우시안 소거법을 사용함
가우시안 소거법
- 두 개의 선형방정식으로 재작성한 뒤, 한 방정식의 일정 배수를 다른 방정식에 빼거나 더하여 변수를 하나씩 제거하면서 값을 좁히는 과정 설명
- 예제에서 y를 없애고 x값을 구한 뒤, 이를 다시 대입하여 y 값을 찾음
- 결과적으로 우유 3개, 빵 1개가 정답임
- 가우시안 소거법은 오랜 역사를 가진 일반적인 테크닉임을 언급함
그림으로 이해하는 방식
- 위에서 행 그림(row picture) 방식으로 풀었다면, 이제 그림/그래프를 통해 문제를 시각적으로 풀이
- 각 식을 x(우유) 기준으로 변환해 그래프상에 직선을 그림
- 첫 번째 식의 그래프는 목표 탄수화물을 만족하는 모든 우유-빵 조합(선 위의 점)임
- 두 번째 식도 동일하게 그림
- 두 목표를 동시에 달성하려면 두 직선이 교차하는 하나의 점이 정답임을 강조함
- 이 방법도 결론적으로 우유 3개, 빵 1개를 산출하게 됨
- 가우시안 소거법은 선형대수 없이도 2000여년 간 사용된 매우 기본적이면서도 필수적인 테크닉임을 설명함
열 그림 (Column Picture)
- 앞서는 각 식을 각각 보는 행 그림(row picture) 에 집중했으나, 이제는 열 그림(column picture) 방식 도입
- 두 식을 한 식으로 합치고, 계수를 배열(벡터) 로 표현함
- 벡터는 번호가 순서대로 있는 배열로 생각해도 무방함(컴퓨터 과학에서의 벡터와 유사)
- 벡터 그래프화: 벡터를 점으로 나타낼 수도 있고, 화살표로 나타낼 수도 있음
- 벡터간 덧셈을 시각적으로 보면, 정답으로 가는 경로(예: 우유 벡터 세 번, 빵 벡터 한 번의 덧셈)로 직관적으로 확인 가능함
- 벡터의 곱셈과 덧셈도 각각 벡터의 각 원소별 연산임을 설명함
- 벡터를 사용한 열 그림 방식은 여러 면에서 기존 방식보다 더 직관적일 수 있음
선형대수 알기
- 숫자 단위의 대수에서 배열, 벡터 중심의 대수로 발상 전환이 선형대수의 주요 내용임을 환기함
- 열 그림, 행 그림 모두 선형대수의 핵심적인 시각화 방법임
- 마지막으로 행렬(matrix) 표기법을 짧게 소개하며, 전체 시스템을 행렬 x 벡터 형태로 정리 가능함을 보여줌
다음 내용 예고
- 향후 챕터에서 행렬, 점곱(dot product) 등 선형대수의 중요 개념이 추가적으로 다뤄질 예정임
- 궁금하다면 구독을 제안함
추가 읽을거리 및 마무리
- 더 많은 자료와 예술작품을 볼 수 있는 Instagram 링크 제공
Hacker News 의견
-
내용이 명확하고 유용함에 동의하지만, 예시로 든 숫자가 1과 2로 빵과 우유를 동시에 나타내서 행렬 형태를 볼 때 어떤 1이 빵인지, 어떤 1이 우유인지 직관적으로 구분하기 어려움, 만약 1,2,3,4처럼 각각 다른 숫자를 사용했다면 훨씬 더 명확해질 거라 생각함
- 이 지적에 동의함, 선형대수를 공부할 때는 숫자들이 워낙 많이 등장하고 순서가 정말 중요한 부분임, 그래서 예시 숫자를 사용할 때 소수열 같은 특별한 수열을 선호함, 곱셈 결과에 어느 숫자가 기여했는지도 쉽게 파악할 수 있기 때문임
-
블로그 글의 후반부가 정말 마음에 들었음, 하지만 처음을 가우스 소거법으로 시작하는 건, 적절한 단어가 떠오르진 않지만 약간 "신비한" 접근임, 문제가 먼저 나와야 ("연립방정식 어떻게 풀까?" "두 직선의 교점을 어떻게 구하지?") 그걸 그래픽적으로 보여주고, 그 다음에 방법이나 알고리즘을 소개하는 게 더 논리적으로 느껴짐, 반대로 하면 미적분의 연쇄법칙을 기하학적 의미 없이 먼저 가르치는 느낌임
-
작성자임 – 네 말이 맞는 것 같음, 가우스 소거법 부분은 대부분의 독자가 이미 접해 봤을 거라 생각해서 복습 차원에서 썼고, 본격적인 내용을 빨리 전달하고 싶었음, 혹시 이 부분에서 어려움 느낀 분들이 더 있다면 피드백을 듣고 싶음, 아마 더 천천히 자세히 설명할 필요가 있을지도 모르겠음
-
"우리가 소거할 수 있다는 게 무슨 의미지?" 이런 부분이 아직도 명확하지 않음, 하지만 (작성자) 당신이 칼럼 시각을 도입하는 방식 자체가 아주 매력적이고, 나 같은 초보한테 정말 유용함<br>덧붙여서 선형대수 교재가 수없이 많지만, 내용이나 순서가 모두 다 다름, 이 때문에 선형대수가 가르치기도, 이해하기도 어려운 것 같음, 그래서 다양한 시각이 더 필요하다고 생각함, 모두에게 동일하게 맞는 유일한 접근법이 없기 때문임
-
-
이번 글이 정말 마음에 듦, 빵과 우유를 뜻하는 변수 이름에 x, y만 쓰기보단 다른 변수 문자로 표현했으면 덜 헷갈릴 것 같음, 왜냐면 나중에 x, y가 그래프에서 탄수화물, 단백질 같은 다른 개념의 x, y로 바뀌게 되어버림
- 변수 관련해서 뭔가 헷갈리는 점이 확실히 있는 듯함, 어떤 부분을 바꾸면 좋을지 생각해볼 필요가 있음
-
Aditya Bhargava의 작업을 또 보게 됨, 예전 Grokking Algorithms 때부터 이미 팬이었음
- 고마움 표현, 그 책 쓰는 과정이 매우 즐거웠음
-
내용이 꽤 괜찮음, 대학에서 한 학기를 듣기 전까지 선형대수는 완전히 미스테리였음, 정말 잘 정리했음<br>벡터라는 개념이 익숙하지 않은 사람이라면, 두 벡터(크기와 방향)가 각각 1개 빵, 1개 우유를 어떻게 나타내고, 벡터를 어떻게 옮기거나 더할 수 있는지 간단히 설명해 주면 더 좋을 것 같음
-
세상에 이런 콘텐츠가 더 많았으면 좋겠음, 수학 교육 콘텐츠를 잘 만드는 게 진짜 어려움, 너무 좋은 내용임
-
시각적 설명 방법과 동기 부여 방식이 매우 마음에 듦, 현재 "The No Bullshit Guide to Linear Algebra" 같은 몇몇 자료로 선형대수를 공부 중이고, 꽤 괜찮다고 생각함, 혹시 이런 실용적, 직접 응용 가능한 수준의 선형대수 책 추천이 더 있다면 공유해주면 좋겠음, 대부분의 책이 너무 이론 위주나 진입장벽이 높게 느껴짐
-
나도 지금 LinAlg 교과서들을 검토 중임, ML/AI 쪽에 관심이 있어서 그런 관점에서 접근 중임<br>KA academy에서 선형대수까지 수강했고, 다른 자료나 교재들을 병행함<br>사람들이 3B1B, Strang(MIT OCW의 LinAlg 강좌)을 추천할 텐데, 3B1B는 직관적이라 입문용으로 멋지긴 해도 처음 제대로 공부할 때는 약간 빠른 느낌이고, Strang은 정말 훌륭하지만 가끔 강의에서 딴 데로 새서 따라가기 힘듦, 그럼에도 보조자료로 꼭 씀<br>LADR4e(Linear Algebra Done Right)도 좋은데 증명 부분이 어려워서 아직 다 따라가지 못했음<br>'Linear Algebra done wrong', Hefferon 책들도 있는데, 이것도 꽤 빨리 증명 위주가 됨, 2차/3차 공부할 때 훌륭할 듯함<br>추가로, '추상 선형대수(abstract linear algebra)'라는 과목이 따로 있는데, 전통적인 선형대수 책과 복잡도 차이가 크지 않음<br>내가 꽤 진도를 뺀 것은 ROB101 교재 (https://github.com/michiganrobotics/rob101/…)로, 선형 독립성까지 메인으로 참고했고, MIT Strang 강의와도 병행함<br>ROB101은 코딩 측면도 잘 다루어서 ML/AI에서 코딩과 연계해 생각하기에 적합함<br>또 동유럽 수학 교재 몇 권을 연습문제 용으로 갖고 있음<br>최근에는 https://www.math.ucdavis.edu/~linear/ 코스/교재를 복습 중이고, https://math.berkeley.edu/~arash/54/notes/에서 노트도 많이 도움을 받음
-
내가 정말 흥미롭게 읽은 책은 "Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares"임<br>https://web.stanford.edu/~boyd/vmls/
-
"실용적이고 직접 적용 가능한 수준의 이해가 목표"라고 했는데, 구체적으로 어디에 적용하려는지 궁금함, 내 생각엔 이론(예를 들어 선형대수)을 실용적 동기로만 배우는 건 약간 이상함, 사실 실제 적용서적을 읽으면서 이론을 병행해도 되지 않을까 싶음, 그리고 정말 이론이 꼭 필요해지는 상황이라면 내용이 아무리 어렵더라도 결국 배우는 수밖에 없음<br>예컨대, 선형대수는 양자역학을 공부할 때 매우 중요함, 그래서 그 목적이라면 양자역학 교재를 먼저 보는 것이 오히려 낫다고 봄
-
"실용적, 직접 적용 가능한 수준이 목표"라고 썼는데, 나도 동일함, ML에서 이를 실제로 쓰기에 완벽한 분야라고 생각함, 나도 이를 다루는 시리즈를 준비하고 있음
-
-
3blue1brown의 선형대수 시리즈도 꼭 언급해야 한다고 느낌, 이 글 수준보다 약간 더 높은 단계이지만 설명이 정말 뛰어나고 여전히 접근성이 좋음<br>https://youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
-
3B1B의 영상들은 정말 놀라움, 하지만 선형대수 영상은 내겐 다소 빠른 감이 있어서 내가 이번 시리즈를 쓰기 시작한 계기임
-
3B1B가 사용하는 그래픽 프레임워크가 오픈소스로 공개되어 있다는 게 대단함<br>https://github.com/ManimCommunity/manim
-
-
항상 이런 유형의 글을 읽으면 처음엔 "와! 드디어 내가 이해할 수 있게 수학을 설명하는 사람이 나타났구나!" 싶은데, 가우스 소거법 부분부터 또 다시 내용을 놓치게 됨
-
Josh Starmer라는 이름이 "Bam!" 이란 표현에서 자동으로 떠오름, 그림 그려가며 머신러닝을 설명한 그 책 기억하는 사람 있는지 모르겠음, 유튜브 채널도 예전에 자주 봤음, 이런 식의 설명 콘텐츠가 정말 학습을 더 재밌게 만들어 주는 것 같음