성장通

ALS, k-NN, Neural CF 본문

ML&DL/추천시스템

ALS, k-NN, Neural CF

백악기작은펭귄 2024. 3. 31. 23:15

ALS: Alternating Least Square

ALS는 Matrix Factorization 방법 중 하나로, 대규모 데이터셋을 처리할 때 모든 변수를 동시에 최적화하는 대신 한 번에 하나의 변수 세트를 고정하고 다른 변수 세트를 최적화하는 것이다.

 

ALS는 특정 변수 세트를 고정하고 다른 세트를 최적화할 때, 이 최적화 과정을 여러 데이터 분할에 걸쳐 동시에 수행 가능 → 대규모 데이터셋에 대해 효율적인 병렬 처리 가능하다. 이와 같은 능력 덕에, 스케일 아웃이 비교적 용이하다.

 

또한 ALS는 Convex 목적함수 관점에서의 장점도 가진다. ALS에서 고정된 변수에 대해 다른 변수를 최적화할 때, 각 단계에서의 최적화 문제가 Convex 최적화 문제가 되어 Global minima에 도달할 수 있게 된다. Convex 목적함수를 사용함으로써 ALS는 비교적 빠른 수렴 속도를 보일 수 있다(각 iter마다 global minima로 direct하게 나아갈 수 있음). Convex 목적함수를 이용한 최적화 문제는 이해 및 구현이 쉬워 다양한 환경과 시스템에 적용하기 쉽기 때문에 큰 강점이 될 수 있다.


k-NN

유저와 아이템의 관계를 바탕으로 유저 간의 관계(거리)를 알 수 있게 된다

  • 사용자 기반 / 아이템 기반 협업 필터링
  • SVD, ALS 등 잠재요인 모델
  • Community detection, Centrality Analysis

Neural CF

NCF는 전통적인 행렬 분해와 다르게, 사용자와 아이템의 상호작용을 신경망을 통해 비선형적으로 모델링한다. NCF는 Generalized Matrix Factorization (GMF)과 Multi-Layer Perceptron (MLP)을 결합하여 사용자와 아이템 간의 복잡한 관계와 패턴을 학습한다. GMF는 사용자와 아이템의 임베딩을 요소별 곱(element-wise product)을 통해 결합하며 MLP는 사용자와 아이템의 임베딩을 결합한 후, 여러 개의 은닉층을 통해 비선형적인 특징을 추출하게 된다. 최종적으로 이 두 구성요소를 결합하여 최종 예측을 수행한다.

 

Auto-encoder 기반 CF

Autoencoder는 입력 데이터를 압축한 후 다시 복원하는 과정을 통해 데이터의 중요한 특징을 학습하는 신경망이다. CF에 Autoencoder를 적용할 때는 사용자-아이템 행렬이나 사용자 또는 아이템의 특성 행렬을 입력으로 사용한다. 이 과정에서 모델은 사용자의 선호도 패턴을 잠재적 특징으로 압축하고, 이를 기반으로 사용자 또는 아이템의 복원된 선호도를 예측한다.

 

  • Collaborative Denoising Autoencoders (CDAE): 사용자-아이템 상호작용에 노이즈를 추가한 후, 이를 복원하도록 학습

 

CNN 기반 CF

사용자-아이템 상호작용 행렬을 이미지로 간주하고 분석하여 사용자 간의 관계나 아이템 간의 유사성을 추출할 수 있다. CNN을 사용하면 로컬 패턴과 글로벌 패턴을 모두 학습할 수 있으며, 이는 특히 상호작용 데이터가 시각적 또는 순차적 패턴을 가질 때 유용하다.

 

RNN 기반 CF

시퀀스 데이터를 처리하는 데 특화된 RNN을 사용하여 사용자의 행동 시퀀스나 시간에 따른 아이템의 인기도 변화 등을 모델링할 수 있다. 이 방법은 주로 시간적 동향을 반영한 추천 시스템을 구축하는 데 적합하다.

 

NN 기반 방법론의
장점: 개인화된 추천 가능, 복잡한 상호작용 포착 가능, 다양한 유형의 데이터 이용 가능
단점: 복잡성과 리소스 요구사항, 과적합 문제, 해석가능성 문제