2022. 3. 24. 13:06ㆍ관심있는 주제/Recommendation
논문 제목
A Critical Study on Data Leakage in Recommender System Offline Evaluation
추천 시스템에서는 데이터 분리 전략에 대해서 다소 난해한 점이 있는 것 같아.
특정 논문을 리뷰하고자 한다.
결론적으로는 알고리즘에 따라 데이터 분리 전략에 따라 성능은 차이가 날 수 있고, 실제 가장 현실적인 전략은 temporal global splitting이라 할 수 있다고 한다.
서론
분할 전략에 따라서 추천 시스템의 Rank에 큰 영향을 미칠 수 있다는 것을 주장하는 논문이다.
추천 시스템(RecSys)은 대규모 데이터셋 내에서 사용자가 구매하거나 소비하고 싶은 관심 품목을 가장 효과적으로 찾는 방법을 조사하는 광범위한 연구의 대상이 되어 왔다.
추천은 domain-specific sub-tasks 나 시나리오에 따라서 다양하게 만들 수 있게 된다.
이러한 과제를 해결하기 위해 지난 20년 동안 많은 접근방식이 제안되었으며, 그중 neural network 기반 추천 모델은 다양한 하위 과제와 시나리오에 대한 높은 효과와 적응성 때문에 현재 매우 인기가 있다.
현재 매우 유사한 뉴럴 네트워크 기반 추천 모델이 발표됨에 따라, 평가 중 불확실성으로 이어질 수 있는 교란 요인을 제거하는 데 중점을 둘 필요가 있다. 그렇지 않으면 실제로 이익을 얻고 있는지 자신 있게 판단하는 것은 불가능할 것이다
그러나 추천 시스템 영역에서의 표준화 노력은 성공적이지 못한 것으로 보이며, 대부분의 최신 연구 논문은 데이터셋, 메트릭, 기준선 및 데이터 분할 전략의 광범위한 개별 조합을 보고하고 있으며, 이 때문에 progress in the field를 측정하기가 어렵습니다.
현재까지도 커뮤니티에서는 계속해서 이러한 과정을 해결하려고 노력중이다.
그러나 이러한 알려진 문제를 넘어 종종 간과되는 한 가지 요소(일반적으로 재현 가능한 이전 연구에서 충분히 상세하지 않음)가 데이터 분할 전략(data split strategy)이다.
따라서 본 논문에서는 이 질문에 대한 해답을 목적으로 다음 item/basket 추천 태스크에 대한 데이터 분할 전략을 분석한다.
추천 모델에서 Data Split 전략
이용 가능한 다양한 추천 시스템 평가 접근법 중에서 과거 item ratings 또는 implicit item feedback을 사용한 "오프라인" 평가가 단연 가장 일반적이다.
이 방법은 이전의 excplit 또는 implict 상호 작용의 데이터 세트에 의존하고 현재 모델은 감독된 학습에 기반하므로 데이터 집합을 교육, 검증 및 테스트 세트로 분할해야 한다.
이하의 문헌으로부터, 4개의 주요한 데이터 분할(파티션) 전략을 정리했다.
- Leave One Last
- Temporal User/Global Split
- Random Split
- User Split
Leave One Last
이름에서 알 수 있듯이 마지막 데이터 분할을 남겨두면 테스트를 위해 사용자당 최종 트랜잭션이 추출됩니다.
여기서 사용자당 두 번째 트랜잭션은 보통 검증으로 사용되며 나머지 트랜잭션은 훈련에 사용할 수 있습니다.
관련된 트랜잭션의 유형에 따라 두 가지 공통적인 Leave One Last 전략이 있습니다.
train | valid | test |
valid, test 제외한 데이터 | user 당 마지막기준 2번째 transaction | user 당 마지막 transaction |
대부분의 알고리즘들이 이 방식을 채택했다.
이러한 방식의 장점은 transaction의 수를 증가시키기 때문에 학습할 때 최대한 많은 데이터를 사용할 수 있다.
하지만 사용자당 마지막 구매로만 평가하기 때문에, 테스트 성능이 전체적인 성능 효과를 반영하지는 않는다.
이러한 것은 실제로 학습할 때나 검증할 때나 영향을 끼칠 수 있다.
또한, Leave-one-last 분할 전략은 훈련 중에 모델에 'leaking'되는 상호작용을 특징으로 하는 '누출' 현상을 유발할 수 있다.
'leaking'
유출은 훈련 데이터 세트 외부의 정보를 사용하여 모델을 만드는 경우입니다.
leaking은 바람직하지 않은 훈련을 유발할 수 있습니다.
예를 들어, 모델은 품목이 인기를 끌기 전에 해당 품목의 인기를 학습합니다.
1. Leave One Last Item
transaction의 의미는 <user, item> 당 하나를 한 transaction이다.
일반적으로 이러한 방식을 많이 사용이다.
NeuMF, CTRec, JSR
2. Leave One Last Basket/Session
transaction의 의미는 <user, [item1, item 2,... itemk]>를 의미한다.
이러한 데이터 셋은 한 유저가 한 번에 함께 구입한 품목의 집합을 나타내는 시나리오에서 사용됩니다.
(예를 들어 식료품에서 한 사람이 한 아이템에 아닌 관련 아이템들을 사는 것을 의미합니다.)
FPMC, Triple2 Vec, CTRec
Temporal User/Global Split
Temporal(시간)을 이용한 분할 전략은 과거의 interaction/baksets을 시간에 기반하여 백분율로 분할하는 일반적인 평가 방법이다.
이 전략에도 2가지의 변종들로 되어 있다.
1. Temporal User
Temporal user 기반 전략은 leave one last와 굉장히 유사하다.
그러나 각 user의 마지막 intersaction/baskets 비율은 1개가 아닌 테스트용으로 예약되어 있다.
Temporal user 기반 전략은 전역적인 상호 작용된 시간을 고려하지만, 학습과 테스트 사이의 경계가 사용자들 간에 상당히 다를 수 있기 때문에, 학습 중에 미래의 상호작용에 결과가 모델에 leaking 되는 결과를 초래하기 때문에 여전히 현실적인 시나리오에서는 부적합한 것을 알아야 한다.
VAECF, SVAE, NGCF
2. Temporal Global
Temporal User 방식보다 Temporal Global 전략은 각 유저 간에 공유되는 시점을 고정하여 정의하고, 그 시점 이후에 모든 상호작용이 테스트 데이터가 된다.
temporal global spliting의 한 가지 한계점은 학습 데이터와 테스트 데이터 사이의 상호작용을 계산한 후, 보유하는 사용자의 아이템의 총 수가 Leave One Last 전략보다 훨씬 적게 되어 학습/검증에 사용할 수 있는 transaction이 적게 된다.
즉 샘플의 개수가 적어져서 결과 판단이 애매하다.
VMCAR , DCRL
Random Split
사용자별로 학습/테스트 경계를 임의로 생성하는 방법이다.
초기 추천 시스템은 테스트를 위해 사용자당 하나의 무작위 항목만 선택하는 이 체계[13]의 변종 하나를 사용하여 평가되었다.
그러나 이러한 방법은 각 사용자에 대한 마지막(시간 내) 상호작용(즉, 마지막 항목 하나 남기기)을 사용하기 위해 점차 사용하지 않게 되었다.
랜덤 분할 전략의 한 가지 한계점은 사용된 데이터 분할이 작성자에 의해 공개되지 않는 한 재현할 수 없다는 것입니다.
User Split
User Split 전략은 상호 작용이 아닌 사용자별로 데이터 세트를 분할하는 또 다른 덜 일반적인 평가 방법이다.
이 경우 특정 사용자(및 그 트랜잭션)는 학습용으로 되어있고, 다른 사용자는 평강용으로 될 수 있다.
기본 모델에 신규(콜드 스타트) 사용자에게 항목을 추천할 수 있는 기능이 필요하기 때문에 이 전략을 사용하는 작업은 거의 없습니다. 이는 많은 접근 방식이 이를 지원하지 않습니다.
이러한 전략은 teomporal user based strategy과 마찬가지로 훈련 중에 모델에 "future data"가 leaking(유출)되는 문제로 인해 어려움을 겪고 있다.
이러한 전략이 어디에 사용되는지에 대한 개요를 제공하기 위해 권장 모델을 제안하고 평가하는 17개의 선행 논문을 분석하고(최근의 뉴럴 네트워크 접근법에 초점을 맞추어) 채택된 데이터 분할 전략에 따라 분류했다 한다.
아래 표는 각 선행 작업에서 어떤 전략을 채택하고 있는지를 요약한 것이다.
위의 표에서 알 수 있듯이, 두 작업이 동일한 데이터셋을 사용하는 경우에도 사용/보고된 데이터 분할 전략 측면에서 일관성이 거의 없습니다.
예를 들어 VAECF [9] 및 TiSASRec [8] 모델은 동일한 Movielens-1M 데이터 세트를 사용하지만 각각 마지막 분할 전략과 임시 분할 전략을 하나씩 남겨두고 테스트합니다.
또한 표 1에서 가장 현실적인 분할 전략으로 간주되는 [2] - temporal global splitting을 사용하여 평가되는 모델은 매우 적음을 알 수 있다.
EVALUATION METHODOLOGY
이전 연구에서는 광범위한 데이터 분할 전략 하에서 성능을 보고한다는 것을 보여주었으므로, 다음으로 주요 조사 질문인 '데이터 분할 전략이 중요합니까?'에 답한다고 한다.
이 섹션의 나머지 부분에서는 이 질문에 답하기 위한 실험적인 설정에 대해 설명합니다.
Data Split
위에서 설명한 가장 일반적인 세 가지 데이터 분할 전략, 즉 leave one last item, leave one last basket 및 global temporal split 전략을 실험합니다.
User-based temporal split은 마지막 항목을 남기기 위해 거의 동일한 분할을 생성하므로 공간을 절약하기 위해 제외합니다.
한편, user split 방식은 거의 사용되지 않고 매우 다른 평가 파이프라인을 요구하기 때문에 생략합니다.
전략 | 사용 여부 |
leave one last item | O |
leave one last basket | O |
global temporal split | O |
User-based temporal split | X |
user split | X |
Datasets
Tafeng와 Dunnhumby 사용
interactions, baskets and timestamps 정보 보유
마지막 item/basket 데이터 분할 전략에서는 먼저 10회 미만의 구매 아이템을 필터링한 후 가장 최근의 item/basket 두 번째 최신 item/basket, 나머지 item/basket은 교육용으로 사용합니다.
global temporal setting의 경우, 30개 미만의 아이템을 구입한 사용자 또는 10개 미만의 바스켓이 있는 사용자는 걸러지고, 20회 미만의 아이템은 다음과 같이 삭제됩니다.
아래 표와 같이 분리해서 사용함.
Testing Models
총 7개의 모델을 사용함
- NMF
- BPR
- NeuMF
- VAECF
- NGCF
- Triple2 vEC
- VBCAR
Evaluation Metrics
평가
- NDCG@10
- Recall@10
비교
- Kendal (raking correlation)
다양한 분할 전략에 대한 모델 순위 쌍의 차이를 정량화하기 위해 Kendall를 통해 순위 상관관계(ranking correlation)도 확인
Result
따라서 이 장에서는 분할 전략이 다양한 고전적 및 최첨단 추천 모델에 어떤 영향을 미치는지 조사했다고 함.
분할 전략 간에 시스템의 순위가 크게 다를 경우, 이는 추천 공간에서 최근 수행된 작업의 상당 부분이 비교할 수 없으므로 평가 표준화의 필요성이 커지고 있음을 입증하는 역할을 한다.
행은 leave one last (item) splitting을 남겨두고 성능별로 정렬됩니다.
여기서 위쪽/아래쪽 화살표는 상대적인 순위 위치 스왑을 나타내며 괄호 안의 숫자는 이동된 순위 수를 나타냅니다. 표 3에서 알 수 있듯이 4가지 시나리오 모두에서 시스템 간에 순위 스왑이 관찰됩니다.
예를 들어, Recall @10의 Dunnhumby 데이터 세트는 leave one last item (NMF) 중 최악의 모델로 BPR, VAECF 및 NGCF를 제치고 leave one last basket에서 3계단 높은 순위를 차지하고 있습니다.
실제로 모든 분할 전략 쌍에 대해 스왑이 발생하는 것을 볼 수 있으며, 더욱 걱정스러운 것은 이러한 스왑이 각 시나리오에 가장 효과적인 모델을 중심으로 집적되어 있다는 것입니다.
시스템을 정확하게 구별할 수 있는 것이 매우 중요합니다. 또한 발생하는 스왑에 패턴이 있음을 관찰할 수 있다. Triple2 vec은 마지막 항목에서 특히 선호되는 것으로 보이는 반면, VBCAR은 시간적 평가에서 훨씬 더 높은 순위를 차지한다.
이러한 동작은 인스턴스가 선택되는 방법 (예를 들어, 훈련 시 미래의 증거를 이용할 수 있는지 여부)과 서로 다른 열차/검증/테스트 분포 (표 2 참조)에 의해 발생할 수 있다.
따라서 이는 분할 전략이 보고된 권고성과에 영향을 미치는 중요한 요소이며 분할전략이 특정 시스템에 유리할 수 있다는 증거를 제공한다.
그러나 지금까지 검토된 추천 시스템은 7개뿐이고, 이렇게 작은 표본 크기라면 이러한 관측된 스왑은 단순히 우연히 발생할 수 있다.
따라서, 이것을 테스트하기 위해, 우리는 훨씬 더 큰 표본의 추천 시스템들 사이의 상관 실험을 수행한다.
230개 모델을 다양한 파라미터로 생성했다.(NeuMF, VBCAR and Triple2 Vec)
NDCG@10 두 데이터셋의 각 데이터셋에 걸친 분할 전략 쌍에 대한 이러한 모델의 성능 및 각 데이터셋에 대한 점수 분포 간의 Kendall의 δ 상관관계를 보고합니다.
분할 전략 쌍이 유사한 시스템 순위를 산출하는 경우, Kendall의 δ 값이 1.0에 가깝고 데이터 지점이 선형 추세선에 근접할 것으로 예상한다.
이는 한 전략이 다른 전략보다 낫다는 것을 나타내는 것이 아니라, 이러한 분할 전략이 추천의 매우 다른 측면을 사실상 평가하고 있다는 증거이다.
결론적으로, 최첨단 시스템의 순위는 채택된 데이터 분할 전략에 의해 크게 영향을 받으며, 따라서 추천 시스템을 비교할 때 고려해야 하는 교란 변수임을 보여주었다.
또한 특정 분할 전략이 특정 시스템을 선호할 수 있다는 몇 가지 증거도 관찰했다.
Conclusion
본 연구에서는 문헌에 사용된 분할 전략이 크게 다르기 때문에 서로 다른 데이터 분할 전략이 서로 다른 권장 모델의 보고된 성능에 미치는 영향을 분석하였다.
3개의 분할 전략, 7개의 권장 모델 및 2개의 데이터 세트를 사용한 실험을 통해 분할 전략이 채택된 것은 최첨단 시스템의 순위를 현저하게 바꿀 수 있는 중요한 교란 변수이다.
이는 동일한 데이터 세트와 측정 기준을 사용하더라도 현재 발표되고 있는 연구의 많은 부분이 직접 비교할 수 없다는 점을 강조하기 때문에 중요하다.
또한, 우리는 특정 분할 전략이 특정 추천 모델을 선호한다는 것을 관찰하였다고 한다.
이는 각 시나리오에서 열차/검증/테스트 데이터의 균형이 다를 수 있으며, 훈련 중에 미래 증거를 이용할 수 있는지 여부와 같은 요인 때문일 수 있다.
장래의 연구자를 위한 베스트 프랙티스의 관점에서, 이하를 추천합니다.
1) Report the splitting strategy employed:
여기에는 train/validation/split 구성요소의 통계 및 수행된 사용자/항목 필터링이 포함됩니다.
이러한 통계는 성능에 큰 영향을 미칠 수 있기 때문입니다.
2) Report performance under temporal global splitting:
이는 일반적으로 가장 현실적인 설정으로 간주되며 사용되는 기본 분할 전략도 마찬가지입니다.
3) Release your data splits:
다른 연구자들도 사용할 수 있게 하여, 확인하기
The data splits used in this work can be downloaded from http://github.com/anonymdata/data_splits.
Reference
https://arxiv.org/pdf/2010.11060.pdf
https://arxiv.org/pdf/2007.13237.pdf
https://machinelearningmastery.com/data-leakage-machine-learning/
'관심있는 주제 > Recommendation' 카테고리의 다른 글
Customer Segmentation 자료 정리 (0) | 2022.07.10 |
---|---|
Paper) A Critical Study on Data Leakage in Recommender System Offline Evaluation 리뷰 (0) | 2022.03.26 |
Python) 추천 시스템 방법론별로 간단한 예시 (0) | 2022.01.23 |
Python) text content based recommendation (0) | 2022.01.23 |
추천-2 이웃 기반 협업 필터링(Nearest Neighbor Collaborative Filtering) (0) | 2022.01.19 |