티스토리 뷰

728x90
반응형

목차

     

     

    Introduction

     

    특이값 분해(SVD, Singular Value Decomposition)는 행렬을 특정한 방식으로 분해하는 강력한 수학적 도구이다. 

     

    이 방법은 데이터의 구조를 이해하고, 중요한 정보를 추출하는 데 매우 유용하다. 

     

    이 글에서는 SVD의 기본적인 개념을 설명하고, 이를 좌/우 특이 벡터와 특이값에 적용하는 방법, 

     

    그리고 이 모든 것이 머신러닝과 딥러닝 분야에 어떻게 활용될 수 있는지를 소개해 보겠다.

     

    Singular Value Decomposition

     

    특이값 분해란, 어떤 $m \times n$ 크기의 실수 행렬 $A$를 세 개의 행렬 $U, Σ, V^T$의 곱으로 나타내는 것을 말한다. 

     

    여기서 $U$는 $m \times m$ 크기의 orthogonal 행렬, $V$는 $n \times n$ 크기의 orthogonal 행렬이며, 

     

    $Σ$는 $m \times n$ 크기의 대각 행렬이다. 

     

    이 대각 행렬 $Σ$의 대각선 상에 위치한 값들이 바로 특이값들이며, 

     

    이들은 $σ_1 ≥ σ_2 ≥… ≥ σ_g (g = min(m, n))$의 순서를 따른다. 

     

    이렇게 분해된 행렬들은 $A$의 중요한 성질들을 나타내며, 데이터 분석과 처리에 매우 중요한 역할을 한다.

     

    Singular Vectors and Singular Values

     

    특이값 분해에서 $U$의 열 벡터들은 $A$의 '좌 특이 벡터', $V$의 열 벡터들은 $A$의 '우 특이 벡터'라고 불린다. 

     

    이들은 $A$의 데이터 구조를 나타내는 데 중요한 역할을 한다. 

     

    $Σ$의 대각선에 위치한 값들, 즉 특이값들은 원래 행렬 $A$의 데이터가 얼마나 '퍼져 있는지'를 나타내는 지표로 사용된다. 

     

    높은 특이값은 데이터의 중요한 부분을, 낮은 특이값은 덜 중요한 부분을 나타내며, 

     

    이를 통해 데이터의 중요한 특성을 파악하고 압축할 수 있다.

     

    Properties of Singular Value Decomposition

     

    특이값 분해는 $A$의 크기와 상관없이 항상 가능하며, $A$의 각 특이값은 항상 $0$ 이상의 값이다.

     

    $AA^T = UΛ_uUT, AT A= VΛ_vVT$로 나타낼 수 있으며,

     

    $ΣΣ^T = Λ_u, Σ^TΣ = Λ_v$라고 할 때 각 $σ_i$는 $\sqrt λ_i$와 동일하다. 

     

    이 성질은 데이터의 분산과 밀접하게 연관되어 있으며, 이를 통해 데이터의 중요도를 평가하는 데 중요한 정보를 제공한다.

     

    ML/DL

     

    SVD는 머신러닝과 딥러닝에서 다양하게 활용된다. 

     

    예를 들어, 이미지 처리에서는 이미지를 특이값 분해하여 중요한 정보만을 추출하고 나머지는 생략함으로써 

     

    데이터를 압축하고 잡음을 제거할 수 있다. 

     

    또한, 자연어 처리에서는 단어-문맥 행렬에 SVD를 적용하여 단어의 의미를 추출하는 데 사용된다. 

     

    추천 시스템에서도 사용자와 아이템 간의 상호작용을 행렬로 나타내고 이를 분해함으로써 

     

    사용자의 취향을 예측하는 데 중요한 역할을 한다.

    반응형
    댓글
    공지사항
    최근에 올라온 글
    최근에 달린 댓글
    Total
    Today
    Yesterday
    링크
    «   2024/11   »
    1 2
    3 4 5 6 7 8 9
    10 11 12 13 14 15 16
    17 18 19 20 21 22 23
    24 25 26 27 28 29 30
    글 보관함