행렬 분해 2

[Linear Algebra] 선형대수학에서의 랭크(Rank)

선형대수학을 다루다보면 랭크(Rank)라는 말을 많이 들어봤을 것이다. 랭크는 열공간(Column Space)의 차원을 의미한다. 일단 이를 이해하기 위해서는 일차독립에 대해서 먼저 알고 있어야 한다. 우리의 최종 목표는 행렬 $\text{A}$에서 행렬 $\text{C}$를 찾는 것이다. 이때의 $\text{C}$의 어떠한 열도 다른 열의 일차결합으로 표현되지 않아야 한다. $\text{A}$를 $\text{C}$로 변환하면서 우리는 랭크를 찾을 수 있다. 이 과정은 아래와 같이 수행된다. $\text{A}$의 1열의 성분에 0이 아닌 것이 존재하면, 이를 행렬 $\text{C}$에 포함한다. $\text{A}$의 2열이 1열에 상수를 곱한 것과 같지 않으면, 이를 $\text{C}$에 포함한다. $\..

Collaborative Filtering for Implicit Feedback Datasets (ICDM'08)

먼저 Alternative Least Squares(ALS)를 이해하기 위해서는 Matrix Factorization(MF)에 대해 어느정도 알고 있어야 가능하다. ALS는 MF와 같이 하나의 모델이 아니라 최적화하는 알고리즘 중 하나다. 우리의 목표는 Latent Factor Matrix를 찾는 것이며, 이를 위해 Loss Function 혹은 Cost Function이라는 하나의 '지표'를 선정한 후 최적화하는 방식으로 접근한다. 이때 최적화를 하는 방법은 Gradient Descent(GD), ALS 등 다양한 알고리즘이 존재하지만 여기에서는 ALS에 대해서만 다룰 것이다. ALS를 제시한 논문에 따르면 분산처리 환경에서 GD보다 더욱 효과적이고, sparse matrix에 robust하면서, Im..

반응형