비교적 친숙할 2x=6도 선형 모델입니다. 다만 위의 식은 y,A,x가 벡터(vector)와 행렬(matrix)이라는 것이 다르고, 2x=6이 x=3으로 쉽게 해를 구할 수 있는 것과 달리 위의 x는 A의 성질에 따라 구할 수도 있고 구할 수 없을지도 모릅니다. 수업시간에 이야기를 들어보니 연립 방정식은 문이과 상관없이 배운다고 하더라고요. 그 연립 방정식도 y=Ax로 표현할 수 있습니다. 곰곰이 기억을 더듬어보시면 연립 방정식의 해를 구할 때 세가지 경우가 발생한다는게 기억날껍니다. 하나는 유일한 해가 존재하는 경우, 다른 하나는 해가 없는 경우, 또다른 하나는 해가 무수히 많은 경우.
y = Ax
이 문장에서 이야기하는 벡터들의 선형 조합을 잘 정리하면 이런 모양이 됩니다.
선형대수, linear algebra에서 '대수'는 dealing with unknowns이라고 합니다. 어떤 대표 변수를 내세워 선형 모델을 표현하고 이에 대한 여러 방법론을 다루는 것을 저는 linear algebra라고 이해하고 있습니다. 제가 좋아하는 Gibert Strang의 Introduction to linear algebra 라는 책을 보면 서론에 이런 이야기가 나옵니다.
The crucial operation in linear algebra is taking linear combinations of vectors.
우리는 연립방정식의 각 식을 위와 같은 선들로 표현하여 해의 유무를 표현하곤 했습니다. 고등학교 시절에는 이 정도까지 하고 말았다면, 선형대수에서는 이런 경우들에도 해를 구하려고 노력하게 됩니다. 전자는 least square minimization이라는 방법으로, 후자는 minimum length solution이라는 방법으로. 많이들 보시는 LASSO라는 방법도 무수히 많은 해 가운데 유력한 하나를 골라내는 방법이 될 수도 있습니다.
앞으로 정리하게 될 선형대수의 전체적인 구성을 살펴보면 다음과 같습니다.
1. Vector, matrix and their operations
2. Solve a linear equation : y = Ax.
- Gaussian elimination when an exact solution exists.
- Vector spaces and subspaces
- Least square minimisation when there is no solution.
- Minimum length solution when there is an infinite number of solutions.
3. Read a matrix : Ax = λx
- Eigen-decomposition
- Singular value decomposition
위에서 A의 성질에 따라 solution이 존재할 수도 있고 존재하지 않을 수도 있다고 했지요. 그래서 세번째 파트에서는 그 A를 들여다보는 방법을 소개합니다. 선형대수의 꽃이라고 하는 eigen-decomposition이 바로 그 방법입니다. 방법을 제대로 알고 나면 principal compoenent analysis, Fisher linear discriminant, canonical correlation analysis, partial least square 등 많은 machine learning 알고리즘들을 쉽게 이해할 수 있게 될 것입니다.
본격적으로 선형대수에 설명하기 전에 잠깐 linearity가 무엇인지 이야기해보겠습니다.
맨 왼쪽에 있는 선과 선형 관계인 선은 다음 네개 중 무엇일까요. 길어졌거나 회전된 경우는 선형 관계에 있다고 합니다. 두번째와 세번째가 해당되겠지요. 끊어지거나 굽은 경우는 선형관계가 아닐껍니다. 수학적으로 선형 관계를 표현하는 함수 f는 f(ax+ by) = af(x)+bf(y)를 만족합니다. 즉, 입력값이 scaling되었거나 합해지거나 한 것이 출력값에도 그대로 반영되는 함수를 선형 함수라고 할 수 있습니다. f(x) = Ax일 때 이것은 선형함수 일까요?
f(ax+by) = A(ax+by) = aAx+bAy = af(x) + bf(y)
너무 단순해서 죄송합니다. 선형함수가 맞습니다.