Matrix Completion {: .align-center width="50%"} 행렬에서의 결측치(missing data) 문제는 최근 데이터사이언스 분야에서 중요한 화두이다. 특히 Netflix, Youtube 등의 알고리즘 기반 미디어 플랫폼들이 등장하며 사용자에게 적합한 미디어를 추천해주는 알고리즘이 중요해졌다. 추천 알고리즘의 큰 비중을 차지하는 협업 필터링(Collabor...
2023. 8. 7.4 min read
Matrix Completion
행렬에서의 결측치(missing data) 문제는 최근 데이터사이언스 분야에서 중요한 화두이다. 특히 Netflix, Youtube 등의 알고리즘 기반 미디어 플랫폼들이 등장하며 사용자에게 적합한 미디어를 추천해주는 알고리즘이 중요해졌다. 추천 알고리즘의 큰 비중을 차지하는 협업 필터링(Collaborative Filtering) 같은 대부분의 추천 시스템은 결과적으로 행렬에서의 결측치 추정으로 귀결된다. 각 사용자들을 행으로, 각 미디어(혹은 상품)을 열로 하는 행렬을 구성한 뒤, 각 행렬의 성분을 추정하는 문제의 일종이기 때문이다(위 그림).
일반적인 행렬에서는 결측치의 추정이 매우 어렵다. 그러나 행렬의 저차원 구조를 어느정도 가정한다면, 혹은 행렬의 계수를 낮게 가정한다면 적은 수의 latent factor들을 기반으로 추정이 가능해지는데, 이런 원리를 이용해 협업 필터링 등의 알고리즘이 가능한 것이다. 이번 글에서는 행렬의 결측치를 spectral analysis 방법으로 추정하는 내용을 다루어보도록 하겠다.
Problem Formulation
결측치를 추정해야 할 행렬이 M⋆∈Rn1×n2 으로 주어진다고 하자. 또한, 행렬에 대한 특이값분해를 다음과 같이 가정하자.
M⋆=U⋆Σ⋆V⋆T
또한, 행렬 M⋆ 의 condition number라는 새로운 모수를 다음과 같이 정의하자.
κ:=σr(M⋆)σ1(M⋆)
이때 σi 는 행렬의 i 번째(로 큰) 특이값을 의미한다. 이제, 각 성분의 결측여부를 파악하기 위해 index set Ω⊂{1,…,n1}×{1,…,n2} 를 정의하는데, 행렬의 각 성분 Mi,j⋆ 가 관측된 것은 (i,j)∈Ω 와 동치이다.
Random sampling
행렬 M⋆ 의 추정을 위해 다음과 같은 가정이 필요하다.
Assumption 행렬의 각 성분 Mi,j⋆ 는 서로 독립적으로, 확률 0<p<1 로 관측된다. 즉,
P((i,j)∈Ω)=p
이다.
이러한 가정하에서, 행렬의 전체 기대관측수를 pn1n2 로 생각할 수 있다.
Incoherence condition
앞선 random sampling 가정이 이루어져도, 다음과 같은 경우에는 효과적인 결측치 추정이 이루어지지 못한다.
M⋆=10⋮000⋮0⋯⋯⋱⋯00⋮0
여기서 M⋆은 계수가 1인, (1,1)만 0이 아닌 행렬이다. 이 경우 만일 p=o(1) 로 설정하면(ex. p=n1n21) 행렬의 크기가 커질수록 첫번째 성분 M1,1⋆ 를 참값 1로 추정할 확률이 0에 수렴하게 된다(1−p→0 as n↑). 이러한 문제를 해결하기 위해 다음과 같은 새로운 파라미터를 설정한다.
Incoherence parameter
행렬 M⋆의 Incoherence paramter μ 는 다음과 같이 정의된다.
μ:=max{rn1∥U⋆∥2,∞2,rn2∥V⋆∥2,∞2}
여기서 노음 ∥⋅∥2,∞ 는 maxi=1,…,n1∥Ai,⋅∥2 를 의미한다(행벡터의 최대 2-norm). 또한, frobenius norm, spectral norm, L2,∞ norm에 대해 다음 관계가 성립하므로