# "Recommender System" (1) 커리큘럼

박사 과정 마지막 학기 수강하게된 추천 시스템의

학습 커리큘럼과 관심있는 주요 논문을 정리 기록해 두고자 합니다.




Goals of this Course

  1. CF (Collaborative Filtering) 사용자의 행동 기반으로 추천을 하는 방식.
    1. Neighborhood-based Collaborative Filtering (CF) 사용자나 상품 간 유사도를 기반으로 추천하는 방
      1. 사용자 기반 협업 필터링 (User-based CF):

        • 사용자 간 유사성을 기반으로 추천하는 방식.
      2. 상품 기반 협업 필터링 (Item-based CF):

        • 상품 간 유사성을 기반으로 추천하는 방식.
    2. Model-based Collaborative Filtering  (CF)
      1. Association Rule Mining
      2. Probabilistic Models 
      3. Slope One Predictors
      4. Latent Factor Model
      5. Asymmetric Factor Model
      6. SVD++ 
      7. Evaluating Recommender Models
      8. BPR
      9. LogisticMF
      10. WMF
      11. SLIM
      12. FISM
      13. EASE
      14. Neural Collaborative Filtering (NCF)
      15. Neural Graph Collaborative Filtering (NGCF) and its variants
      16. Autoencoder-based Collaborative Filtering  (CF)
  2. CB (Content-based) Content-based Filtering 
    1. Content-based (CB) Recommendation
  3. Hybrid Recommendation System
    1. Embedding-based Recommendation
      1. Prod2Vec
      2. StarSpace
    2. Factorization Machines
      1. FM
      2. FFM
      3. Wide&Deep
      4. DeepFM
      5. DCN
    3. Sequential Recommender Models
      1. FPMC
      2. FOSSIL
      3. TransRec
      4. SASRec
      5. BERT4Rec
    4. Knowledge-based Recommender Models
      1. CKE
      2. RippleNet
      3. KGAT
      4. KGCN

Contents

1. Course Policy


2. Introduction to Recommender Systems


  1. Collaborative Filtering (협업 필터링):

    • Neighborhood-based CF: 사용자나 상품 간 유사도를 기반으로 추천하는 방식.
    • Model-based CF: 모델을 활용해 사용자의 행동을 예측하고 추천하는 방식.
    • User-based CF 및 Item-based CF: 각각 사용자와 상품을 기반으로 추천하는 방식.
    • Association Rule Mining: 상품 간의 연관성을 찾아 추천하는 방식.
    • Probabilistic Models: 확률적 모델을 사용한 추천 방법.
  2. Evaluation Recommender Systems (추천 시스템 평가):

    • 다양한 추천 시스템의 성능 평가 방법에 대한 학습.
  3. Collaborative Filtering for Implicit Feedback (암묵적 피드백을 위한 협업 필터링):

    • 사용자의 명시적이지 않은 피드백을 활용한 추천 방법.
  4. Item-to-Item Collaborative Filtering (상품 간 협업 필터링):

    • 상품 간 유사성을 기반으로 추천하는 방식.
  5. Autoencoder-based Collaborative Filtering (오토인코더 기반 협업 필터링):

    • 오토인코더를 사용한 추천 시스템.
  6. Neural Collaborative Filtering (신경망 기반 협업 필터링):

    • 신경망을 활용한 추천 시스템.
  7. Graph Neural Networks (GNN) (그래프 신경망):

    • 그래프 데이터에서의 학습에 적합한 신경망 모델 소개.
  8. Neural Graph Collaborative Filtering (NGCF) 및 그 변형:

    • 그래프 신경망을 사용한 협업 필터링 모델과 그 확장.
  9. Content-based Recommendation (콘텐츠 기반 추천):

    • 아이템의 콘텐츠 정보를 기반으로 추천하는 방식.
  10. Factorization Machines (FM) (인수분해 머신):

    • 행렬 인수분해를 기반으로 하는 모델.
  11. Sequential Recommendation (순차적 추천):

    • 사용자의 행동이 순차적인 경우를 다루는 추천 방법.

참고서적

1. Python 을 이용한 개인화 추천 시스템

2. Recommender Systems (2011, Dietmar Jannach)

3. Recommender Systems Handbook (2015, Francesco Ricci)

4. Recommender Systems: The Textbook (2016, Charu Aggarwal)


참고 커리큘럼

1. 성균관대학교 대학원 - Recommender System 강의 (이종욱 교수님)