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