2022. 2. 23. 00:40ㆍ인공지능/심층학습(Deep Learning) 책
12월 정도부터 Ian GoodFellow와 Yoshua Bengio의 Deep Learning이라는 책을 가지고 스터디를 하고 있는데, 난이도가 어느 정도 있는 편이라 차근 차근 정리를 해 나가려고 한다. 본인도 챕터가 지나면 지날 수록 이해가 안가거나 어려운 부분이 있으니 만약 내용이 틀렸거나 수정해야 할 부분이 있다면 댓글로 달아주길 바란다. 또한, 모르는 부분에 있어서는 글로 남겨두고 여러 사람들과 이에 대해 토론할 수 있었으면 좋겠다는 생각이 든다..ㅎㅎ

선형 대수와 확률 통계는 머신러닝과 딥러닝을 이해하는 데 있어서 중요한 도구로 많이 쓰인다. 이러한 학문의 범위는 매우 넓지만 이 책에서는 딥러닝에 필요한 부분만을 추려서 소개한다.
1. Scalars, Vectors, Matrices and Tensors

- Scalars: 하나의 수(ex. 100)
- Vectors: 수들의 집합(ex. [1, 2, 3, 4, 5])
- Matrices: 수들의 2차원 배열(ex. [[1, 2],[3,4], [5,6]])
- Tensors: 수들의 고차원 배열
1.1 Transpose

Transpose는 중요한 operation 중 하나로, diagonal line(dashed line in figure 1)을 중심으로 matrix를 뒤집는 연산이다. 말로만 들으면 어렵지만 결국 행 index와 열 index를 바꾸어주는 것이다.
Vector는 한 column만을 가지는 matrix라고 생각할 수 있고, 이의 Transpose는 하나의 row만을 가지는 matrix가 된다. 기본적으로 vector는 열 벡터이기 때문에 다음과 같이 행 벡터와 transpose를 사용하여 표현한다.
Scalar는 하나의 entry만을 가지는 matrix라고 생각할 수 있고, 이의 transpose는 그냥 그 entry가 된다.
1.2 Add and Multiply
Matrix는 서로 간 element-wise add가 가능하다. 이를 식으로 나타내면,
**i와 j는 각 행과 열의 index를 나타낸다.
Scalar는 Matrix와 element-wise add 및 element-wise multiplication이 가능하다. 이를 식으로 나타내면,
2. Multiplying Matrcies and Vectors
두 matrix간 곱은 가장 많이 쓰이는 연산 중 하나이다. 이는 matrix product라 하고, m x n 행렬 A와 n x p 행렬 B의 matrix product는 m x p 행렬 C가 된다. 이때, A의 열 차원과 B의 행 차원은 무조건 같아야 성립한다.
**위의 product 연산과 다르게 element-wise multiplication을 사용해야 될 때도 있다. 이럴 때의 행렬 곱을 element-wise product 또는 Hadamard product라고 부르고, 이를
matrix product의 자세한 예는 다음 위키를 참조하길 바란다.
https://en.wikipedia.org/wiki/Matrix_multiplication
Matrix multiplication - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search Mathematical operation in linear algebra For matrix multiplication, the number of columns in the first matrix must be equal to the number of rows in the second matrix. The result matri
en.wikipedia.org
Matrix Product는 많은 유용한 특성을 가진다.
- Distributive: A(B+C) = AB + AC
- Associative: A(BC) = (AB)C
- Commutative: matrix는 commutative가 성립되지 않는다(
), 하지만 vector의 경우는 commutative가 성립한다(AB≠BA )xTy=yTx - Transpose of matrix product:
(AB)T=BTAT
추가로 Vector product의 transpose의 경우, column vector와 row vector의 product는 scalar이기 때문에 기존과 같다.
2.1 Linear Equation
Linear Equation는 matrix A와 vector x의 dot product로 이루어진다.
**
이를 더 자세히 표현하면,
3. Identity and Inverse Matrices
Identity matrix

Identity matrix는 어떠한 vector와 곱해지더라도 값이 변하지 않는 matrix를 말한다.
matrix는 diagonal entries는 모두 1이고 그 외 entries는 모두 0의 값을 가진다.
Inverse Matrix
inverse matrix는 다음으로 정의할 수 있다.
즉, 원래 matrix와 곱해졌을 때 identity matrix가 되는 matrix를 말한다. 이 matrix inversion을 사용해서 이전의 linear equation의 해를 구할 수 있다.
물론 이는 inverse matrix인
**작은 matrix는 상관없을 수 있지만, matrix가 커지게 되면
4. Linear Dependence and Span
그 이유는 만약 x와 y가 모두 방정식의 해라고 할 때,
z 또한 모든 실수
이는 다음과 같이 증명할 수 있다.
Linear Combination
얼마나 많은 해가 존재하는지 분석하기 위해서, matrix A를 여러 개의 column vector의 집합으로 생각해볼 수 있다. 이 때 x는 각 vector direction으로 얼마나 이동할지를 나타내는 변수이다.


일반적으로 이러한 operation을 "linear combination" 이라고 부른다.
Span of column vectors
여기서 벡터들의 집합(
**b가 colmun space에 속하지 않으면 해가 존재하지 않을 것이다.
Requirements of having solution

기본적으로 column space가
Linear independence

단,
이러한 redundancy를 "linear dependence"라고 부른다. 반대로 "linearly independent"라는 것은 어떠한 벡터도 다른 벡터들의 linear combination으로 나타내지 못하는 경우를 말한다. 만약 A가 3차원 columns vector를 3개(
또한 matrix가 inverse를 갖기 위해서는,
결국에는 matrix가 square(m=n)이어야 한다는 것이다. square matrix인데 linearly dependent columns를 가지면 "singular", 그렇지 않으면 "non-singular"라고 한다. 만약 A가 square가 아니거나 singular라도 방정식의 해를 찾을 수는 있다. 하지만 matrix inversion이 존재하지 않기 때문에 이를 통해 해를 구할 수는 없게 된다.