Machine Learning

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

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

    역행렬(Inverse Matrix) 이란 무엇인가? Numpy, TensorFlow, PyTorch 에서 계산 방법 알아보기

    역행렬이란?$\mathbf{X}$에 대한 역행렬(inverse matrix)은 정사각 행렬 $\mathbf{X}$와 곱했을 때 단위 행렬(Identity Matrix)가 되는 행렬을 말한다. $\mathbf{X}$에 대한 역행렬은 $\mathbf{X}^{-1}$로 표현되며, 수식으로는 다음과 같이 표현된다. $\mathbf{X} \cdot \mathbf{X}^{-1} = \mathbf{X}^{-1} \cdot \mathbf{X} = \mathbf{I}$ 역행렬의 존재 여부 판단하기역행렬은 원래의 행렬과 곱했을 때 단위 행렬이어야 하므로, 행과 열의 개수가 같은 정사각 행렬이어야 한다. 또 다른 조건은 행렬식(Determinant)이 0이 아닌 값이어야 한다.   역행렬 계산 방식1. 행렬식과 수반 행렬..

    대칭 행렬(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..