선형결합
-
벡터들을 스칼라배하여 더한 것
-
c1v1+c2v2+⋯+cpvp 형태로 표현 가능
-
c1,c2,⋯,cp를 coefficients, weights 라고 한다.
-
weight는 0을 포함한다.
행렬식을 선형방정식으로 변환
선형결합을 이용하면 행렬식을 선형방정식으로 변환할 수 있다.
⎣⎢⎡6065555.55.06.0101⎦⎥⎤⎣⎢⎡x1x2x3⎦⎥⎤=⎣⎢⎡667478⎦⎥⎤
위 식은 Ax=b 형태의 행렬식이다.
선형방정식 형태로 풀어쓰면 다음과 같다.
⎣⎢⎡606555⎦⎥⎤x1+⎣⎢⎡5.55.06.0⎦⎥⎤x2+⎣⎢⎡101⎦⎥⎤x3=⎣⎢⎡667478⎦⎥⎤
결과적으로 a1x1+a2x2+a3x3=b 형태로 변환된다.
생성 Span
v1,v2,⋯,vp∈Rn에 대해 v1,v2,⋯,vp의 선형결합으로 생성되는
벡터들의 집합(벡터 공간)을 Span {v1,v2,⋯,vp}이라 하고, 생성이라 부른다.
-
Span {v1,v2,⋯,vp}의 모든 원소 벡터는
c1v1+c2v2+⋯+cpvp 형태의 선형결합으로 나타낼 수 있다.
-
Span {v1,v2,⋯,vp}은 v1,v2,⋯,vp∈Rn인 Rn의 부분집합(subset)이다.
-
만약 v1,v2,⋯,vp가 모두 선형독립이라면 Rn의 차원 수는 p이다.
부분공간 Subspace
다음의 세 조건을 만족하는 집합 U는 Rn의 부분공간이다.
- 0∈U
- u1,u2∈U 이면 u1+u2∈U
- u∈U이면 임의의 스칼라 c에 대해 cu∈U
즉, 원점을 지나고 스칼라곱과 벡터합에 닫혀 있으면 부분공간이다.
스칼라곱과 벡터합에 닫혀 있으면 선형결합에도 닫혀 있기 때문이다.
기저 basis
Rn의 부분공간 U에 대해
다음의 두 조건을 만족하는 집합 B를 부분공간 U의 기저라 정의한다.
- B는 선형독립이다.
- Span(B)=U
쉽게 말해 어떤 공간을 생성하기 위한 최소한의 벡터 집합이 바로 기저이다.
어떤 공간의 기저는 여러 개가 존재할 수 있다.
예를 들어 [2−1],[13]은 R2의 기저이고 [10],[01]도 R2의 기저이다.
[10],[01] 같은 기저를 따로 표준기저라고 부른다.
행렬곱과 선형방정식의 해
우리는 선형방정식과 행렬식 간 상호 변환이 가능하다는 것을 알고 있다.
그리고 이미 여기에서 선형방정식의 해가 존재할 조건을 알아보았다.
행렬곱은 열벡터들의 합
이번에는 열벡터들로 생성된 Span의 관점에서 생각해보자.
Ax=b 형태의 방정식을 변환하면 a1x1+a2x2+a3x3=b가 된다.
따라서 위 식의 해가 존재하려면 b∈Span {a1,a2,a3}이어야 한다.
행렬곱은 행벡터와 열벡터의 외적의 합
지금까지 행렬곱을 방정식으로 변환할 때 내적을 사용했는데 반대로 행벡터와 열벡터의 외적의 합으로 표현할 수도 있다.
이를 Sum of rank-1 outer product
라 하며, 여기서 말하는 외적은 텐서곱, 즉 uvT 연산을 의미한다.
이 관점에서 중요한 포인트는 어떠한 행렬 A가 다른 두 행렬 B,C의 곱으로 표현될 수 있다면 A를 B와 C의 행벡터와 열벡터를 가지고 분해할 수 있다는 것이다.
데이터 관점에서는 전체 가중치를 개별 데이터들 간의 연산의 합으로 보는 것과 같다.
이는 중요한 정보를 더 쉽게 추출할 수 있도록 해주고, 더 효율적인 연산이 가능하게 한다.
예를 들어 (100 X 50) 행렬을 통째로 연산하려면 100*50 = 5000의 자원이 필요하다.
하지만 이를 (100 X 1) 행렬과 (1 X 50) 행렬의 곱 10개로 분해하면 10*5*10 = 500의 자원으로 충분하다.
물론 데이터가 손실되긴 하겠지만 더 적은 자원으로 근사가 가능하다는 데 초점을 두는 것이다.
Style Transfer에서 Gram Matrix 등에 활용된다.