[Boostcamp AI Tech] AI Math 2강

이성범·2022년 1월 17일
0

Boostcamp AI Tech

목록 보기
2/49

행렬이 뭔가요?

이번 장에서는 행렬에 대하여 학습을 진행했다. 행렬은 고등학교 이후를 제외하고 정규 수업으로 배웠던 적이 없었는데 이번 강의를 통해서 행렬에 대하여 다시 한번 리마인드할 수 있었고, 내가 알지 못했던 여러 행렬의 특징에 대하여 공부할 수 있어서 정말 좋았다.

00. 공부 내용

  • 행렬의 정의에 대하여 공부
  • 행렬의 연산(덧셈, 뺄셈, 성분곱, 스칼라곱, 곱셈, 내적)에 대하여 공부
  • 역행렬에 대하여 공부 (유사역행렬 등)

01. 행렬의 정의

  • 행렬은 벡터를 원소로 가지는 2차원 배열이다.
  • 행렬은 벡터를 원소로 가지기 때문에 여러 점들을 나타낸다. (여기서 점은 하나의 데이터로 볼 수 있음)
  • 행렬은 row와 column을 index로 가진다.
  • 행렬은 벡터 공간에서 사용되는 하나의 연산자(operator)로 이해할 수 있다.(딥러닝에서 하나의 Layer가 행렬이라고 볼 수 있음)
  • 그러므로 행렬곱을 통해서 벡터를 다른 차원의 공간으로 보낼 수 있다.
  • 따라서 행렬곱을 통해 패턴을 추출하고, 데이터를 압축할 수 있다. (즉, 신경망에서의 Layer는 계속 새로운 공간을 찾아가며, 데이터를 표현할 수 있는 최적의 공간을 찾아가는 과정이라고도 이해할 수 있을 것이다.)

02. 행렬의 연산

  • 두 행렬이 서로 모양이 같다면 덧셈, 뺄셈, 성분곱(동일한 인덱스의 원소끼리 곱하는 것) 계산이 가능하다.
  • 스칼라 곱은 행렬의 모든 원소에 스칼라 값을 곱하는 것이다.
  • 따라서 행렬의 덧셈, 뺄셈, 성분곱, 스칼라 곱의 아웃풋 행렬의 크기는 인풋 행렬의 크기와 동일하다.
  • 행렬의 곱은 i번째 행벡터와 j번째 열벡터 사이의 내적을 성분을 가지는 행렬을 구하는 과정이다. (XY의 행렬곱을 구한다면 X의 열의 개수와 Y의 행의 개수가 동일해야함, n x m 행렬과 m x t 행렬의 내적은 n x t 행렬이 됨)

  • 행렬의 내적은 i번째 행벡터와 j번째 행벡터 사이의 내적을 성분을 가지는 행렬을 구하는 과정이다. (XY의 내적을 구한다면 X의 열의 개수와 Y의 열의 개수가 동일해야함, n x m 행렬과 t x m 행렬의 내적은 n x t 행렬이 됨)

03. 역행렬

  • 어떤 행렬 A의 연산을 거꾸로 되돌리는 행렬을 역행렬이라 부르며, 역행렬은 행과 열의 숫자가 같고 행렬식이 0이 아닌 경우에만 계산할 수 있다. 또한 행렬 A와 행렬 A의 역행렬을 서로 곱하면 항등 행렬이 나오게 된다.
  • 만약에 역행렬을 계산할 수 없다면 유사역행렬(pseudo-inverse) 또는 무어-펜로즈(Moore-Penrose)역행렬을 이용해 역행렬을 구할 수 있다.

  • 역행렬을 이용하면 연립방정식의 해 또한 구할 수 있는데, n <= m 인 경우에는 하나의 해가 존재하며, 반대의 경우에는 무수히 많은 해가 존재할 수 있다. 따라서 n과 m의 조건에 따라 계산하는 방식의 차이가 발생하는 것이다.
profile
Machine Learning Engineer at Konan Technology

0개의 댓글