행렬 분해 2

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

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

1
반응형