ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linear Algebra] 1. Introduction of Linear Algebra
    Mathematics for Machine Learning(1)/1. Linear Algebra 2026. 3. 30. 22:22

    사실 머신러닝은 수학이라고 생각한다. 그렇기 때문에 책을 통해서 머신러닝에 필요한 수학을 야금야금 공부해보고 기록해보려고 한다.
    아마 하루에 섹션 하나씩 천천히 읽지 않을까 싶다. 목표는 1주일에 최소 5번은 올리면서 책을 천천히 완독하는게 목표이다. 그럼 시작해봅시다...!(파이팅, Introduction of Linear Algebra는 내가 그냥 그럴듯하게 지어봤다.)

    선형 대수학이란 무엇일까?

    우선 대수학(Algebra)라는 말은 어떤 '대상'과 그 대상을 다루는 '규칙'을 연구하는 학문이라고 한다. Mathematics for Machine Learning 책에서는, 이를 "직관적인 개념을 공식화하기 위해 객체(기호)의 집합과 이를 조작하는 규칙의 집합을 구축하는 것"이라고 설명한다.

    그중에서도 '선형(Linear)'대수학은 이름 그대로 '직선적인' 관게를 다룬다.

    이제 우리가 다룰 대상은 벡터(Vector)이고, 규칙은 아주 단순하게 더하기상수배(늘리기/줄이기) 딱 두 가지뿐이다.

    "Vector"

    사실 고등학교 때 기하와 벡터를 배우고 나는 벡터를 직관적으로 "화살표"라고 많이 생각했던 것 같다. 하지만 이 책(Mathematics for Machine Learning)에서는 벡터를 단순히 '화살표'로만 보지 말라고 강조한다.

    일단 먼저 "Vector"를 3가지 관점으로 해석한다.

    1. Geometric Vectors

    고등학교 수학이나 물리 시간에 배운 "화살표"이다. 아마 대부분 기하학적 관점으로 알고있지 않을까 싶다.

    수식으로는 $\vec{x} + \vec{y} = \vec{z}$ 이렇게 작성할 것이다.

    직관적으로 생각하면, 점 A에서 B로 이동하는 화살표인 것이다. 두 벡터를 더한다는 건 첫 번째 화살표 끝에 두 번째 화살표를 이어 붙이는 것과 같다.

    상수배를 하는 경우 화살표 방향은 유지한 채 길이를 $\lambda$배만큼 늘리거나 줄이는(Scaling) 것이다.

    2. Polynomials

    나는 이 책을 통해 다항식(Polynomials)이나 오디오 신호(Audio signals)도 벡터인 것을 처음 알았다.(내 지식이 얕은 탓...)

    그렇다면 왜일까?

    다항식은 두 다항식을 더해도 여전히 다항식이고, 다항식에 숫자를 곱해도 다항식이다.
    오디오 신호도 두 소리를 합치면 새로운 소리가 되고, 볼륨을 키우는 건 상수배를 하는 것과 같다.

    즉, "더하기와 상수배라는 규칙만 만족한다면, 그게 무엇이든 '벡터'로 부른다는 것이다!

    3. Tuples of $n$ real numbers

    컴퓨터 공학자들이라면 사실 벡터를 "숫자들의 나열"로 생각할 것이다. 머신 러닝에서는 가장 많이 쓰이게 될 형태이기도 하다.
    즉, 데이터를 숫자의 묶음(Tuple)으로 보는 것이다.
    $$
    \mathbf{a} = \begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} \in \mathbb{R}^3
    $$

    직관적으로 바라보면, 3차원 공간상의 한 점을 나타내는 좌표라고 생각하면 될 것이다. 예를 들어, $n=100$이라면? 상상할 수는 없지만, 수학적으로는 100차원 공간 속의 한 점이 된다.

    왜 하필 $\mathbb{R}^n$일까? 바로 컴퓨터의 배열(Array) 때문이다.

    이미지 한 장은 수만 개의 픽셀 값(숫자)으로 이루어져 있고, 이는 곧 $\mathbb{R}^n$ 공간의 벡터 하나가 된다. 컴퓨터는 추상적인 '함수'는 이해 못해도, '숫자 리스트'는 정말 잘 다룬다. 그래서 모든 데이터를 $\mathbb{R}^n$으로 옮겨와서 계산하게 된다.

    "Linear Algebra"

    선형대수학은 결국 이 벡터들을 가지고 장난치는 규칙을 배우는 것이라고 생각하면 될 것 같다.

    위에서 설명했지만, 결국 벡터는 2가지 규칙을 가지고 있는데,

    첫 번째는, 벡터의 덧셈($\vec{a} + \vec{b}$)이다. 각 성분끼리 더하면, 두 개의 힘을 합치거나, 두 번 이동하는 것과 같다. 기하학적으로는 평행사변형을 그리며 나아가는 것이다.

    두 번째는 스칼라 곱($\lambda a$)이다. 수식적으로는 모든 성분에 Scalar $\lambda$를 곱하는 것이고, 직관적으로는 화살표의 방향은 유지한 채 길이만 늘리거나 줄이는(Scaling) 작업이다.

    이것이 중요한 이유는, 머신러닝에서 "모델을 학습시킨다"는 것은 결국 이 화살표들의 길이를 조정하고 더해서 우리가 원하는 정답에 가깝게 만드는 과정이기 때문이다.

    우리가 2차원 평면 위에 있다고 생각해보자. 여기서 두 벡터를 더한다고 해서 결과물이 갑자기 종이 위로 툭 튀어나올 수 있을까? 절대 그럴 수 없다. 그렇다면 스칼라 곱을 했을 때, 즉 종이 위 화살표를 100배 늘리거나 0.1배 줄인다고 해도, 여전히 종이 위에 착 달라 붙어있을 것이다.

    이처럼 더하고 늘려도 여전히 그 평면(공간) 안에 머물러 있을 때, 우리는 이 평면이 벡터 연산에 대해 닫혀있다(Closure)고 하며, 이 닫혀 있는 공간을 바로 벡터 공간(Vector Space)라고 부른다.

    그렇다면 이것이 머신러닝에서는 왜 중요한가?

    그 이유는, 머신러닝 모델이 데이터를 처리할 때, 일관성이 필요하기 때문이다.

    예를 들어 이미지 인식 AI를 만든다고 가정해보자. 이미지 데이터(벡터)들을 서로 섞거나 밝기를 조절(연산)했는데, 결과값이 '이미지'의 범주를 벗어나서 갑자기 '소리' 데이터가 되어버린다면...? 계산을 전혀 이어나갈 수 없을 것이다.

    이처럼 우리가 다루는 데이터 공간이 '닫혀'있다는 것을 알아야만, 어떤 복잡한 계산을 거치더라도 결과가 예측 가능한 범위(벡터 공간) 내에 있을 것이라고 확신할 수 있다.

    다음은 Systems of Linear Equations로 돌아오도록 하겠다:)

Designed by Tistory.