특이값 분해

    특이값 분해(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)로 구성돼 직교 행렬..