넓고 깊은 추천 점수 매기기

이 문서에서는 Azure Machine Learning 디자이너에서 Wide 및 Deep Recommender 점수 매기기 구성 요소를 사용하여 Google의 Wide 및 Deep Learning을 기반으로 학습된 권장 사항 모델을 기반으로 예측을 만드는 방법을 설명합니다.

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

후자의 예측을 만들 때 프로덕션 모드 또는 평가 모드에서 작동할 수 있습니다.

  • 프로덕션 모드 는 모든 사용자 또는 항목을 고려하며 일반적으로 웹 서비스에서 사용됩니다. 학습 중에 표시되는 사용자뿐만 아니라 새 사용자에 대한 점수를 만들 수 있습니다.

  • 평가 모드는 평가될 수 있는 사용자나 항목 세트의 일부에 대해 작동하며 일반적으로 실험 중에 사용됩니다.

와이드 및 딥 추천과 기본 확률 이론에 대한 자세한 내용은 관련 연구 논문인 Wide & Deep Learning for Recommender Systems에서 확인할 수 있습니다.

범위 및 심층 추천 점수 매기기를 구성하는 방법

이 구성 요소는 요구 사항이 서로 다른 여러 추천 유형을 지원합니다. 사용자가 보유한 데이터 형식 및 사용자가 만들려는 추천의 유형에 대한 링크를 클릭합니다.

등급 예측

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

  1. 실험에 학습된 와이드 및 딥 추천 모델을 추가하고 학습된 와이드 및 딥 추천 모델에 연결합니다. 와이드 및 딥 추천 학습을 사용하여 모델을 만들어야 합니다.

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

  3. 예측을 수행할 데이터를 추가하고 데이터 세트에 연결하여 점수를 매깁니다.

    등급을 예측하려면 입력 데이터 세트에 사용자 항목 쌍이 포함되어야 합니다.

    데이터 세트는 첫 번째 및 두 번째 열에 사용자 항목 쌍에 대한 등급의 선택적 세 번째 열을 포함할 수 있지만 예측 중에 세 번째 열은 무시됩니다.

  4. (선택 사항). 사용자 기능의 데이터 세트가 있는 경우 사용자 기능에 연결합니다.

    사용자 기능의 데이터 세트는 첫 번째 열에 사용자 식별자를 포함해야 합니다. 다시 기본 열에는 성별, 기본 설정, 위치 등 사용자의 특징을 지정하는 값이 포함되어야 합니다.

    학습 데이터 세트에서 항목의 등급을 지정한 사용자의 기능은 학습 중에 이미 학습되었으므로 와이드 및 딥 추천 점수 매기기에서 무시됩니다. 따라서 콜드 시작 사용자 또는 항목을 평가하지 않은 사용자포함하도록 데이터 세트를 미리 필터링합니다.

    Warning

    사용자 기능을 사용하지 않고 모델을 학습한 경우 점수 매기기 중에 사용자 기능을 도입할 수 없습니다.

  5. 항목 기능의 데이터 세트가 있으면 항목 기능에 연결할 수 있습니다.

    항목 기능 데이터 세트는 첫 번째 열에 항목 식별자를 포함해야 합니다. 다시 기본 열에는 항목의 특징을 지정하는 값이 포함되어야 합니다.

    학습 데이터 세트의 등급이 지정된 항목의 기능은 학습 중에 이미 학습되었으므로 Wide 및 Deep Recommender 점수 매기기에서 무시됩니다. 따라서 점수 매기기 데이터 세트를 콜드 시작 항목 또는 사용자가 등급을 매기지 않은 항목으로 제한합니다.

    Warning

    항목 기능을 사용하지 않고 모델을 학습한 경우 점수 매기기 중에 항목 기능을 도입할 수 없습니다.

  6. 실행 합니다.

등급 예측에 대한 결과

출력 데이터 세트에는 각 입력 사용자 및 항목에 대한 사용자, 항목 및 예측 등급을 포함하는 세 개의 열이 포함됩니다.

또한 점수 매기기 중에 다음 변경 내용이 적용됩니다.

  • 숫자 사용자 또는 항목 기능 열의 경우 누락된 값은 누락된 학습 집합 값의 평균으로 자동으로 대체됩니다. 범주 기능의 경우 누락된 값은 이 기능의 가능한 값이 아닌 동일한 범주 값으로 대체됩니다.
  • 해당 스파스를 기본 위해 기능 값에 변환이 적용되지 않습니다.

항목 추천

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

  1. 학습된 Wide 및 Deep 권장 사항 모델을 실험에 추가하고 학습된 Wide 및 Deep 권장 사항 모델에 연결합니다. 와이드 및 딥 추천 학습을 사용하여 모델을 만들어야 합니다.

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

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

    • 등급이 지정된 항목에서(모델 평가의 경우): 모델을 개발하거나 테스트하는 경우 이 옵션을 선택합니다. 이 옵션은 평가 모드를 사용하도록 설정하며, 구성 요소는 등급이 지정된 입력 데이터 세트의 해당 항목에서만 추천을 만듭니다.
    • 모든 항목에서: 웹 서비스 또는 프로덕션에서 사용할 실험을 설정하는 경우 이 옵션을 선택합니다. 이 옵션은 프로덕션 모드를 사용하도록 설정하며, 구성 요소는 학습 중에 확인된 모든 항목에서 추천을 만듭니다.
    • 등급이 지정되지 않은 항목에서(사용자에게 새 항목 제안): 구성 요소가 등급이 지정되지 않은 학습 데이터 세트의 항목에서만 추천을 만들도록 하려면 이 옵션을 선택합니다.
  4. 예측을 만들 데이터 세트를 추가하고 점수를 매길 데이터 세트에 연결합니다.

    • 모든 항목에서 옵션을 선택하는 경우 입력 데이터 세트는 권장 사항을 만들 사용자의 식별자를 포함하는 하나의 열만 구성해야 합니다.

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

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

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

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

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

  5. (선택 사항). 사용자 기능의 데이터 세트가 있는 경우 사용자 기능에 연결합니다.

    사용자 기능 데이터 세트의 첫 번째 열에는 사용자 ID가 포함되어야 합니다. 다시 기본 열에는 성별, 기본 설정, 위치 등 사용자의 특징을 지정하는 값이 포함되어야 합니다.

    항목의 등급을 지정한 사용자의 기능은 학습 중에 이미 학습되었으므로 와이드 및 딥 추천 점수 매기기에서 무시됩니다. 따라서 콜드 시작 사용자 또는 항목의 등급을 지정하지 않은 사용자만 포함하도록 데이터 세트를 미리 필터링합니다.

    Warning

    사용자 기능을 사용하지 않고 모델을 학습한 경우 점수 매기기 중에는 적용 기능을 사용할 수 없습니다.

  6. (선택 사항) 항목 기능의 데이터 세트가 있는 경우 항목 기능에 연결할 수 있습니다.

    항목 기능 데이터 세트의 첫 번째 열에는 항목 식별자가 포함되어야 합니다. 다시 기본 열에는 항목의 특징을 지정하는 값이 포함되어야 합니다.

    등급이 지정된 항목의 기능은 학습 중에 이미 학습되었으므로 와이드 및 딥 추천 점수 매기기에서 무시됩니다. 따라서 점수 매기기 데이터 세트를 콜드 시작 항목 또는 사용자가 평가하지 않은 항목으로 제한할 수 있습니다.

    Warning

    항목 기능을 사용하지 않고 모델을 학습한 경우 점수를 매길 때 항목 기능을 사용하지 마십시오.

  7. 사용자에게 추천할 최대 항목 수: 각 사용자에 대해 반환할 항목 수를 입력합니다. 기본적으로 5개 항목이 권장됩니다.

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

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

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

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

  10. 실행 합니다.

항목 추천의 결과

와이드 및 딥 추천 점수 매기기에서 반환되는 점수가 매겨진 데이터 세트에는 각 사용자에 대한 추천 항목이 표시됩니다.

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

기술 정보

이 섹션에서는 와이드 및 딥 추천을 사용하여 예측을 작성하는 작업과 관련된 일반적인 질문과 대답을 제공합니다.

콜드 시작 사용자 및 추천

일반적으로 추천을 만들려면 와이드 및 딥 추천 점수 매기기 구성 요소에서 사용자 ID를 포함하여 모델을 학습시킬 때 사용한 것과 동일한 입력이 필요합니다. 이는 학습 중에 이 사용자에 대한 정보를 알 수 있는지 여부를 알고리즘이 알고 있어야 하기 때문입니다.

그러나 새 사용자의 경우에는 사용자 ID는 없고 연령, 성별 등의 일부 사용자 특성만 있을 수도 있습니다.

콜드 시작 사용자로 처리하여 시스템에 새로운 사용자에 대한 권장 사항을 만들 수 있습니다. 이러한 사용자의 경우 권장 사항 알고리즘은 과거 기록 또는 이전 등급을 사용하지 않고 사용자 기능만 사용합니다.

예측을 위해 콜드 시작 사용자는 학습에 사용되지 않은 ID를 가진 사용자로 정의됩니다. ID가 학습에 사용된 ID와 일치하지 않도록 하기 위해 새 식별자를 만들 수 있습니다. 예를 들어 지정된 범위 내에서 임의의 ID를 생성하거나 콜드 시작 사용자에게 일련의 ID를 미리 할당할 수 있습니다.

그러나 사용자 기능의 벡터와 같은 공동 작업 필터링 데이터가 없는 경우 분류 또는 회귀 학습자를 사용하는 것이 좋습니다.

와이드 및 딥 추천의 프로덕션 사용

Wide 및 Deep 추천을 실험한 다음 모델을 프로덕션으로 이동한 경우 평가 모드 및 프로덕션 모드에서 추천기를 사용할 때 다음과 같은 주요 차이점을 알고 있어야 합니다.

  • 정의에 따라 평가하려면 테스트 집합의 기본 진리에 대해 확인할 수 있는 예측이 필요합니다. 따라서 추천을 평가할 때 테스트 집합에서 등급이 지정된 항목만 예측해야 합니다. 이렇게 하면 예측 가능한 값이 제한됩니다.

    그러나 모델을 운영할 때 최상의 예측을 얻기 위해 일반적으로 예측 모드를 변경하여 가능한 모든 항목을 기반으로 권장 사항을 만듭니다. 이러한 예측의 대부분은 해당 근거 진리가 없으므로 실험 중과 같은 방식으로 권장 사항의 정확도를 확인할 수 없습니다.

  • 프로덕션 환경에서 사용자 ID를 제공하지 않고 기능 벡터만 제공하는 경우 가능한 모든 사용자에 대한 모든 권장 사항 목록을 응답으로 받을 수 있습니다. 사용자 ID를 제공해야 합니다.

    반환되는 권장 사항 수를 제한하기 위해 사용자당 반환되는 최대 항목 수를 지정할 수도 있습니다.

다음 단계

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