[선형대수] 선형결합, 기저, 생성

Ethan·2022년 9월 15일
0

선형대수

목록 보기
3/3

선형결합

  • 벡터들을 스칼라배하여 더한 것

  • c1v1+c2v2++cpvpc_1v_1 + c_2v_2 + \cdots + c_pv_p 형태로 표현 가능

  • c1,c2,,cpc_1, c_2, \cdots , c_p를 coefficients, weights 라고 한다.

  • weight는 0을 포함한다.

행렬식을 선형방정식으로 변환

선형결합을 이용하면 행렬식을 선형방정식으로 변환할 수 있다.

[605.51655.00556.01][x1x2x3]=[667478]\begin{bmatrix} 60 & 5.5 & 1 \\ 65 & 5.0 & 0 \\ 55 & 6.0 & 1 \end{bmatrix}\begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 66 \\ 74 \\ 78 \end{bmatrix}

위 식은 Ax=bA\mathbf{x} = \mathbf{b} 형태의 행렬식이다.
선형방정식 형태로 풀어쓰면 다음과 같다.

[606555]x1+[5.55.06.0]x2+[101]x3=[667478]\begin{bmatrix} 60 \\ 65 \\ 55 \end{bmatrix} x_1 + \begin{bmatrix} 5.5 \\ 5.0 \\ 6.0 \end{bmatrix} x_2 + \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix} x_3 = \begin{bmatrix} 66 \\ 74 \\ 78 \end{bmatrix}

결과적으로 a1x1+a2x2+a3x3=b\mathbf{a}_1x_1 + \mathbf{a}_2x_2 + \mathbf{a}_3x_3 = \mathbf{b} 형태로 변환된다.

생성 Span

v1,v2,,vpRnv_1, v_2, \cdots , v_p \in \mathbb{R^n}에 대해 v1,v2,,vpv_1, v_2, \cdots , v_p의 선형결합으로 생성되는
벡터들의 집합(벡터 공간)을 Span {v1,v2,,vp}Span\ \{v_1, v_2, \cdots , v_p\}이라 하고, 생성이라 부른다.

  • Span {v1,v2,,vp}Span\ \{v_1, v_2, \cdots , v_p\}의 모든 원소 벡터는
    c1v1+c2v2++cpvpc_1v_1 + c_2v_2 + \cdots + c_pv_p 형태의 선형결합으로 나타낼 수 있다.

  • Span {v1,v2,,vp}Span\ \{v_1, v_2, \cdots , v_p\}v1,v2,,vpRnv_1, v_2, \cdots , v_p \in \mathbb{R^n}Rn\mathbb{R^n}의 부분집합(subset)이다.

  • 만약 v1,v2,,vpv_1, v_2, \cdots , v_p가 모두 선형독립이라면 Rn\mathbb{R^n}의 차원 수는 pp이다.

부분공간 Subspace

다음의 세 조건을 만족하는 집합 UURn\mathbb{R^n}의 부분공간이다.

  1. 0U\mathbf{0} \in U
  2. u1,u2Uu_1, u_2 \in U 이면 u1+u2Uu_1+u_2 \in U
  3. uUu \in U이면 임의의 스칼라 cc에 대해 cuUcu \in U

즉, 원점을 지나고 스칼라곱과 벡터합에 닫혀 있으면 부분공간이다.
스칼라곱과 벡터합에 닫혀 있으면 선형결합에도 닫혀 있기 때문이다.

기저 basis

Rn\mathbb{R^n}의 부분공간 UU에 대해
다음의 두 조건을 만족하는 집합 BB를 부분공간 UU의 기저라 정의한다.

  1. BB는 선형독립이다.
  2. Span(B)=USpan(B) = U

쉽게 말해 어떤 공간을 생성하기 위한 최소한의 벡터 집합이 바로 기저이다.
어떤 공간의 기저는 여러 개가 존재할 수 있다.

예를 들어 [21],[13]\begin{bmatrix} 2 \\ -1 \end{bmatrix}, \begin{bmatrix} 1 \\ 3 \end{bmatrix}R2\mathbb{R^2}의 기저이고 [10],[01]\begin{bmatrix} 1 \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix}R2\mathbb{R^2}의 기저이다.

[10],[01]\begin{bmatrix} 1 \\ 0 \end{bmatrix}, \begin{bmatrix} 0 \\ 1 \end{bmatrix} 같은 기저를 따로 표준기저라고 부른다.

행렬곱과 선형방정식의 해

우리는 선형방정식과 행렬식 간 상호 변환이 가능하다는 것을 알고 있다.
그리고 이미 여기에서 선형방정식의 해가 존재할 조건을 알아보았다.

행렬곱은 열벡터들의 합

이번에는 열벡터들로 생성된 Span의 관점에서 생각해보자.

Ax=bA\mathbf{x} = \mathbf{b} 형태의 방정식을 변환하면 a1x1+a2x2+a3x3=b\mathbf{a}_1x_1 + \mathbf{a}_2x_2 + \mathbf{a}_3x_3 = \mathbf{b}가 된다.
따라서 위 식의 해가 존재하려면 bSpan {a1,a2,a3}\mathbf{b} \in Span\ \{a_1, a_2, a_3\}이어야 한다.

행렬곱은 행벡터와 열벡터의 외적의 합

지금까지 행렬곱을 방정식으로 변환할 때 내적을 사용했는데 반대로 행벡터와 열벡터의 외적의 합으로 표현할 수도 있다.

이를 Sum of rank-1 outer product라 하며, 여기서 말하는 외적은 텐서곱, 즉 uvTuv^T 연산을 의미한다.

이 관점에서 중요한 포인트는 어떠한 행렬 AA가 다른 두 행렬 B,CB, C의 곱으로 표현될 수 있다면 AABBCC의 행벡터와 열벡터를 가지고 분해할 수 있다는 것이다.

데이터 관점에서는 전체 가중치를 개별 데이터들 간의 연산의 합으로 보는 것과 같다.
이는 중요한 정보를 더 쉽게 추출할 수 있도록 해주고, 더 효율적인 연산이 가능하게 한다.

예를 들어 (100 X 50) 행렬을 통째로 연산하려면 100*50 = 5000의 자원이 필요하다.
하지만 이를 (100 X 1) 행렬과 (1 X 50) 행렬의 곱 10개로 분해하면 10*5*10 = 500의 자원으로 충분하다.

물론 데이터가 손실되긴 하겠지만 더 적은 자원으로 근사가 가능하다는 데 초점을 두는 것이다.

Style Transfer에서 Gram Matrix 등에 활용된다.

profile
재미있게 살고 싶은 대학원생

0개의 댓글