linear algebra는 다음을 다루고 제공하는 분야임.

  • vector, matrix, tensor 등을 사용하여, 대용량의 숫자로 이루어진 데이터를 효과적으로 계산 및 처리하는 방법을 다룸.
  • "기하학적으로 이해가능한 1~3차원”에서 출발하여 “딥러닝과 같은 기계학습에서 이용하는 고차원 벡터 공간“에서의 대용량 데이터 분석을 위한 이론적 그리고 수학적 기반을 제공.

Linear Algebra 관련해서 용어(terminology)에 대한 정확한 개념을 가지고 있는 것이 기계학습이나 AI 분야의 응용기술을 이해하는데 필요함.

  • 컴퓨터의 발달로 점점 linear algebra에서 실제 손으로 하는 계산 보다는 개념이 중요해지고 있으며, 사람은 가장 효율적인 계산법을 고르고, 적절한 입력 데이터를 vector나 matrix 등의 형태로 넣어주고 얻은 결과를 해석하는 역할을 담당함.
  • 기존의 손으로 하는 계산능력은 선형대수의 개념을 구현한 library 등을 활용하는 능력으로 대체되었다고 보는게 좋을 듯 함. (물론 선형대수 과목을 수강 중이라면, 가우시언 소거법등을 이용한 손으로하는 계산에 익숙해야 학점이 나옴.)

실제로 여러 교재에서 linear algebra는 일종의 외국어라고 생각하고 외국어를 배우듯이 매일매일의 학습을 하는게 효과적이라는 언급이 있을 정도임.

 

다음은 David C. Lay 가 쓴 Linear Algebra의 서두에 나온 내용이다.

 

In this day, the concepts are more important than the computations in linear algebra. Later in your career, computers will do all the complex calculations, but you will have to

  • choose the calculations,
  • know how to interpret the results, and then
  • explain or report the results to other people, such as your boss, customer, or professor.

To master the concepts of linear algebra, you should read and reread the text carefully. In a practical sense, linear algebra is a language, specifically a foreign language. You must learn this language the same way you would a foreign language —with daily work.


linear algebra의 계산에 필요한 연산들은 양이 많을 뿐, 단순하고 반복적인 측면이 강하기 때문에

  1. Theorem들을 통해 머리 속에서 기하학적인 이해를 하는 것이 보다 중요 하고,
  2. 이후 3차원 이상인 고차원의 간단한 예제(Machine learning 을 위한 library들이 제공하는 간단한 예제들)를 익숙한 프로그래밍 언어로 구현하고 결과를 보는 형태

로 공부하면 효과적이다.

 

python 유저에게 권하는 library는 numpy, tensorflow, pytorch, sympy 그리고 scipy이다.

 

경험상 numpy가 가장 기본적이며 사실상 필수로써, tensorflow나 pytorch가 모두 numpy와 매우 유사하기 때문에 numpy를 익숙하게 사용하는 것이 시작점이라고 볼 수 있다.

sympy의 경우, linear algebra의 예제들을 쉽게 풀어볼 수 있는 강력한 공학용 계산기라고 생각하면 될 듯하다.

반응형

+ Recent posts