[추천 시스템] User-free Model

손아현·2026년 6월 10일

추천시스템

목록 보기
6/6
post-thumbnail

1. User-free Model

  • Memory-bsed (Similarity based)
    • 가중 평균 구해서
    • 상호이력을 직접 활용
  • Model based
    • 다 기억하는 게 아니라
    • 이력을 저차원 표현으로 압축해서, 압축된 걸 활용해서 예측하는 것
    • Item Matrix와 User Matrix로 표현을 압축한 다음에, 벡터로(gamma) 내적으로 예측

1.1 의미 및 특징


“item feature만으로 좋은 추천이 가능하지 않을까?“

  • 사용자 표현 없이, 아이템 표현만으로 좋은 추천이 가능한가?
  • Memoryed, Model based 두 경계에 있는 학습 방법
    • Item은 학습하니까 ⇒ Model-based 성격
    • 근데 추론할때, 예측할 때는 이력을 확인함 ⇒ Memory-based 성격
  • 이 방법이 필요한 이유? 선호하는 이유?
    1. 새로운 유저의 vector를 어떻게 표현할지 모르니까 계속 추가 학습해야 됨

      ⇒ User-free로 하면, 학습 생략이 가능하기 때문에 추천시스템 serving할 때 간편

    2. 상호작용이 적은 사용자에게도 합리적 예측 가능

      • 상호작용이 적다 = 학습할 데이터가 적다 = 다른 유저들에 비해 학습이 적게 된다 = 아직 수렴 전에 학습 종료 or 오버피팅

      ⇒ 각 유저의 특성 학습 없이, item 만으로 예측하기 때문에 합리적!

    3. 아이템 소비 순서 활용 가능

      • 유저가 어떻게 인터렉션을 했는지 순서 반영 가능…(이해못함?????/)

SLIM _ User-free Model 알고리즘 1

2.1 아이디어 / 학습 알고리즘


유사도 기반 방법

유사도 지표 사용하는 대신, 아이템 간 관련성을 데이터로부터 학습

  • item-item CF 와 유사한 알고리즘
  • 차이점 : 유사도 지표를 사용하는 대신, 아이템 간 관련성을 직접 학습

!image.png

  • R은 고정되어 있고 / W(초기값 0)를 학습함
  • R : User Interacton (use * Item) implicit data 활용하기 때문에 ⇒ 1로 표현됨
  • W : Item Correlation
    • (0,1) ⇒ 0.4 (0이 1과 느끼는 유사도? / 1이 0에느끼는 유사도?)
    • (1,0) ⇒ 0.3 (1이 0과 느끼는 유사도? / 0이 1에느끼는 유사도?)
    • 각 요소 값들의 의미 : 유사도 (절친느끼는 정도 다르듯이) (따라서 0 이상의 값만 취급)
  • W_ij ≠ W_ji 인 이유?
    - 순서도 반영?
    - e.g) 시리즈에서 1 → 2 보는 거 / 2→ 1 보는 거 평점 매기는 게? 다를 수 있으므
  • 유저 b가 item 4 몇 점을 매길 것인가??
    • (R_matrix의 두번째 행) dot (W의 4번째 컬럼값)
    • (0,1,0,0,1) dot (0.15, 0, 0, 0.25, 0, 0.45)
  • 유저 g가 아이템 2에 몇 점을 매길 것인가?
    - (0,0,1,1,1,) * (0.4, 0, 0.3, 0, 0.05)

2.2 최적화 과정


  • 문제점 : W가 I*I로 꽉찬 행렬이다
  • 전략 Solution : W가 sparse 해지게 만들고자 함
    • ⇒ CSR / CSC 포맷으로 저장 (sparse한 matrix를 효율적으로 나타내는 방법)

    • sparse하게 만들기 위해서 → L1 정규화 (절댓값 형태) 넣음

    • L2정규화 (2차 함수 형태) : 과적합 방지

      ⇒ L1을 활용하면 L2와 달리, 0과 가깝든 멀든, 같은 패널티를 주겠다.

      !image.png

  • 두 가지 제약
    1. W_{i,j} ≥ 0
      • 각 요소들이 유사도를 의미하므로
    2. “자기자신 = 대각 행렬”은 0 인 이유?
      • 2번 아이템 예측하는데 2번 주면 → 과적합됨
      • 따라서, 자기 자신 제외

2.3 장점


  • 빠른 추론 가능
    • W를 sparse하게 만들기 때문에 연산해야 하는 parameter 수가 적다
  • Long-tail 성능
    • 비인기 아이템도 잘 처리할 수 있
    • Latent factor 모델은 인기 아이템에 치우침

FISM _ User-free Model 알고리즘 2

3.1 아이디어


  • SLIM에서는 유저를 따로 표현하지 않고, 유저가 본 아이템들로 Item Matrix를 곱?했는데
  • 자체적으로 표현

기존 (Item) latent factor 모델의 사용자 벡터(gamma_u)를

→ “아이템 표현(gamma_i)의 평균”으로 대체

  • 이 때, 표현력이 떨어지는 걸 방지해서 그냥 gamma_i랑 구분해서 새롭게 gamma_i ‘를 사용
  • 기존 gamma_i를 target embeddings 으로,
  • 새로운 gamma_i’를 query embeddings 으로 나타냄 → 이거 활용해서 user embedding 만듦

⇒ item matrix(gamma_i)랑 interaction(R)이랑 조합해서 평균 낸 걸로 고려해서 예측

    <aside>
    
    예시)
    
    g유저의 벡터는?
    
    R에서 g가 3,4,5를 가지고 있음 ⇒ 
    
    </aside>
    

3.2 학습 알고리즘


!image.png

  • FISMrmse
    • 기본 RMSE와 동일한 구조
    • 실제로 interaction한 것과 에측 간 사이에서, L2 norm을 최소화 하는 loss func
  • FISMauc
    • BPR과 유사함!! (본 게, 안 본 것보다 점수가 높아야 한다. auc를 최대화 하는 방향으로 학습)
    • 이 loss func 대신에 BPR 하는 게 더 안정적일 수 있음?

3.3 장점


  • 사용자 상호작용이 sparse한 경우에 효과적임
    • 사용자 표현을 학습하기엔 데이터가 부족함.
    • 아이템 이력의 평균이 더 안정적인 추정이 가능함.
  • 딱 하나만 본 유저에게도, 예측할 수 있음?

Other User-free Model 알고리즘

AutoRec


  • Auto Encoder 기반의 추천 모델
    • Encoder-only??? 모델? Decoder-only 추천 모델도 있다고 함~~
  • 저차원으로 의도적으로 정보 손실을 하면서, 불필요한 정보는 없애고 필요한 정보만 저차원에 꽊꽉 눌러 담음
  • input : 사용자의 interaction 정보 (e.g. 봤는지, 안 봤는지 10010 이런 식)
  • FISM과 유사/차이점
    • 유사점 : interaction 정보만 사용하므로 user embedding 사용 x (user-free)
    • 차이점 : auto rec은 딥러닝 기반이므로 비선형 연산을 사용/ 학습 가능

Item2vec


  • W2v 기반의 추천 모델
  • 앞뒤에 있는 애들이랑 비슷해지게 학습함.
  • 상호작용 시퀀스에서 같은 문맥의 아이템 → 유사 아이템
  • FISM과 유사/차이점
    • 유사점 : 아이템 표현만 학습 (user - free)

Sequential Models


  • interaction에 대한 순서를 반영해서 예측, 추천하려고 함 ⇒ user free모델을 쓸 수 밖에 없음
  • 순서정보 반영 가능
  • 유저 임베딩이 존재하면, 순서 고려하기 어려움.
  • 신경망 기반 seq 추천 모델의 대부분이 user-free 모델
profile
서비스기획/.AI/데이터분석

0개의 댓글