SW/추천시스템

추천 시스템 : Train/Test and Cross Validation : 훈련, 검증 방법

얇은생각 2020. 7. 27. 07:30
반응형

Train / Test

추천 시스템 : Train/Test and Cross Validation : 훈련, 검증 방법

 

추천 시스템이 과학만큼 예술적이라는 이유의 대부분은 자신이 얼마나 좋은지 측정하기가 어렵다는 것입니다. 결과에 어떤 미적 품질이 있으며 결과가 좋은 것으로 간주하는지 여부는 말하기가 어렵습니다. 특히 오프라인에서 알고리즘을 개발하는 경우, 추천 시스템의 품질을 측정하기 위해 다양한 방법을 고안한 경우가 많으며, 종종 서로 다른 측정 값이 서로 상충 될 수 있습니다.

먼저 시스템을 오프라인에서 추천 시스템을 테스트하는 방법론에 대해 이야기 해보겠습니다. 머신 러닝을 해본 경험이 있다면, Train/Test 스플릿 개념에 익숙 할 것입니다. 추천 시스템은 사전 사용자 행동을 사용하여 학습 한 다음 이를 사용하여 새로운 사용자가 좋아할만한 항목에 대한 예측을 합니다. 따라서 적어도 다른 시스템과 마찬가지로 추천 시스템을 평가할 수 있습니다.

과거에 사람들이 평가 한 방식을 예측할 수있는 추천 시스템의 능력을 측정해야 합니다. 우선 Rank 데이터를 훈련 세트와 테스트 세트로 나눕니다. 훈련 세트가 더 클수록 (예 : 모든 데이터의 80 % 또는 90 %) 무작위로 하나의 평가를 할당하므로 훈련 데이터만 사용하여 추천 시스템을 훈련시킵니다.

교육을 받은 후에는 새로운 사용자가 이전에 보지 못했던 일부 항목을 평가할 수 있는 방법에 대한 예측을 요청할 수 있습니다. 얼마나 잘 수행하는지 측정하기 위해 테스트를 위해 예약한 데이터를 사용합니다. 테스트 세트에서 사용자가 실제로 영화에 별 5 개를 평가했다고 가정합니다. 추천 시스템은 이 사용자에게 아무 말도 하지 않고 평가하는 방법을 묻습니다.

그리고 그 답변이 실제 등급에 얼마나 근접했는지 측정 할 수 있습니다. 충분히 많은 사람들에게 이 작업을 수행하면 추천 시스템이 물건을 추천하는 것이 얼마나 좋은지, 또는 이미 시청 한 것을 추천하는 것이 얼마나 좋은지를 알려주는 의미있는 숫자를 얻을 수 있습니다. 온라인 시스템에서 물건을 테스트 할 수 없는 경우 실제로 할 수 있는 방법입니다.

 

 

 

K-fold cross validation

추천 시스템 : Train/Test and Cross Validation : 훈련, 검증 방법

 

정말 화려하고 싶다면 k-fold cross라는 기술을 사용하여 단일 Train/ Test 분리 방법에서 개선 할 수 있습니다. 훈련 / 테스트와 동일한 아이디어이지만 단일 훈련 세트 대신 무작위로 할당된 많은 훈련 세트를 생성합니다. 각 개별 훈련 세트는 추천 시스템을 독립적으로 훈련하는 데 사용되며 정확도를 측정합니다.

각 사용자가 얼마나 정확하게 사용자 등급을 예측 하는지를 평가하고 함께 평가할 수있는 점수로 끝납니다. 이것은 분명히 더 많은 컴퓨팅 성능을 필요로 하지만 이점은 우리가 직접하지 않는 것입니다.

훈련 데이터가 작은 경우 테스트 세트 대신 훈련 세트에 구체적으로 지정된 Rank를 최적화 할 위험이 있으므로 k- 폴드 교차 검증은 이에 대한 일부 보험을 제공합니다. 선택한 트레이닝 세트의 평가뿐만 아니라 모든 평가 세트에 맞는 추천 시스템을 만들 수 있도록 보장합니다.

훈련/테스트 및 k- 폴드 교차 검증은 추천 시스템의 정확도를 측정하는 방법입니다. 즉, 사용자가 이미 본 영화를 평가하고 등급을 제공한 방법을 얼마나 정확하게 예측할 수 있는지가 중요하지만 중요한 것은 트레인/테스트를 사용하여 사람들이 이미 본 영화를 어떻게 보았는지 예측할 수 있는 능력을 테스트하는 것입니다. 이것은 추천자 시스템의 요점이 아닙니다.

 

 

정확도 측정

추천 시스템 : Train/Test and Cross Validation : 훈련, 검증 방법

 

보지 못했지만 흥미로운 것을 발견한 사람들에게 새로운 것을 추천하고 싶지만, 오프라인 테스트는 근본적으로 불가능합니다. 따라서, 실제 사람들에게 Netflix 또는 Amazon 등에서 새로운 알고리즘을 테스트 할 수 없는 연구자들은 추천시스템을 테스트 할 떄 정확도 메트릭을 실제로 도출하는 방법에 대해서는 이야기하지 않았습니다. 해당 방법론에 대해서는 다음 포스팅에서 다루도록 하겠습니다.

반응형