오늘 배운 내용은 지역 특화 기법 논문에 대해서 공부했다.
지역 특화 기법
기존 추천시스템은 전반적인 평점 예측을 하기 때문에 일부 평점에는 성능이 안좋기도 한다.
지역 특화기법은 같은 패턴의 지역을 구분해서 지역별로 적합한 모델을 적용한다.
즉, 구간별로 나눠서 다른 모델을 적용하는 방법이다.
LLORMA는 행렬이 '지역적으로' 낮은 순위를 가진다는 새로운 가정으로, 전체적으로 낮은 순위라도 지역적으로 높은 순위일 수 있다. 각각의 낮은 순위 행렬은 전체 행렬의 특정 지역에 한정되어 있다.
Local Community
취향이 비슷한 유저와 제품들로 구성된 평점 행렬의 부분 행렬.
Local Model
각 Local Community마다 별개의 학습된 추천 시스템
손실함수는 기존 일반적인 MF에 Local Model별 가중치가 더해진 구조로 학습한다.
모델간 상호작용이 없기 때문에 지역 모델들을 병렬로 동시에 훈련이 가능하다. 최종 예측은 가중합으로 결정한다.
LLORMA의 개념을 랭킹 문제에 확장한 연구. Top K 문제는 정확한 점수를 맞추는게 아니라 상대적인 선호만 반영하면 된다.
순위 예측의 정확도를 높이기 위해 쌍별(pair-wise) 손실 함수를 도입해 두 아이템 간의 선호도 차이를 직접적으로 모델링한다.
지역 모델링
각각의 지역 저순위 모델이 사용자와 아이템의 특정 하위 그룹을 담당하며, 예측 시에는 지역 상수 회귀를 통해 이들을 결합
병렬 처리가 가능한 구조로 설계되어 대규모 데이터 셋에서도 효과적이다.
GLSLIM: Local Item-Item Models For Top-N Recommendation (2016)
전역(글로벌) 모델과 여러 개의 지역(로컬) 모델을 결합하여 사용한다.
각 유저마다 글로벌 모델과 로컬 모델의 결합 비율을 다르게 적용해 개인화된 추천을 제공한다.
병렬 처리가 가능한 구조로 설계되었다.
최적화 프로세스 : 3가지 요소를 동시에 최적화
글로벌 및 로컬 아이템-아이템 모델
사용자별 모델 결합 비율
사용자 그룹 할당
local model의 범위가 너무 커지면 전체 global 모델과 비슷해져 지역적 특성을 잘 반영하지 못한다. 반대로 너무 작으면 정확도가 떨어진다.
학습할 땐 큰 커널을 쓰고 inference 과정에서는 작은 커널을 사용한다.
오토인코더 모델을 사용해 비선형 패턴을 학습한다.
Anchor 유저를 선정할 때 greedy 방식으로 local model이 커버하는 이용자가 최대가 되도록 정한다.
3단계 프로세스
Anchor 유저와 비슷한 관심사의 Local Community 구성 (작은 사이즈의 inference용)
학습용으로 커뮤니티 크기를 확장해 Local Model 학습
여러 Anchor 유저에 대해 위의 단계를 반복해 각 Local Model을 병합