Deep Learning Book - chap 2. Linear Algebra
05 Nov 2018 | deep learning study
chapter 2. 선형 대수
- 상세한 참고 자료는 The Matrix Cookbook(Petersen & Pedersen, 2006)을 추천
- 선형 대수학은 deep learning 공부에 아주 중요한 학문이다….
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}\)
chapter 2. 선형 대수
- 상세한 참고 자료는 The Matrix Cookbook(Petersen & Pedersen, 2006)을 추천
- 선형 대수학은 deep learning 공부에 아주 중요한 학문이다….
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