대학원 들어가기 전 알아야 할 수학 [1] - 선형대수

(모바일은 가로로 돌려서 보시는게 편합니다)

첫장은 선형대수였고, 이 책은 ‘선형대수는 무엇을 하는 학문인가?’ 라는 질문을 던진다.



선형대수의 본질


선형대수의 본질System of linear equations 문제를 푸는 것이다.
그리고 이 문제를 풀기위해 다양한 matrix를 다루는 방법들을 공부한다.

조금 과장하자면, 모든 수학문제는 선형대수 문제로 변환할 수 있어야만 풀 수 있다. (라고 한다)
선형대수를 통해 공통된 특성을 공유하는 object들의 관계를 하나의 vector space로 다룰 수 있게 해준다.
또 이 vector space들 사이의 관계를 linear transformation으로 표현할 수 있다.

선형대수는 n개의 linear equation들과 n개의 unknown이 있을 때, solution이 있는지 없는지 알아낼 수 있는 다양한 방법들을 제공한다.



가장 기초적인 Vector space:

  • 가장 본질적인 vector space는 로써 모든 real number의 집합이다.


  • 은 왜 vector space일까?
    • Vector addition이 가능하다.
      • 즉, 에 속하는 두개의 값을 더했을 때 에 속하는 다른 값이 나온다.
    • Scalar multiplication이 가능하다.
      • 즉, 에 속하는 값과 scalar () 값을 곱했을 때 에 속하는 다른 값이 나온다.


  • 는 n차원의 real number (i.e. 정수)를 가진 벡터를 의미한다.
    • 차원의 수를 늘리거나 줄일 수 있을까?
      • 에서 으로의 변환 관계, 즉 n차원에서 m차원으로의 맵핑은 매트릭스로 표현할 수 있다.


  • 아래와 같은 system of linear equations이 있다고 해보자.
    • 이 주어졌고, 우리는 을 구하고싶다고 해보자.
  • 많은 선형대수 문제는 위와 같은 system of linear equations 문제로 요약될 수 있다.
    • 적은 수의 equation만 있다면 Gaussian elimination (i.e. 가우스 소거법) 등의 방식을 통해 손으로 계산할 수 있다.
    • 하지만 많은 수의 equation + unknowns를 풀어야한다면 계산량이 무지막지하게 많아진다.
      • 이론적으로 어렵지 않으나, 수많은 숫자들을 트랙킹하는게 골치아프다…
  • 우선 위와 같은 형태의 문제들을 아래와 같은 방식으로 요약할 수 있다.
    • 를 벡터화, 를 매트릭스화 한다.
    • 그러면 문제를 와 같이 보기 편한 형태로 바꿀 수 있다.



  • 일 때 (i.e. equation의 수가 unknown의 수 보다 많을 때) unknown은 구할 수 없다 (i.e. No solution).
    • Over-determined 문제라고 하며, 이 경우는 least squares optimisation을 통해 최소 에러값을 가지는 Unknown value를 구할 수 있다.
    • 컴퓨터 비전에서 자주 나타나는 문제이다.
  • 일 때 (i.e. unknown의 수가 equation의 수 보다 많을 때)는 무한히 많은 solution이 존재한다.
    • Under-determined 문제라고 한다.
  • 선형대수에서 가장 많이 집중하는 케이스인 상황이다.
    • 이 경우 매트릭스의 형태를 띄우겠고, 문제를 풀어서 의 값을 알아내려고 한다.
    • x를 풀기 위해서는 가 성립되어야한다.
      • 이를 위해서는 A의 inverse, 즉 가 존재해야한다.
      • 선형대수의 상당한 부분은 가 존재하는지에 대해 알아내는 방법을 포함한다.

벡터 공간 (Vector spaces)와 선형변환 (Linear Transformation)

Vector space의 정의

  • 라는 set은 아래와 같은 맵핑 조건을 충족한다면 정수에 대한 vector space가 될 수 있다.
      • 어떠한 정수와 어떠한 의 Element를 곱했을 때 나오는 결과가 set에 포함되어있는 경우
      • set에 포함되어있는 두 element를 더했을 때 나오는 결과가 set에 포함되어있는 경우


  • Vector space 의 element는 편히 vector라고 부른다.
  • Vector space가 존재하는 정수 element는 scalar라고 부른다.
    • 사실 정수 뿐만이 아니라 다른 수의 체계 (e.g. 정수, 허수, 자연수…)도 사용 가능하다.


  • 이 때, 아래의 추가조건을 달성해야한다.
    • 0 vector 가 있어야한다 (i.e. 모든 vector에 대해서 라는 계산이 가능해야한다). (i.e. Null space)
    • 모든 vector에 대해 상응하는 역수가 있어야한다 (i.e. 이 가능해야한다). (i.e. Inverse element)
    • 모든 vector에 대해 가 성립해야한다. (i.e. Commutative)
    • 모든 vector에 대해 상응하는 항등수가 있어야한다. (i.e. ) (i.e. Neutral element)
    • 모든 vector와 어떠한 scalar 값 에 대해, 가 성립해야한다 (i.e. Distributivity)
    • 모든 vector와 어떠한 두개의 scalar 값 에 대해, 가 성립해야한다 (i.e. Scalar associativity).
    • 모든 vector와 어떠한 두개의 scalar 값 에 대해, 가 성립해야한다 (i.e. Scalar distributivity)


Linear transformation 정의

  • Vector space간의 맵핑 관계는 Linear transformation으로 표현된다.
  • vector space에서 vector space로의 변환 관계를 표현하는 함수인 T가 있다.
    • 수식으로는 로 표현된다.
    • T가 linear transformation이기 위해선 조건이 충족되어야한다.


Vector subspace 정의

  • Vector space 에 속한 vector subspace 도 하나의 vector space이다.
  • Vector subspace의 존재함에는 몇가지 조건이 충족되어야한다.
    • vector subspace 내부에서도 addition 및 scalar multiplication에 대한 closure가 있어야한다.
      • 즉, 내부의 모든 vector 사이의 addition 및 scalar multiplication 연산은 내부의 또다른 vector가 되어야한다는 것이다.


Linear transformation과 Vector subspace의 관계

  • 에서 로의 linear transformation 가 있다면… (i.e. )
    • kernel이다
    • image
  • 아래 이미지에서 보이는 것과 같이,
    • Kernel은 의 subspace이다.
    • Image는 의 subspace이다.



기저 벡터 (Bases), 차원 (Dimension), 선형 변환 (Linear transformation)을 매트릭스로 표현하기

  • vector space의 기저 벡터 scalar scaling을 통해 의 모든 벡터를 표현할 수 있다.
  • 의 차원은 기저 벡터의 수와 동일하다.
  • 모든 기저벡터는 동일한 수의 element를 가지고 있다.
    • 예시로, 의 기저벡터는 보통 $\{ (1,0,…,0), (0,1,0,…,0), … , (0, …, 0, 1) \}