SVD 추천 점수 매기기

이 문서에서는 Azure Machine Learning 디자이너에서 SVD 추천 점수 매기기 구성 요소를 사용하는 방법을 설명합니다. 이 구성 요소를 사용하여 SVD(단일 값 분해) 알고리즘을 기반으로 학습된 추천 모델을 사용하여 예측을 만들 수 있습니다.

SVD 추천은 다음과 같은 두 가지 종류의 예측을 생성할 수 있습니다.

두 번째 유형의 예측을 만드는 경우 다음 모드 중 하나로 작업할 수 있습니다.

  • 프로덕션 모드에서는 모든 사용자 또는 항목을 고려합니다. 일반적으로 웹 서비스에서 사용됩니다.

    학습 중에 표시되는 사용자뿐만 아니라 새 사용자에 대한 점수를 만들 수 있습니다. 자세한 내용은 기술 참고 사항을 참조하세요.

  • 평가 모드는 평가할 수 있는 축소된 사용자 또는 항목 집합에 대해 작동합니다. 일반적으로 파이프라인 작업 중에 사용됩니다.

SVD 추천 알고리즘에 대한 자세한 내용은 연구 논문: Matrix factorization techniques for recommender systems를 참조하세요.

SVD 추천 점수 매기기를 구성하는 방법

이 구성 요소는 요구 사항이 서로 다른 두 가지 유형의 예측을 지원합니다.

등급 예측

등급을 예측할 때 모델은 사용자가 지정된 학습 데이터를 사용하여 특정 항목에 반응하는 방법을 계산합니다. 점수 매기기를 위한 입력 데이터는 평가할 사용자와 항목을 모두 제공해야 합니다.

  1. 파이프라인에 학습된 추천 모델을 추가하고 이를 학습된 SVD 추천에 연결합니다. SVD 추천 학습 구성 요소를 사용하여 모델을 만들어야 합니다.

  2. 추천 예측 종류에 대해 등급 예측을 선택합니다. 다른 매개 변수는 필요하지 않습니다.

  3. 예측을 만들려는 데이터를 추가하고, 점수를 매길 데이터 세트에 연결합니다.

    등급을 예측할 모델의 경우 입력 데이터 세트에 사용자-항목 쌍이 포함되어야 합니다.

    데이터 세트는 첫 번째 및 두 번째 열에 있는 사용자-항목 쌍에 대한 등급의 선택적인 세 번째 열을 포함할 수 있습니다. 그러나 예측에서는 세 번째 열이 무시됩니다.

  4. 파이프라인을 제출합니다.

등급 예측 결과

출력 데이터 세트에는 세 개의 열이 포함되어 있습니다(사용자, 항목 및 각 입력 사용자 및 항목에 대한 예측 등급).

사용자에 대한 권장 사항

사용자에게 항목을 추천하려면 사용자 및 항목 목록을 입력으로 제공합니다. 이 데이터에서 모델은 기존 항목 및 사용자에 대한 정보를 사용하여 각 사용자에게 표시 가능한 것으로 예상되는 항목의 목록을 생성합니다. 반환된 권장 사항 수를 사용자 지정할 수 있습니다. 권장 사항을 생성하는 데 필요한 이전 권장 사항 수에 대한 임계값을 설정할 수 있습니다.

  1. 파이프라인에 학습된 추천 모델을 추가하고 이를 학습된 SVD 추천에 연결합니다. SVD 추천 학습 구성 요소를 사용하여 모델을 만들어야 합니다.

  2. 사용자 목록에 대한 항목을 추천하려면 추천 예측 종류항목 추천으로 설정합니다.

  3. 추천 항목 선택의 경우 프로덕션 또는 모델 평가에 점수 매기기 구성 요소를 사용하는지 여부를 나타냅니다. 다음 값 중 하나를 선택합니다.

    • 모든 항목에서: 웹 서비스 또는 프로덕션에서 사용할 파이프라인을 설정하는 경우 이 옵션을 선택합니다. 이 옵션은 프로덕션 모드를 사용하도록 설정합니다. 구성 요소는 학습 중에 확인된 모든 항목 중에서 추천합니다.

    • 등급이 지정된 항목에서(모델 평가의 경우) : 모델을 개발하거나 테스트하는 경우 이 옵션을 선택합니다. 이 옵션은 평가 모드를 사용하도록 설정합니다. 구성 요소는 입력 데이터 세트에서 등급이 지정된 항목 중에서만 추천합니다.

    • 등급이 지정되지 않은 항목에서(사용자에게 새 항목 제안): 구성 요소가 등급이 지정되지 않은 학습 데이터 세트의 항목에서만 추천을 만들도록 하려면 이 옵션을 선택합니다.

  4. 예측을 만들 데이터 세트를 추가하고 점수를 매길 데이터 세트에 연결합니다.

    • 모든 항목에서의 경우 입력 데이터 세트는 하나의 열로 구성되어야 합니다. 권장 사항을 만들 사용자의 식별자가 포함되어 있습니다.

      데이터 세트에는 항목 식별자 및 등급의 추가 두 개 열이 포함될 수 있지만 이 두 열은 무시됩니다.

    • 등급이 지정된 항목에서(모델 평가의 경우) 의 경우 입력 데이터 세트는 사용자-항목 쌍으로 구성되어야 합니다. 첫 번째 열에는 사용자 ID가 포함되어야 합니다. 두 번째 열에는 해당 항목 식별자가 포함되어야 합니다.

      데이터 세트는 사용자 항목 등급의 세 번째 열을 포함할 수 있지만 이 열은 무시됩니다.

    • 등급이 지정되지 않은 항목에서(사용자에게 새 항목 제안) 의 경우 입력 데이터 세트는 사용자-항목 쌍으로 구성되어야 합니다. 첫 번째 열에는 사용자 ID가 포함되어야 합니다. 두 번째 열에는 해당 항목 식별자가 포함되어야 합니다.

    데이터 세트는 사용자 항목 등급의 세 번째 열을 포함할 수 있지만 이 열은 무시됩니다.

  5. 사용자에게 추천할 최대 항목 수: 각 사용자에 대해 반환할 항목의 수를 입력합니다. 기본적으로 구성 요소는 5개 항목을 추천합니다.

  6. 사용자당 추천 풀의 최소 크기: 필요한 사전 추천 수를 나타내는 값을 입력합니다. 기본적으로 이 매개 변수는 2로 설정됩니다. 즉, 적어도 두 명의 다른 사용자가 이 항목을 권장했습니다.

    평가 모드의 점수를 매기는 경우에만 이 옵션을 사용합니다. 모든 항목에서 또는 등급이 지정되지 않은 항목에서(사용자에게 새 항목 제안) 를 선택하는 경우에는 이 옵션을 사용할 수 없습니다.

  7. 등급이 지정되지 않은 항목에서(사용자에게 새 항목 제안) 의 경우 학습 데이터라고 하는 세 번째 입력 포트를 사용하여 예측 결과에서 이미 등급이 지정된 항목을 제거합니다.

    이 필터를 적용하려면 원래 학습 데이터 세트를 입력 포트에 연결합니다.

  8. 파이프라인을 제출합니다.

항목 추천의 결과

SVD 추천 점수 매기기에서 반환하는 점수가 매겨진 데이터 세트에는 각 사용자에 대한 추천 항목이 나열됩니다.

  • 첫 번째 열에는 사용자 식별자가 포함됩니다.
  • 사용자에게 추천할 최대 항목 수에 대해 설정한 값에 따라 많은 추가 열이 생성됩니다. 각 열에는 추천된 항목(식별자별)이 포함됩니다. 권장 사항은 사용자 항목 선호도에 따라 정렬됩니다. 선호도가 가장 높은 항목은 항목 1 열에 배치됩니다.

기술 정보

SVD 추천이 있는 파이프라인이 있고 모델을 프로덕션으로 이동하는 경우 평가 모드에서 추천을 사용하는 것과 프로덕션 모드에서 사용하는 것 사이에는 주요 차이점이 있습니다.

평가 모드에서는 기본적으로 테스트 집합의 실제 정보와 대조하여 확인할 수 있는 예측이 필요합니다. 추천을 평가할 때는 테스트 집합에서 등급이 지정된 항목만 예측해야 합니다. 이 경우 예측 가능한 값이 제한됩니다.

모델을 실제로 운영할 때는 보통 예측 모드를 변경하여 최적의 예측 결과를 얻기 위해 가능한 모든 항목을 기준으로 추천을 수행합니다. 이러한 많은 예측의 경우 해당하는 근거는 없습니다. 따라서 권장 사항의 정확도는 파이프라인 작업 중과 동일한 방식으로 확인할 수 없습니다.

다음 단계

Azure Machine Learning에서 사용 가능한 구성 요소 집합을 참조하세요.