대학원 들어가기 전 알아야 할 수학 [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 ( ) 값을 곱했을 때 에 속하는 다른 값이 나온다.
- 즉,
- Vector addition이 가능하다.
는 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, 즉
가 존재해야한다. - 선형대수의 상당한 부분은
가 존재하는지에 대해 알아내는 방법을 포함한다.
- 이를 위해서는 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)
- 0 vector 가 있어야한다 (i.e. 모든 vector에 대해서
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이다.
- Kernel은
기저 벡터 (Bases), 차원 (Dimension), 선형 변환 (Linear transformation)을 매트릭스로 표현하기
vector space의 기저 벡터 은 scalar scaling을 통해 의 모든 벡터를 표현할 수 있다. 의 차원은 기저 벡터의 수와 동일하다. - 모든 기저벡터는 동일한 수의 element를 가지고 있다.
- 예시로,
의 기저벡터는 보통 $\{ (1,0,…,0), (0,1,0,…,0), … , (0, …, 0, 1) \}
- 예시로,