Linear Algebra

    무어 펜로즈 유사 역행렬(Moore-Penrose Pseudoinverse) 한 번에 정리하기: Numpy, TensorFlow, PyTorch 사용해 구하는 방법 정리

    무어 펜로즈 유사 역행렬(Moore-Penrose Pseudoinverse) 한 번에 정리하기: Numpy, TensorFlow, PyTorch 사용해 구하는 방법 정리

    무어 펜로즈 유사 역행렬이란 무엇인가?행렬에 대해 역행렬을 구하기 위해서는 행렬이 비특이 행렬(non-singular matrix)이어야 한다. 만약 특이행렬이라면 역행렬이 없기 때문에 역행렬을 구할 수 없다. 역행렬을 구할 수 없는 상황을 해결하기 무어 펜로즈 유사 역행렬이 생겼으며, 어떤 $m \times n$ 행렬 $\mathbf{X}$에 대해 다음 네가지 조건을 만족하는 행렬을 $\mathbf{X}$의 유사역행렬 $\mathbf{X}^+$라 부른다.  1. $\mathbf{X} \mathbf{X}^+ \mathbf{X} = \mathbf{X}$2. $\mathbf{X}^+ \mathbf{X} \mathbf{X}^+ = \mathbf{X}^+$3. $(\mathbf{X} \mathbf{X}^+)^T..

    직교 행렬(Orthogonal Matrix)이란 무엇인가?

    직교 행렬이란?직교 행렬이란 각 행과 열의 크기가 1이고, 각 행 벡터들이 서로 직교하고, 열 벡터들도 서로 직교하는 정사각 행렬이다. 즉, 다음 두가지 조건을 만족하는 행렬이다. 1. 행과 열의 크기가 1이다. 2. 행 벡터들끼리 서로 직교하며, 열 벡터들끼리 서로 직교한다. 직교 벡터(Orthogonal Vector)는 서로 직교하는 벡터이고, 정규 직교 벡터(Orthonormal Vector)는 각 직교하는 벡터들의 크기가 1인 벡터를 뜻하는 것을 생각해보면, 직교 행렬은 정규 직교 벡터(Orthonormal Vector)들을 행렬에 집어 넣은 것과 같다.이름이 정규 직교 행렬(Orthonormal Matrix)이어야 할 것 같은데 직교 행렬(Orthogonal Matrix)라 표현해서 조금 헷갈린..

    가우스 조던 소거법(Gauss-Jordan Elimination) 알아보기

    가우스 조던 소거법이란?가우스 조던 소거법(Gauss-Jordan elimination)은 선형 방정식의 해를 구하거나, 역행렬을 계산하는 데 사용되는 알고리즘이다. 이 방식은 다음 세가지 과정을 반복해 해를 구하는 방식이다.1. 행 교환(Row Exchange): 두 행을 교환하여 주 대각선 요소(pivot element)가 0이 아닌 값이 되도록 한다.2. 스케일링(Scaling): 주 대각선 요소가 1이 되도록 행의 모든 요소를 동일한 값으로 나눕니다.3. 행 덧셈(Row Addition): 다른 행의 요소를 사용하여 주 대각선 요소 외의 열의 모든 요소를 0으로 만듭니다. 각 과정이 어떻게 사용되는지 알아보기 위해 예제를 통해 이해해보자. 가우스 조던 소거법 예제다음과 같은 행렬의 역행렬을 구하기..

    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의 크기 값만을 계산하는 것은 어렵지 않다. 단순히 각 인자를 제곱해 더한 후 마지막에..