Linear Algebra

‍이세현·2024년 10월 7일
1

Vector

벡터를 사용하는 이유

  • 단일 숫자로 표현하기 어려운 데이터를 벡터로 표현한다.
    • ex) 꽃받침 길이 5.1, 꽃받침 너비 3.5, 꽃잎 길이 1.4, 꽃잎 너비 0.2
      [5.13.51.40.2]\begin{bmatrix} 5.1 \\ 3.5 \\ 1.4 \\ 0.2 \end{bmatrix}
  • 데이터를 효과적으로 저장하고 연산할 수 있다.
  • 머신러닝 모델 내의 매개변수(parameter)들도 벡터로 간결하게 표현할 수 있다.
    θ=[θ0θ1θn]\theta = \begin{bmatrix} \theta_0 \\ \theta_1 \\ \cdots \\ \theta_n \end{bmatrix}

벡터의 기하학적 의미

  • 크기와 방향을 함께 가지는 양
  • NN차원 공간에서 데이터 하나를 점 또는 화살표로 표현한다.
  • 내적
    • 두 벡터의 방향이 일치하는 만큼의 크기를 곱한 것
    • 단위벡터간의 내적은 두 데이터 사이의 유사도를 의미한다.
      ab=abcosθ\vec{a}\cdot\vec{b}=|\vec{a}||\vec{b}|\cos\theta

Matrix

행렬

  • 여러 개의 벡터를 담은 것
  • row, column으로 색인(indexing)이 가능하다.
    • ex) [150,4][150, 4] shape의 데이터에서 75번째 데이터의 세번째 feature는 x75,3x_{75, 3}으로 표현한다.
  • 흑백 이미지의 경우 개별 데이터가 행렬 형태이다.
    • 컬러 이미지의 경우 개별 데이터가 tensor 형태이다.

행렬 연산

  • 행렬의 곱: 행 벡터와 열 벡터의 내적의 연속
    • 행렬 곱은 선형 변환, 선형 함수와 동일하다.
  • 퍼셉트론 연산은 행렬의 연산과 동일하다.
  • Determinant
    • 행렬식은 정사각행렬에서만 적용한다.
    • 기하학적 의미: 행렬곱에 의해 넓이 또는 부피가 확대되는 비율
  • 역행렬
    • 역행렬은 정사각행렬에서만 적용한다.
    • 스칼라의 역수와 같은 개념
    • 연립방정식의 해를 구할 때 사용한다.
    • 정사각행렬이 아닌 경우 Pseudo-inverse matrix를 사용한다.
      A+=(ATA)1ATA^+=(A^TA)^{-1}A^T

행렬의 분해

행렬을 분해하는 이유

  • 분해를 통해 특성을 파악하기 용이하다.
    • cf) 소인수분해와 인수분해
  • 딥러닝 네트워크가 무거워지면서 행렬 분해가 점점 중요해지고 있다.

고유벡터

  • 정의: 선형 변환을 취했을 때 방향은 변하지 않고 크기만 변하는 벡터
  • 정사각행렬 선형 변환에 대해서만 적용 가능하다.
  • Eigenvalue는 λ\lambda이고 eigenvector는 v\mathbf{v}일 때
    Av=λvdet(AλI)=0A\mathbf{v}=\lambda\mathbf{v} \\ \det(A-\lambda\mathbf{I})=0

Eigendecomposition

  • Λ\Lambda: eigenvalue들을 대각선에 배치한 대각행렬
    [λ10000λ2000000λn]\begin{bmatrix} \lambda_1 & 0 & 0 & 0 \\ 0 & \lambda_2 & 0 & 0 \\ 0 & 0 & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix}
  • QQ: eigenvector들을 열에 배치한 행렬
    [v1v2vn]\begin{bmatrix} v_1 & v_2 \cdots & v_n \end{bmatrix}
  • Eigenvector들은 서로 직교한다.
    Av=λvAQ=QΛA=QΛQ1A\mathbf{v}=\lambda\mathbf{v} \\ AQ=Q\Lambda \\ A=Q\Lambda Q^{-1}

행렬 특이값 분해

Singular Value Decomposition

  • 정사각행렬이 아니어도 분해 가능하다.
  • 왼쪽 특이행렬 UU: AATAA^T의 고유 벡터를 열에 배치한 n×nn \times n 행렬
  • 오른쪽 특이행렬 VV: ATAA^TA의 고유 벡터를 열에 배치한 m×mm \times m 행렬
  • Σ\Sigma: AATAA^T의 고윳값 제곱근을 대각선에 배치한 n×mn \times m 행렬
    A=UΣVTA=U\Sigma V^T
  • Singular value는 중요도를 의미한다.
  • 데이터 차원을 축소해 계산량을 절감하기 위해 사용한다.
profile
Hi, there 👋

0개의 댓글

관련 채용 정보