NLP Blog

Deep Learning Book - chap 2. Linear Algebra

|

chapter 2. 선형 대수

2.1 scalar, vector, matrix, tensor

  • scalar :
    • 그냥 하나의 수
    • 이탤릭체 사용, 변수의 이름은 흔히 영문 소문자 사용
    • 해당 변수가 나타내는 수들의 종류도 명시 (ex: $ {\it s} \in \mathbb{N}$ 스칼라 s는 자연수이다. )
  • vector :
    • 여러 개의 수를 특정한 순서로 나열한 것
    • 벡터에 있는 특정한 하나의 수, 즉 벡터의 한 성분은 벡터 안에서의 그 성분의 위치를 뜻하는 index를 이용하여 지칭
    • 굵은 영문 소문자로 표기 ($ \bf{x}$)
    • 벡터의 개별 성분을 지칭할 때는 벡터 이름을 굵지 않은 이탤릭으로 표기하고 색인은 아래첨자로 표기 ($x_1, x_2 …$)
    • 벡터에 담긴 수들의 종류도 명시해줌
    • 공간의 한 점을 식별하는 값으로 간주 가능
  • Matrix :
    • 수들을 2차원으로 배열한 것
    • 특정한 한 정분을 지칭하려면 하나가 아니라 두 개의 색인이 필요
    • 실숫값 행령 ${\bf A}$의 높이가 m이고 너비가 n일 때, 이를 ${\bf A} \in \mathbb{ R }^{m \times n}$ 이라고 표현함
    • 행렬에서 수직 좌표성분이 $i$인 성분들을 한꺼번에 지칭할 때는 수평 좌표성분에 :을 지정 (ex: ${\bf A}_{i,:}$는 수직 좌표가 $i$인 수평 성분들을 뜻함 -> row)
  • Tensor :
    • 차원이 셋 이상인 배열을 사용해야 할 때도 있음
    • 2차원 행렬을 일반화해서, 수들의 배열을 임의의 개수의 ㅣ축을 가진 정규 격자 형태로 배치한 것

  • transpose(전치) :
    • 원래의 행렬을 주대각(main diagonal) 대칭으로 반사한 것
    • $(\bf{ A }^\top)_{i,j} $ $= \bf{ A }_{j,i}$

2.2 행렬과 벡터의 곱셉

  • 행렬곱
    • 행렬 $\mathbf{ A }$와 $\mathbf{ B }$를 곱하면 새로운 행렬 $\mathbf{ C }$가 된다
    • 이러한 행렬곱이 정의되려면 $\mathbf{ A }$의 열 수가 $\mathbf{ B }$의 행 수와 같아야 함
    • $\mathbf{ C } = \mathbf{ AB }$ -> $C_{i,j} = \sum_kA_{i,k}B_{k,j}$
    • 분배법칙 만족
    • 결합법칙 만족
    • 교환법칙 불만족
  • 성분별 곱 or Hadamard product
    • $\bf{A}\bigodot\bf{B}$ 로 표기
  • 일차 연립 방정식을 행렬과 벡터로 표현 가능
    • $\bf{A}\bf{x} = \bf{b}$ —– (eq 2.11)
    • 여기서 $\bf{A}\in\mathbb{ R }^{m \times n}$ 은 알려진 행렬, $\bf{b}\in\mathbb{ R }^m$은 알려진 벡터, 그리고 $\bf{x}\in\mathbb{ R }^n$은 방정식을 풀어서 알아내고자 하는 미지수들로 이루어진 벡터이다.

2.3 단위행렬과 역행렬

  • eq 2.11을 해석적으로 풀 수있는 강력한 수단이 있는데 고것이 역행렬!
  • 먼저 단위행렬 부터 알아보자

2.3.1 단위 행렬

  • 단위행렬은 그것에 어떤 벡터를 곱해도 원래의 벡터가 그대로 나오는 행렬
  • 주대각 성분들만 1이고 다른 모든 성분은 0

2.3.2 역행렬

  • 행렬 $\bf{A}$의 역행렬을 $\bf{A}^{-1}$로 표기
  • 다음과 같이 정의 : $\bf{A}^{-1}\bf{A} = \bf{I}_n$
  • eq 2.11은 이제 다음과 같이 풀 수 있다

\(\bf{Ax} = \bf{b}\) \(\bf{A}^{-1}\bf{Ax} = \bf{A}^{-1}\bf{b}\) \(\bf{I}_n\bf{x} = \bf{A}^{-1}\bf{b}\) \(\bf{x} = \bf{A}^{-1}\bf{b}\)

  • 물론 요론 계산은 $\bf{A}^{-1}$를 구할 수 있을때만 가능
  • $\bf{A}^{-1}$가 존재한다고 할 때, 그것의 닫힌 형식을 구하는 알고리즘이 여러 개 있다.
    • 같은 역행렬을 서로 다른 $\bf{b}$에 대해 사용해서 방정식을 여러번 풀 수 있음, 이론적으로
    • 그러나 $\bf{A}^{-1}$는 이론상의 도구로 유용할 뿐!
    • 컴퓨터는 $\bf{A}^{-1}$을 제한된 정밀도(부동소수점 표현)으로 표현하므로 대체로 $\bf{b}$의 값들을 활용하는 알고리즘들이 $\bf{x}$를 좀 더 정확하게 추정할 수 있다

2.4 일차종속과 생성공간

  • $\bf{A}^{-1}$이 존재하려면, 모든 $\bf{b}$값에 대해 eq 2.11에 정확히 하나의 해가 있어야 한다.
  • 일부 $\bf{b}$값에 대해서는 해가 하나도 없거나 무한히 많아도 역행렬이 존재할 수 있다
  • 그러나 특정 $\bf{b}$에 대해 해의 개수가 둘 이상, 무한대 미만인 경우가 있어서는 안된다.
  • $\bf{x}$와 $\bf{y}$가 둘 다 유효한 해라고 할 때, 임의의 실수 $\alpha$에 대해 아래의 해도 유효한 해이다. \(\bf{z} = \alpha\bf{x} + (1-\alpha)\bf{y}\)

Comments