데이터 분석

[데이터 분석] 특이값 분해(SVD)와 비음수 분해(NMF)

east2virus 2023. 5. 21. 21:11

SVD (특이값 분해)와 NMF (비음수 행렬 분해)는 차원 축소 및 데이터 압축에 사용되는 두 가지 행렬 분해 기법입니다.

 

  • 특이값 분해 (Singular Value Decomposition, SVD):
    SVD는 임의의 행렬을 세 개의 행렬의 곱으로 분해하는 기법입니다. 주어진 행렬 A의 SVD는 다음과 같이 표현됩니다:
    A = UΣV^T
    여기서 U와 V는 직교 행렬이고, Σ는 대각 성분만을 가지는 대각 행렬입니다. U의 열 벡터는 A의 왼쪽 특이벡터, V의 열 벡터는 A의 오른쪽 특이벡터이며, Σ의 대각 성분은 A의 특이값입니다. 특이값은 A의 중요도를 나타내며, 중요한 특이값일수록 데이터의 분산을 잘 설명합니다. SVD는 차원 축소, 행렬 근사, 이미지 압축 등 다양한 분야에서 활용됩니다.
  • 비음수 행렬 분해 (Non-Negative Matrix Factorization, NMF):
    NMF는 주어진 비음수 행렬을 두 개의 비음수 행렬의 곱으로 분해하는 기법입니다. 일반적으로 NMF는 데이터의 비음수성 (모든 원소가 0 이상인)을 가정하고, 양수의 요소들로 구성된 특성 벡터를 찾는 데 사용됩니다. NMF는 텍스트 마이닝, 음성 처리, 이미지 처리 등에서 특징 추출이나 토픽 모델링과 같은 문제에 적용됩니다. NMF의 수식적인 표현은 다음과 같습니다:
    V ≈ W × H
    여기서 V는 원본 행렬, W는 특징 벡터로 구성된 기저 벡터 행렬, H는 특징 벡터들의 선형 조합으로 구성된 가중치 행렬입니다. NMF는 기저 벡터와 가중치 행렬을 찾아 원본 데이터를 근사적으로 재구성하는 것을 목표로 합니다. 이때, W와 H는 비음수성 제약 조건을 만족하여 원본 데이터를 비음수로 잘 설명하는 특징들을 추출하게 됩니다.

SVD와 NMF는 모두 차원 축소와 데이터 분석에 사용되는 유용한 기법입니다. 각각의 특성과 응용 분야에 따라 적용됩니다.

 

SVD는 데이터 압축, 잠재 의미 분석, 잡음 제거, 추천 시스템 등 다양한 응용 분야에서 사용됩니다. 특이값은 데이터의 중요성을 나타내는데, 특이값의 크기에 따라 데이터의 분산을 설명할 수 있는 차원을 선택하거나, 중요한 특성을 추출하는 데 사용할 수 있습니다.

 

NMF는 비음수성을 가정하고 주어진 비음수 행렬을 두 개의 비음수 행렬로 분해합니다. NMF는 텍스트 마이닝, 음성 처리, 이미지 처리, 커뮤니티 탐색 등 다양한 분야에서 활용됩니다. 예를 들어, 텍스트 데이터에서 단어의 토픽을 추출하거나, 이미지 데이터에서 특징을 추출하는 데에 활용됩니다. NMF는 비음수성 제약을 통해 결과를 해석하기 쉽게 만들어주고, 잠재적인 패턴이나 구조를 발견하는 데 도움을 줄 수 있습니다.

 

각각의 기법은 데이터 분석과 차원 축소를 위한 도구로써 서로 보완적인 특징을 가지고 있습니다. 선택은 응용 분야와 문제의 특성에 따라 달라질 수 있으며, 특정 상황에서는 두 기법을 함께 사용하기도 합니다.

 


SVD를 다루는 다양한 논문들이 있습니다. 아래에 몇 가지 관련 논문을 소개합니다:

 

  • "Finding Structure with Randomness: Probabilistic Algorithms for Constructing Approximate Matrix Decompositions" (N. Halko, P. G. Martinsson, J. A. Tropp, 2009)
    이 논문은 SVD의 계산 복잡성을 해결하기 위한 확률적 행렬 분해 기법인 "randomized SVD"를 제안합니다. 이 방법은 큰 규모의 행렬에 대해 효율적인 근사 SVD를 계산하는 방법을 제시하였습니다.
  • "A Tutorial on Principal Component Analysis" (J. Shlens, 2005)
    이 논문은 주성분 분석 (Principal Component Analysis, PCA)에 대한 튜토리얼로서, PCA와 SVD의 관계와 응용에 대해 설명합니다. PCA는 SVD를 기반으로 하여 데이터의 차원 축소와 주성분 추출을 수행하는 방법입니다.
  • "Fast Randomized Singular Value Decomposition" (N. Halko, P. G. Martinsson, Y. Shkolnisky, M. Tygert, 2011)
    이 논문은 행렬의 SVD를 효율적으로 계산하기 위한 빠른 랜덤화 SVD 알고리즘을 제안합니다. 이 알고리즘은 큰 행렬에 대해 SVD를 근사적으로 계산하는 데 있어서 높은 계산 효율성을 보입니다.
  • "A Tutorial on Spectral Clustering" (U. von Luxburg, 2007)
    이 논문은 스펙트럴 클러스터링에 대한 튜토리얼로서, 스펙트럴 클러스터링이 SVD와 밀접한 관련이 있다는 것을 설명합니다. 스펙트럴 클러스터링은 데이터의 유사성 그래프를 통해 클러스터링을 수행하는 알고리즘으로, SVD를 활용하여 클러스터링 결과를 얻을 수 있습니다.

 

 

위의 논문들은 SVD에 대한 다양한 측면과 응용 분야를 다루고 있습니다. 관심 있는 주제에 따라 해당 논문을 참고하여 더 자세한 내용을 알아보실 수 있습니다.


NMF (비음수 행렬 분해)에 관련된 다양한 논문들이 있습니다. 아래에 몇 가지 관련 논문을 소개합니다:

 

  • "Algorithms for Non-negative Matrix Factorization" (D. D. Lee, H. S. Seung, 2001)
    이 논문은 NMF에 대한 초기 연구를 제시한 중요한 논문입니다. 이 논문에서는 NMF의 개념과 수학적 배경을 제시하고, 알고리즘 및 응용 사례에 대해 다룹니다.
  • "Non-Negative Matrix Factorization with Sparseness Constraints" (J. A. Tropp, A. C. Gilbert, 2007)
    이 논문은 NMF에 희소성 제약 조건을 추가하여 행렬 분해의 성능을 향상시키는 방법을 제안합니다. 희소성은 NMF 결과의 특징 벡터들이 대부분의 원소가 0인 희소 벡터로 표현되도록 유도합니다.
  • "Learning the Parts of Objects by Non-negative Matrix Factorization" (D. D. Lee, H. S. Seung, 1999)
    이 논문은 NMF를 사용하여 이미지에서 객체의 부분을 학습하는 방법을 제안합니다. 이를 통해 이미지 데이터의 특징 추출 및 객체 인식에 NMF를 적용하는 방법을 탐구하였습니다.
  • "Non-negative Matrix Factorization for Audio Classification and Clustering" (D. D. Lee, H. S. Seung, 1999)
    이 논문은 음악 및 오디오 데이터에 NMF를 적용하여 분류 및 클러스터링 문제를 해결하는 방법을 소개합니다. 음악 장르, 악기 인식, 화자 분리 등 다양한 음악 및 오디오 처리 응용에 NMF를 활용합니다.

 

 

위의 논문들은 NMF에 대한 기본 개념, 알고리즘, 확장 및 응용에 관한 중요한 작업들을 다루고 있습니다. 관심 있는 주제에 따라 해당 논문들을 참고하여 더 자세한 내용을 알아보실 수 있습니다.