numpy

    대칭 행렬(Symmetric Matrix)와 단위 행렬(Identity Matrix) 한 번에 정리하기: Numpy, TensorFlow, PyTorch 사용해 단위 행렬 만들기

    대칭 행렬대칭 행렬(Symmetric Matrix)은 전치 행렬((Tranposed Matrix)과 원래 행렬이 같은 행렬을 의미한다. 즉, 행렬 $X$가 대칭 행렬이라면 $X = X^T$가 성립한다. 행렬이 Transpose 되었을 때 동일하기 때문에, $x_{ij}$와 $x_{ji}$의 원소가 같다.  대칭 행렬은 다음과 같은 모양을 갖는다.  $X = \begin{bmatrix}x_{11} & x_{12} & x_{13} \\x_{12} & x_{22} & x_{23} \\x_{13} & x_{23} & x_{33}\end{bmatrix}$ Identity Matrix (단위 행렬)단위 행렬은 대각선 원소가 모두 1이고, 나머지 원소는 모두 0인 정사각 행렬이다. 단위 행렬은 보통 $I$로 표기되며..

    Frobenius Norm 이란 무엇인가? Numpy, TensorFlow, PyTorch에서의 Frobenius Norm 계산법 알아보기

    Frobenius Norm 이란 무엇인가? Numpy, TensorFlow, PyTorch에서의 Frobenius Norm 계산법 알아보기

    Frobenius Norm 이란 무엇인가?Frobenius Norm은 행렬의 크기를 측정하는데 사용하는 Norm으로 행렬의 모든 원소를 제곱한 값을 합한 다음 제곱근을 한 값으로 정의된다. 벡터의 L2 Norm(유클리드 놈)을 행렬에 적용한 형태이다. 수식은 다음과 같다. $$\| X \|_F = \sqrt{\sum_{i=1}^{m} \sum_{j=1}^{n} |x_{ij}|^2}$$ 예를 들어 다음과 같은 행렬이 주어 졌을 때 $A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix}$ Frobenius Norm은 다음과 같이 계산된다. $\| A \|_F = \sqrt{1^2 + 2^2 + 3^2 + 4^2 + 5^2 + 6^2} = \sqrt{1 + 4 ..

    Tensor 사칙 연산, 아다마르 곱셈(Hadamard Product) 한 번에 정리하기: Numpy, TensorFlow, PyTorch에서의 사용법 정리

    Tensor의 연산머신러닝을 하기 위해서는 Tensor에 대한 여러 연산을 수없이 해야 하기 때문에, Tensor의 기본 사칙연산과 아다마르 곱셈(hadamard product)을 이해하는 것은 중요하다. 이곳에서는 Tensor에서의 사칙 연산(더하기, 빼기, 곱하기, 나누기)에 대해 알아보고, 아다마르(Hadamard Product) 연산까지도 알아본다. 더하기 연산과 빼기 연산Tensor는 기본적으로 더하기와 빼기 연산이 지원된다. 더하기 연산은 다음과 같이 같은 위치의 원소를 더하는 방식으로 진행된다. $\mathbf{a} + \mathbf{b} = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{b..

    L2 Norm과 Unit Vector 알아보기 : Numpy, TensorFlow, PyTorch의 Norm 연산과 Unit Vector

    L2 Norm과 Unit Vector 알아보기 : Numpy, TensorFlow, PyTorch의 Norm 연산과 Unit Vector

    Vector와 L2 NormVector는 크기와 방향을 표현하는 데이터이다. 예를 들어 $[3,4]$ 라는 Vector가 있다면 이 값은 $[0,0]$을 기준으로 가로 방향으로 3만큼 세로 방향으로 4만큼 이동한 것을 나타낸다. 이러한 Vector 값의 크기값만을 수치화 하기 위한 것이 바로 Norm이며, Norm에는 L1 Norm, L2 Norm, Maximum Norm 등의 종류가 있다. 하지만, 가장 많이 사용되는 Norm은 L2 Norm이며 L2 Norm은 다음과 같은 수식으로 표현된다. $\| \mathbf{x} \|_2 = \sqrt{\sum_{i=1}^{n} x_i^2}$ L2 Norm을 사용해 Vector의 크기 값만을 계산하는 것은 어렵지 않다. 단순히 각 인자를 제곱해 더한 후 마지막에..

    벡터 전치(Vector Transposition) 알아보기: Tensorflow, Pytorch, Numpy

    벡터 전치(Vector Transposition) 알아보기: Tensorflow, Pytorch, Numpy

    벡터 전치(Vector Transposition)란 무엇인가?벡터 전치(vector transposition)는 벡터의 행과 열을 교환하는 연산이다. 특정 벡터 $\mathbf{v}$ 가 있다고 했을 때 이 벡터에 대한 전치 연산은 $\mathbf{v}^T$ 로 표현되며, 행 벡터를 열 벡터로 바꿀 때 자주 사용된다. 행 벡터 (Row Vector): $\mathbf{v} = \begin{bmatrix} v_1 & v_2 & v_3 & \cdots & v_n \end{bmatrix}$열 벡터 (Column Vector): $\mathbf{v}^T = \begin{bmatrix} v_1 \\ v_2 \\ v_3 \\ \vdots \\ v_n \end{bmatrix}$ 벡터 전치가 일어나면, 행과 열이 교..