본문 바로가기

다양한 이야기/MML 정리

선형대수 용어 정리

매 번 볼 때는 기억이 나는데 조금 있으면 까먹는..... 기본적인 용어들을 정리해두기 위한 포스팅입니다. 간단한 정의, 특징 등을 정리하고자 합니다.

 

 

행렬로 나타낼 수 있는 연립방정식 풀기

  - Gaussian elimination

  - Cramer's rule

 

 

Linear independence

  - Vector 여러 개({$x_{i}$})가 있을 때, non-trivial한 linear combination 있으면 linearly dependent

    - $\vec{0} = \sum_{i=1}^n \lambda_{i}x_{i}$ with at least one $\lambda_{i} \neq 0$

      - 그래서 영벡터 있으면 정의에 따라 항상 linear dependent

  - Only trivial sol exists -> linearly independent

    - 위 식을 만족시키는 조건이 오직 {$\lambda_{i}$}=0이면, {$x_{i}$}는 서로 linear independent

    - 저 중 벡터 1개라도 제거하면, 무언가 정보를 잃게 됨(dimension이든, 만들 수 있는 정보든....)

  - Linear independent 확인하는 practical way: Gaussian elimination

    - Row-echleon form으로 만들고, column 개수와 pivot 개수 비교

 

 

Set, Span

  - Let vector space V, set of vectors A = {$x_{i}$} $\subseteq$ V

    - 모든 v $\in$ V가 $x_{i}$의 linear combination으로 만들어지면, "A는 V의 generating set"

    - 이 때 만들어지는 모든 linear combination vector들은 "span of A"

      - A가 vector space V를 span할 수 있다면, V = span[A] = span[$x_{i}$]

 

 

Basis

  - Vector space의 generating set 중 "Minimal set"

  - Basis == Minimal generating set == Maximal linearly independent set

    - Basis가 특정 vector space에 대해 unique하지는 않지만, dimension은 같음

  - 그러니까, 어떤 vector space를 구성할 수 있는 vector set

 

 

Dimension

  - Dimension of a vector space $\neq$ vector 내 원소 갯수

  - The dimension of vector space corresponds to the number of its basis vectors.

 

 

Rank

  - # of linear independent column(row)

  - Gaussian elimination을 통해 구한 pivot 개수

  - Matrix의 column들로 생성될 수 있는 vector space의 dimension

    - Basis의 개수에 의해 결정 -> 선형 독립인 column의 개수

    - 저렇게 생성되는 subspace를 image/range/column space

  - nxn vector space의 rank = n -> Invertible

  - Ax=b can solved <=> rank(A) = rank(A|b)

  - For mxn matrix A, subspace of solution for Ax=0의 dim = n-rank(A)

    - 이 subspace를 kernel/null space

 

 

Determinant

  - Square matrix에서만 정의 가능

  - 역행렬 존재 여부 판단 -> full rank

  - 넓이, 부피 계산

 

 

Norm

  - 벡터 크기의 일반화!

  - 조건 3개

    - Absolutely homogeneous: $\lVert \lambda x \rVert = \lvert \lambda \rvert \lVert x \rVert$

    - Triangle inequality: $\lVert x + y \rVert \leq \lVert x \rVert + \lVert y \rVert$

    - Positive definite: $\lVert x \rVert \geq 0 \; and \; \lVert x \rVert = 0 \iff x = 0$

 

  - Manhattan Norm($l_{1}$ norm)

    - $\lVert x \rVert_{1} = \sum_{i=1}^{n} \lvert x_{i} \rvert $

  - Euclidean Norm($l_{2}$ norm)

    - $\lVert x \rVert_{2} = \sqrt{\sum_{i=1}^{n} x_{i}^{2}} = \sqrt{x^{T}x}$

 

 

Gram-Schmidt Orthogonalization

  - Vector들이 주어졌을 때, 그것들에 대한 orthogonal/orthonormal basis를 구하자!

    - Projection 개념 사용

      - 이미 만들어 놓은 k개 orthogonal basis set에 모두 orthogonal한 k+1번째 basis를 projection 통해 생성

  - 두 벡터의 각도 정의

    - $cos w = \frac{<x,y>}{\lVert x \rVert \lVert y \rVert}$

  - Orthogonal, orthonormal

    - 두 벡터가 수직이면($cos w = 0 \ \Rightarrow \ <x,y> = 0$) orthogonal!

    - 여기에 $\lVert x \rVert = \lVert y \rVert = 1$이면, orthonormal!

  - 한 벡터를 기준점으로 잡고, 나머지 벡터들을 하나씩 projection 시켜서 orthogonal한 basis 생성

    - basis $b_{1} ... b_{n}$ 존재 -> orthogonal/orthonormal basis $u_{1} ... u_{n}$ 만들자!

    - $u_{1} = b_{1}$: 기준점

    - $u_{k} = b_{k} - \pi_{span[u_{1}, ... ,u_{k-1}]}(b_{k}),\ k = 2,...,n$

      - $\pi_{span[u_{1}, ... ,u_{k-1}]}(b_{k}) = \sum_{i=1}^{k-1}proj_{u_{i}}(b_k)$

      - 그러니까 k-1번 projection하면 됨!

Projection 예시, x를 b로 projection하자!

    - Vector b가 기준점이면, x를 b로 projection 시켜서 orthogonal basis를 만들 수 있음

      - Orthogonal의 정의를 이용해서, <$x - \pi_{U}(x), b$> = 0을 만족하는 $\pi_{U}(x)$를 구하자

      - $\pi_{U}(x)$는 vector b의 상수배니까 이를 $\lambda b$로 두면, <$x - \lambda b, b$> = 0 만족하는 $\lambda$ 구하면 됨

      - <$x - \lambda b, b$> = <$x, b$> - <$\lambda b, b$> = 0 만족하는 $\lambda$ = $\frac{<x,b>}{<b,b>}$ = $\frac{x^{T}b}{\lVert x \rVert^{2}}$

 

      - 좀 더 나가서, projection matrix까지 구해보자!

        - $\pi_{U}(x) = P_{x}x = \lambda b = b \cdot \frac{b^{T}x}{\lVert b \rVert^{2}} = \frac{bb^{T}}{\lVert b \rVert^2}x$, 결국 $P_{x} = \frac{bb^{T}}{\lVert b \rVert^{2}}$

 

 

Eigenvector, Eigenvalue

참고하면 (매우)좋은 블로그: 다크 프로그래머

  - Matrix A를 linear mapping으로 생각할 때, A에 의한 mapping 결과(Ax)가 0이 아닌 상수배($\lambda$)가 되는 벡터 x

    - $Ax = \lambda x, \lambda \neq 0$ : Eigenvalue equation

  - 이 때 가능한 $\lambda$가 eigenvalue

  - 가능한 $\lambda$에 따라 eigenvector x도 각각 존재

  - 다른 eigenvalue에 해당하는 eigenvector set -> Independent

 

  - 다음은 모두 동치

    - $\lambda$가 A(n*n)의 eigenvalue

    - 영벡터가 아닌 $Ax = \lambda x$ 만족하는 x 존재 <=> $(A-\lambda I_{n})x$ = 0은 non-trivial하게 풀림(ex. x $\neq \vec{0}$)

    - rank($A-\lambda I_{n}$) < n

    - det($A-\lambda I_{n}$) = 0

      - Non-trivial한 sol 존재하니까, $A-\lambda I_{n}$linear dependent

 

  - 어떻게 구하나?

    - $(A-\lambda I_{n})x$ = 0 -> $x \neq \vec{0}$이니까, $A-\lambda I_{n}$ 의 null space가 $\vec{0}$ 외에 다른 vector 포함

    - 그럼 $A-\lambda I_{n}$는 역행렬을 가지지 않음

    - det($A-\lambda I_{n}$) = 0

      - 이걸 만족하는 $\lambda$ 찾으면 eigenvalue!

    - 구한 eigenvalue들을 $(A - \lambda I_{n})x$에 넣어서 eigenvalue마다 eigenvector 구하기

      - Eigenvalue 1개 -> eigenvector가 1개 아닐 수 있음

        - 블로그 5절 예시에서는 $\lambda = 1$인 경우 eigenvector 2개(Geometric 2, Algebraic 2)

        - MML Ex 4.6에서는 2*2 행렬에서 eigenvalue 1개 - eigenvector 1개(Geometric 1, Algebraic 2)

          - Geometric multiplicity $\le$ Algebraic multiplicity

 

  -  Geometrical intuition

    - Matrix A를 linear mapping으로 생각하면,

      - Eigenvector: 보존되는 방향

      - Corresponding eigenvalue: eigenvector가 변하는 scale

 

 

Diagonalize

  - 대각화!

    - determinants, powers, inverse 등을 간단하게 연산 가능, 해석 용이!

 

 

Cholesky Decomposition

  - Symmetric, positive definite matrix A = $L^{T}L$로 분해

    - Positive definite matrix 정의: 영벡터가 아닌 모든 vector x에 대해, $x^{T}Ax > 0$

      - Positive (semi)definite matrix의 모든 eigenvalue는 0 이상 -> SVD에서 사용

    - Multivariate Gaussian variable의 covariance matrix가 해당

 

 

Eigendecomposition(Spectral decomposition)

  - 임의의 n*n Matrix $A = PDP^{-1}$

    - 가능한 조건: A가 n개의 linear independent한 eigenvector를 가져야 함

  - Eigenvalue 정의할 때 $Ax = \lambda x$

  - A의 eigenvector들을 column vector로 하는 matrix P, eigenvalue들을 대각성분으로 하는 대각행렬 D 정의

      - $AP = PD$ -> $A = PDP^{-1}$ 와 같이 표현 가능

 

  - 어떻게 구하나

    - Eigenvalue, eigenvector 구하기

    - 위 가능한 조건 만족하는지 체크

    - Eigenvectors 가지고 P, eigenvalues 가지고 D 만들기

 

 

Singular value Decomposition(SVD)

참고하면 (매우)좋은 블로그: 다크 프로그래머

  - Eigendecomposition(ED)가 일부 n*n matrix에 대해서만 가능했다면, SVD는 모든 matrix에 대해 가능

    - 임의의 matrix $A = U\Sigma V^{T}$ 로 분해 가능

      - U: $AA^{T}$의 eigenvector set

      - V: $A^{T}A$의 eigenvector set

      - $\Sigma$: A의 singular value를 대각성분으로 하는 대각행렬

        - Singular value: $AA^{T}, A^{T}A$의 eigenvalue의 square root

        - $AA^{T}, A^{T}A$는 모두 symmetric, positive semidefinite 보장(MML Theorem 4.14) -> eigenvalue는 모두 0 이상

          - Spectral theorem: Symmetric matrix A에 대해 A의 eigenvector를 포함하는 orthonormal basis 존재

            - 각 eigenvector에 해당하는 eigenvalue는 모두 실수

 

  -  Geometrical intuition

    - Linear mapping 관점에서, orthogonal matrix는 회전변환, diagonal matrix는 scale 변환

    - $V^{T}$에 의해 회전 변환 -> $\Sigma$에 의한 scale 변환 -> $U$에 의해 회전 변환

      - Singluar value는, 얼마나 scale 변환이 일어나는 지 의미

 

  - 어떻게 구하나?

    - $A^{T}A$의 eigenvector normalize해서 V 구하기

    - 그 과정에서 얻은 $A^{T}A$의 eigenvalue 통해 $\Sigma$ 구하기

    - $AV = U\Sigma$ 이용해서 U의 normalized column vector($u_{i} = \frac{1}{\sigma_{i}} Av_{i}$) 구하기

 

  - ED($A=PDP^{-1}$) vs SVD($B=U\Sigma V^{T}$) 비교

    - ED는 적용 가능한 matrix가 한정됨, SVD는 모든 matrix에 적용 가능

    - P는 orthogonal할 필요 없지만, U, V는 orthogonal해야 함 -> 그래야 회전 변환

    - 둘 다 basis change -> sacling -> basis change

      - SVD는 domain - codomain vector space의 dimension이 다를 수 있음

'다양한 이야기 > MML 정리' 카테고리의 다른 글

[MML] Chap 6. Probability and Distributions  (0) 2020.10.14
[MML] Chap 5. Vector Calculus  (0) 2020.09.25
[MML] Chap.4 Matrix Decompositions  (0) 2020.09.21
[MML] Chap.3 Analytic Geometry  (0) 2020.09.09
[MML] Chap.2 Linear Algebra  (0) 2020.08.31