본문 바로가기

프로그래밍/AI:ML:DL

추천시스템 메모

추천시스템 Recommend System

DEVIEW 2017 : 인공지능 추천 시스템 AiRS 개발기 : 모델링과 시스템

  • https://tv.naver.com/v/2297146 : 발표영상.
  • https://www.slideshare.net/deview/airs-80886207 : 발표슬라이드.
  • 최재호@네이버

    나의 필기

  • 추천모델의 종류
    • stats based
    • collaborative filtering
    • deep learning
  • 통계기반
    • 개인화보다, 글로벌 추천 (10대남성 등등)
    • Chi-Squared
    • Cross-Entropy
      • H(p,q) = - Sum p(x) log q(x)
      • KL Divergence : 에 대한 설명 있는데 이해 못함.
  • 협력필터 (collaborative filtering) - 가장 대표적인 추천알고리즘.
    • neighborhood model (collaborative filtering)
      • user-based / item-based
      • cosine similarity / jaccard index 등으로 유사도를 구함 (기존방법)
      • cos sim : cos(t) = A dot B / |A| |B|
      • jaccard : J(A, B) = | A cap B | / | A cup B |
      • PMI (pointwise mutual information) : PMI(A, B) = P(A,B)/(P(A)xP(B))
        • 단순한 빈도만 고려한 거리보다, 확률까지 고려되었다. (같이 본 문서가 얼마나 인기있는 것인가 등)
        • 자연어 처리에서 시작한 아이디어는 idf 를 주는 것과 비슷한 개념일 것 같네.
    • matix factorization (collaborative filtering)
      • UserDocMat = UserLatent x LatentDoc
        • prediction : hat r_ui = x_u dot y_i = sum(k) x_uk y_ki
        • loss funct : L = sum(u,i in S) ( r_ui - x_u dot y_i )^2 + lambda_x sum |x_u|^2 + lambda_y sum |y_i|^2
        • 계산속도 개선을 위해 wALS ( als + weight )
        • 스파스한 행렬이고, missing data 에선 negative 샘플로 사용
  • deep learning
    • 앞의 두가지는 머신러닝
    • Ui={.5, 2, 0, ... } == in ==> NeuralNetwork == out ==> Di={1.2, .1, -.9, ... }
      • 개인을 컨텍스트벡터로 표현하였을 때, 이 벡터를 집어넣으면, 아이템 표현이 나오는
      • MF 모델등은 선형모델이었음. 비선형모델링이 가능해짐.
    • RNN for New Recomendation
      • document sequence ( which a user read ) -> doc2vec -> lstm -> recvec (recommendatio vector)
      • Deep Neural Networks for News Recommendations Keunchan Park, Jisoo Lee, Jaeho Choi
      • session based is better than history based recom
    • CNN for Deep Topic Tagger
      • document -> word emb -> cnn -> topic prediction
      • depth1 95%
    • Deep CF (collabrative filtering) Models
      • 이해못함.
  • 추천모델 비교
    • 통계기반
      • chi-squared : categorical
      • KL-div : continuous
    • CF
      • neighborhood : similarity (PMI)
      • matrix factorization : missing data (wals)
    • DL
      • RNN/CNN : non-linear
      • Deep CF : neural cf