[딥러닝 이해] 01 스칼라, 벡터, 행렬, 행렬의 곱, 역행렬

1 분 소요

딥러닝을 공부하며 필요한 수학 / 딥러닝 모델들을 정리할 예정입니다. 
학습하고 있는 내용이기에 오류가 있을 수 있습니다. 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 남겨주세요 😄

Scarlars

  • A scalar is a single number(Integers, real numbers, rational numbers)
    • ex. 0.1,1,1.5
import numpy as np
x = np.array(1.5)

Vectors

  • Vector는 scalar의 1-D array임

  • 여기서 R의 뜻은 실수이며, n은 Columns의 수

    image

import numpy as np
x = np.array([1,2,3,4,5])

Matrix

  • matrix는 scalar의 2-D array임

    image

import numpy as np
x = np.array([[1,2,3,4],[5,6,7,8,5],[13,14,15,16]])

image

Tensors

  • Tensors는 여러 차원을 가진 배열

  • 데이터사이언스 분야에서 Matrix는 수학적 차원에서 2차원까지 표현할 수 있는데, 텐서는 3차원 이상의 데이터를 표현한것

  • 주로 3차원 이상을 텐서라고 하지만, 1차원 벡터나 2차원 행렬도 텐서라고 표현함.

  • 따라서 텐서는 0차원의 Scalar, 1차원의 Vector, 2차원의 matrix 혹은 그 이상의 차원을 모두 포함하는 개념이라고 생각하면 된다.( in any dimension)

  • 실제로, 벡터= 1차원 텐서, 행렬 = 2차원 텐서라고 표현함

    img

출처:https://wikidocs.net/52460

import numpy as np
x = np.array([[[1,2,3],[4,5,6],[7,8,9]],[[10,20,30],[40,50,60],[70,80,90]],
[[100,200,300],[400,500,600],[700,800,900]]])

image

Matrix Transpose

행렬은 전치행렬은 주대각선을 축으로 하는 반사 대칭을 가하여 얻는 행렬이다. Notation은 다음과 같음

image

전치행렬은 다음과 같은 성질을 갖는다.

image

Matrix Product

행렬의 곱은 두 행렬 A, B가 각각 m x n, n × r 행렬일 때,

image

행렬곱은 결합법칙과 분배법칙이 성립한다. 하지만 교환법칙은 대부분의 경우 성립하지 않는다. 하지만 두 벡터 사이의 내적(dot product)은 교환법칙이 성립한다.

image

그리고, 두 벡터의 내적은 Scalar이기 때문에, 자기 자신의 전치행렬과 같음.

Hadamard product

  • 일반 행렬곱은 m x n과 n x p의 꼴의 두 행렬을 곱하지만, 아다마르 곱은 같은 크기의 두 행렬의 각 성분을 곱하는 연산임 (m x n 과 m x n 행렬)

3 x 3 아다마르 곱 예시

image

Systems of Equations

systems of equations를 만족하는 x는 3가지 경우가 나옴

1) 솔루션이 없을 수도 있음. 2) 솔루션이 많음 3) 단 하나의 솔루션이 있을 수 있음 -> Ax=b라고 할 때, A^-1(가역)이 존재할때 하나의 솔루션이 있음

Identity Matrix

대각 행렬이 1이고 나머지는 0일때, identiy Matrix라고 함

image

Matrix Inversion

역행렬은 어떤 행렬 A와 곱했을 때, Identiy Matrix가 나오게 하는 행렬을 행렬 A의 역행렬이라고 함

image

  • 이러한 역행렬은 연립방정식의 해를 빠르게 구할 수 있도록 하여, 복잡한 행렬식을 계산해야하는 인공지능 컴퓨터 계산의 핵심 개념임

  • 만약 역행렬이 존재하지 않는 행렬이면 “Singular”라고 함
  • 행렬은 다음과 같은 상황에서 역행렬을 가지지 않는다.
    • More rows than columns
    • More columns than rows
    • Redundant rows/columns(“linearly dependent”,”low rank)