대칭 행렬(Symmetric Matrix)와 단위 행렬(Identity Matrix) 한 번에 정리하기: Numpy, TensorFlow, PyTorch 사용해 단위 행렬 만들기
·
Machine Learning Math/Linear Algebra
대칭 행렬대칭 행렬(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 계산법 알아보기
·
Machine Learning Math/Linear Algebra
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에서의 사용법 정리
·
Machine Learning Math/Linear Algebra
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)
·
Machine Learning Math/Linear Algebra
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 에서 사용하기
·
Machine Learning Math/Linear Algebra
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이다. 장점벡터의 실제 물리적 길이를 나타내므로 직관적이다..