본문 바로가기
인공지능

leave-one-out evaluation이란?

by judy@ 2023. 7. 18.

최근 ncf 논문 리뷰와 구현 스터디를 하고 있는데, "leave-one-out evaluation"을 통해 평가한다고 하였다. 처음에는 leave-one-out cross validation과 같은 것인 줄 알고, 아니 이 큰 데이터를 CV로 학습한다고? 하며 깜짝 놀랬는데, 멍청했다. cross-validation이 아니라 evaluation이었다. 그리고 본문을 좀 더 자세히 읽어보니 그 방식 또한 다 설명되어 있었다.

탐구 내용

NCF 논문 내 leave-one-out 관련 문단

To evaluate the performance of item recommendation, we adopted the leave-one-out evaluation, which has been widely used in literature [1, 14, 27]. For each user, we held-out her latest interaction as the test set and utilized the remaining data for training.

 

각 유저에 대해서 최신 interection을 평가 데이터 세트로 하고 나머지 모든 데이터를 학습 데이터 세트로 활용하는 방식이다. 언급된 1, 14, 27 레퍼런스는 모두 implicit feedback에 대한 추천 모델 연구 논문으로 이 방식은 주로 implicit feedback에 대해 사용되는 평가 방식으로 보인다.

 

위 단락에서 14에 해당하는 논문의 evaluation 파트의 일부 단락도 같이 확인해보았다.

 

다른 논문에서의 언급

[14] X. He, H. Zhang, M.-Y. Kan, and T.-S. Chua. Fast matrixfactorization for online recommendation with implicit feedback In SIGIR, pages 549–558, 2016. 

We adopt the leave-one-out evaluation, where the latest interaction of each user is held out for prediction and the models are trained on the remaining data. Although it is a widely used evaluation protocol in the literature [9, 25], we point out that it is an artificial split that does not correspond to the real recommendation scenario. In addition, the new users problem is averted in this evaluation, as each test user has a training history. Thus this protocol only evaluates an algorithm’s capability in providing one-shot recommendation for existing users by leveraging the static history data.

위 내용을 요약하면, leave-one-out 평가 방식은 최신 인터렉션을 예측에, 나머지를 학습에 사용하는 방식인데, 이 방식이 널리 사용되기는 하지만, 실제 추천 시나리오와 완전히 일치하지 않으며, 히스토리가 없는 신규 유저를 고려하지 않는 제한적인 평가 방식이다.

 

결론적으로,  leave-one-out evaluation 이란?

  • implicit feedback 예측 문제에서 사용되는 평가 방식
  • 각 유저마다, 최신 interaction을 평가 세트로, 나머지 interaction을 학습 세트로 사용하는 방법
  • 최신 데이터 하나에 대해서만 평가하기 때문에, 이력이 이미 학습된 적이 있는 사용자에 대해 알고리즘이 잘 동작하는지 정도만 반영하는 평가 방식임.

!! 참고로 이 방식은 어떤 매트릭이 아닌, train-test 데이터를 split하는 방식 중 하나이다.

반응형