Skip to content
김동건_T4026 edited this page Feb 13, 2023 · 11 revisions

사용 모델

Popularity

  • 전체 아이템에서 가장 소비가 많았던 아이템들을 모든 유저에 일괄 적용.
  • 베이스라인 : 0.0324
  • 중복 제외 : 0.0673

Collaborative Filtering

  • user, item 인터렉션 데이터만을 이용해 유저, 아이템 혹은 양쪽 모두의 잠재벡터를 구하고, 1. 잠재벡터 끼리의 이웃을 구하는 방법 2. 두 벡터를 내적하거나 선형 변환하여 예측 값을 구하는 방법

  • 데이터 sparsity 가 97% 였기 때문에, 따로 잠재벡터를 구하지 않는 item, user 인터렉션 벡터 그대로 사용하여 user-CF는 비슷한 유저가 소비한 아이템, item-CF 는 특정 유저가 소비한 아이템들과 유사도 가중평균을 이용한다.

  • ItemKNN : lb 0.1079

  • userKNN: lb 0.1144

    • 통상적으로 Item-Item CF 가 성능이 높다고 알려져 있으나, 현재 데이터의 경우 user 의 수가 item 수보다 많기 때문에 user-user CF 가 성능이 더 높았던 것으로 결론지었다.
  • Matrix Factorization: lb 0.1412

    • 음이아닌 정수 행렬 분해를 통해 유저, 아이템 잠재벡터를 구한다.
    • 유저-아이템 CF 계열 중 준수한 성능을 보였다.
  • BPR - MF : lb 0.1207

    • Matrix Factorization 에서 손실 함수를 Bayesian Personalized Ranking 을 이용한다.
    • 각종 논문 등에서 기본 MF 보다 좋은 성능을 내는 것으로 알려져 있지만 현 대회에서는 낮은 sparsity 등의 이유로 MF 보다 낮은 성능을 내었다.

AE

  • 오토인코더 모델을 CF 에 응용한 모델

    • item 기준 인코딩, user 기준 인코딩으로 구분하며 보통 user의 item 기준 인코딩을 수행한다.
    • 디코딩 과정에서 펼쳐지는 레이팅 매트릭스를 통해 예측한다.
    • 기존 MF 모델 들에 비해 robust 한 성능을 내는 것으로 알려져 있다.
    • 여러 SoTA 모델의 기반이 되고 있다.
  • EASE : lb 0.1594

    • 오토인코더 과정을 수식으로 간략화하여 모델보다 알고리즘 처럼 동작한다.
    • SoTA 로 랭크되어 있고 빠르고 정확한 결과를 내었다.
  • MultiVAE : lb 0.1348

    • 생성모델의 일환으로 가우시안 평균, 표준편차를 파라미터로 학습해 디코딩 과정에 추가한다.
    • 로스 계산시에는 softmax 연산을 통해 multinomial 분포의 모수를 추정하여 전달하는 원리를 사용한다.
    • 기본적인 Autorec 보다 우수한 성능을 낸다.

FM

  • DeepFM 0.1135
    • 유저, 아이템의 부가 정보들을 추가로 학습할 수 있는 Factorization Machine 모델에서 신경망 계층이 추가된 모델이다.

    • 이번 대회에서는 아이템의 부가정보(장르, 제목, 연도)를 사용할 수 있었는데, 원하던 만큼의 성능을 보이지 못했다. 유저 측면의 부가정보가 없었기 때문이라 결론지었다. 단, 논문에 따르면 유저가 마지막으로 본 아이템 부가정보를 사용한다면 더 일반적인 성능을 높일 수 있다고 했으나, 대회 특성 상 중간중간 dropout 된 아이템을 예측해야 했기에 큰 성능을 낼거라 기대하지 않았다.

GCN

  • LightGCN : 0.1349

    • 유저와 아이템을 이분 그래프로 표현하여 연결 관계를 학습하는 모델이다. NGCF보다 파라미터를 간소화하여 보다 빠르게 학습이 가능하다.

    • 그러나 실질적으로는 한번 학습을 하는데 11시간이 걸리는 등 지나치게 시간이 많이 소모되어 다양한 튜닝을 진행하지 않았다.

  • UltraGCN

Sequential

  • SASRec : with pretrain using S3Rec, lb 0.08
    • S3rec이 Bert 모델과 비슷한 구조로 임베딩 벡터를 미리 학습하고, 학습된 벡터를 SASrec에 pretrain - finetuning 구조를 이룬다.

    • 유저의 소비 시퀀스 별 마지막 아이템을 예측하는데에 특화되어있으며 뿐만아니라 학습된 잠재벡터를 내적한 값을 이용해 랭킹 추천이 가능하다.

    • SoTA 모델이지만 대회 데이터셋 특성상 단일 모델 기준 높은 성능을 보이지 못했으나 non-sequential 모델과 앙상블 시 높은 성능을 낼 수 있음을 대회 이후 확인하였다.

Untitled 각 모델별 점수 표

Clone this wiki locally