Machine Learning Math/Linear Algebra
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..
기저 벡터(Basis Vector)와 직교 벡터(Orthogonal Vector)
Basis VectorBasis Vector(기저 벡터)는 벡터 공간을 생성하는 최소 집합의 벡터들로, 이 벡터들을 선형 결합하여 벡터 공간의 모든 벡터를 표현할 수 있는 벡터를 뜻한다. 예를 들어, 2차원 공간에서는 $[1,0]$ 과 $[0,1]$이 Basis Vector 가 되며, 3차원 공간에서는 $[1,0,0]$, $[0,1,0]$, $[0,0,1]$ 이 Basis Vector가 된다. Numpy에서의 표현import numpy as npi = np.array([1, 0])j = np.array([0, 1]) TensorFlow에서 표현import tensorflow as tfi = tf.Variable([1.0, 0.0])j = tf.Variable([0.0, 1.0]) Pytorch에서의 표..
L1 Norm, L2 Norm, Squared L2 Norm, Infinity Norm 한 번에 정리하기 : Numpy, TensorFlow, PyTorch 에서 사용하기
L1 NormL1 Norm은 벡터의 각 성분의 절대값의 합으로 정의된다. $\| \mathbf{x} \|_1 = \sum_{i=1}^{n} |x_i|$ 예를 들어 $[10,-3,2]$의 L1 Norm은 15이다. 장점L1 Norm은 0과 0이 아닌 값 사이의 차이를 직관적으로 나타낸다. 벡터의 각 성분이 조금이라도 0에서 멀어지면 L1 Norm 값도 바로 변화하기 때문이다. L2 NormL2 Norm은 벡터의 각 원소의 제곱의 합의 제곱근으로 정의된다. 유클리드 거리라고도 불리며, 다음과 같은 수식으로 표현된다. $\| \mathbf{x} \|_2 = \sqrt{\sum_{i=1}^{n} x_i^2}$ 예를 들어 $[3,4]$의 L2 Norm은 5이다. 장점벡터의 실제 물리적 길이를 나타내므로 직관적이다..
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의 크기 값만을 계산하는 것은 어렵지 않다. 단순히 각 인자를 제곱해 더한 후 마지막에..