numpy

    무어 펜로즈 유사 역행렬(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..

    특이값 분해(Singular Value Decomposition)란 무엇인가? PyTorch, TensorFlow, Numpy 사용해 특이값 분해하기

    특이값 분해(Singular Value Decomposition)란 무엇인가? PyTorch, TensorFlow, Numpy 사용해 특이값 분해하기

    특이값 분해란 무엇인가?특이값 분해(Singular Value Decomposition, SVD)란 $m x n$ 차원의 행렬을 대각화해 세 개의 행렬로 분해하는 방법이다. 고유값 분해와 비슷하지만, 고유값 분해는 정사각 행렬에만 사용 가능한 반면, 특이값 분해는 직사각 행렬일 때도 사용 가능해 활용도가 높다. 특이값 분해를 수식으로 표현하면 다음과 같다.  $$\mathbf{X} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^T$$ 여기서 각 기호는 다음과 같다.$\mathbf{X}$ : $m \times n$ 행렬.$\mathbf{U}$ : $m \times m$ 정사각 행렬로, $\mathbf{X}$의 좌특이 벡터(Left Singular Vectors)로 구성돼 직교 행렬..

    고윳값 분해(Eigen Decomposition) 란 무엇인가? Numpy, TensorFlow, PyTorch 사용해 고유값 분해 해보기

    고윳값 분해(Eigen Decomposition) 란 무엇인가? Numpy, TensorFlow, PyTorch 사용해 고유값 분해 해보기

    고유값 분해란 무엇인가?고윳값 분해(Eigen Decomposition)는 정방행렬(square matrix)을 고유값(eigenvalues)과 고유벡터(eigenvectors)를 사용해 분해하는 방법이다. 고윳값 분해를 통해 행렬의 구조와 성질을 분석하고 계산을 단순화할 수 있다. 고윳값 분해 수식은 다음과 같다. $$\mathbf{A} = \mathbf{V} \mathbf{\Lambda} \mathbf{V}^{-1}$$ $\mathbf{A}$: n x n 정방행렬$\mathbf{V}$: 고유 벡터를 열벡터로 표현한 행렬$\mathbf{\Lambda}$: 고유값을 대각 행렬로 표현한 행렬 수식을 사용한 고유값 분해이곳에서는 다음 $\mathbf{A}$ 행렬에 대한 고유값 분해를 수행한다. $$\mat..

    고유 벡터(Eigenvector)와 고유 값(Eigenvalue)이란 무엇인가? Numpy, TensorFlow, PyTorch로 고유 벡터 구해보기

    고유 벡터(Eigenvector)와 고유 값(Eigenvalue)이란 무엇인가? Numpy, TensorFlow, PyTorch로 고유 벡터 구해보기

    고유 벡터와 고유값고유 벡터(Eigenvector)는 어떤 선형 변환을 해도 방향이 변하지 않는 벡터를 뜻한다. 즉, 선형 변환에 의해 크기만 변하고 방향은 그대로 유지되는 벡터이다. 고유 값(Eigenvalue)은 고유 벡터가 선형 변환에 의해 변할 때 어느 정도 변했는지 크기를 나타내는 스칼라 값이다. 즉, 선형 변환을 가했을 때, 벡터가 늘어나거나 줄어드는 정도를 뜻한다. 따라서 행렬 $\mathbf{A}$와 고유 벡터 $\mathbf{v}$와 고유 값 $\lambda$가 있다고 하면 다음과 같은 수식이 성립한다. $$\mathbf{A} \mathbf{v} = \lambda \mathbf{v}$$  고유값과 고유 벡터 직접 구해보기이번에는 다음과 같은 행렬에 대한 고유 값과 고유 벡터를 구해보자. ..

    역행렬(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. 행렬식과 수반 행렬..