다음을 통해 공유


기능 중요도 평가

Important

2023년 9월 20일부터 새로운 Personalizer 리소스를 만들 수 없습니다. Personalizer 서비스는 2026년 10월 1일에 사용 중지됩니다.

기록 로그 데이터에 대한 기능 평가를 수행하여 Personalizer의 기계 학습 모델에 각 기능이 얼마나 중요한지 평가할 수 있습니다. 기능 평가는 다음과 같은 경우에 유용합니다.

  • 모델에 가장 중요하거나 가장 중요하지 않은 기능을 이해합니다.
  • 모델에서 현재 중요한 기능에서 영감을 도출하여 학습에 도움이 될 수 있는 추가 기능을 브레인스토밍합니다.
  • 추가 분석 또는 제거를 위해 고려해야 하는 잠재적으로 중요하지 않거나 유용하지 않은 기능을 식별합니다.
  • 기능을 디자인하고 Personalizer로 보낼 때 발생할 수 있는 일반적인 문제 및 오류를 해결합니다. 예를 들어 GUID, 타임스탬프 또는 일반적으로 스파스인 기타 기능을 사용하는 것은 문제가 될 수 있습니다. 모델 개선에 대한 자세한 정보

기능 평가란?

기능 평가는 지정된 기간 동안 기록적으로 수집된 로그 데이터에 대해 현재 모델 구성의 복사본을 학습하고 실행하여 수행됩니다. 기능은 각 기능이 있을 때와 없을 때의 모델 성능의 차이를 측정하기 위해 한 번에 하나씩 무시됩니다. 기능 평가는 기록 데이터에 대해 수행되므로 향후 데이터에서 이러한 패턴이 관찰될 것이라는 보장은 없습니다. 그러나 기록된 데이터가 데이터의 충분한 가변성 또는 고정되지 않은 속성을 캡처한 경우 이러한 인사이트는 향후 데이터와 여전히 관련이 있을 수 있습니다. 현재 모델의 성능은 기능 평가를 실행하여 영향을 받지 않습니다.

기능 중요도 점수는 평가 기간 동안 보상에 대한 기능의 상대적 영향을 측정한 것입니다. 기능 중요도 점수는 0(가장 중요하지 않음)에서 100(가장 중요) 사이의 숫자이며 기능 평가에 표시됩니다. 평가는 특정 기간 동안 실행되므로 추가 데이터가 Personalizer로 전송되고 시간이 지남에 따라 사용자, 시나리오 및 데이터가 변경됨에 따라 기능 중요도가 변경됩니다.

기능 평가 만들기

기능 중요도 점수를 얻으려면 기록된 데이터 기간 동안 기능 평가를 만들어 기능 중요도 점수가 포함된 보고서를 생성해야 합니다. 이 보고서는 Azure Portal 볼 수 있습니다. 기능 평가를 만들려면 다음을 수행합니다.

  1. Azure Portal 웹 사이트로 이동
  2. Personalizer 리소스 선택
  3. 측면 탐색 창에서 모니터 섹션 선택
  4. 기능 탭 선택
  5. "보고서 만들기"를 선택하여 새 화면 표시
  6. 보고서 이름 선택
  7. 평가 기간의 시작종료 시간 선택
  8. "보고서 만들기" 선택

만들기 창과 이름, 시작 날짜 및 종료 날짜를 포함하여 보고서의 필드를 채우는 방법을 보여 주는 스크린샷

다음으로, 보고서 이름이 아래 보고서 테이블에 표시됩니다. 기능 평가를 만드는 것은 장기 실행 프로세스로, 완료 시간은 평가 기간 동안 Personalizer로 전송되는 데이터의 양에 따라 달라집니다. 보고서가 생성되는 동안 상태 열은 평가에 대해 "실행 중"으로 표시되고 완료되면 "성공"으로 업데이트됩니다. 정기적으로 다시 확인하여 평가가 완료되었는지 확인하세요.

Personalizer 리소스에 로그 데이터가 있는 다양한 기간 동안 여러 기능 평가를 실행할 수 있습니다. 이전 데이터에 대한 평가를 수행할 수 있도록 데이터 보존 기간이 충분히 긴지 확인합니다.

기능 중요도 점수 해석

중요도 점수가 높은 기능

중요도 점수가 높은 기능은 다른 기능에 비해 평가 기간 동안 모델에 더 큰 영향을 미쳤습니다. 중요한 기능은 모델에 포함할 추가 기능을 디자인하는 데 영감을 줄 수 있습니다. 예를 들어 컨텍스트 기능 "IsWeekend" 또는 "IsWeekday"가 식료품 쇼핑에서 중요도가 높은 경우, 휴일 또는 긴 주말도 중요한 요소일 수 있으므로 이 정보를 캡처하는 기능을 추가하는 것이 좋습니다.

중요도 점수가 낮은 기능

중요도 점수가 낮은 기능은 추가 분석을 위한 좋은 후보입니다. 낮은 점수가 하나 이상의 이유로 발생할 수 있으므로 모든 낮은 점수 기능이 반드시 나쁘거나 유용하지는 않은 것은 아닙니다. 아래 목록은 기능의 점수가 낮은 이유를 분석하는 데 도움이 될 수 있습니다.

  • 평가 기간 동안 데이터에서 기능이 거의 관찰되지 않았습니다.

    • 이 기능의 발생 횟수가 다른 기능에 비해 낮으면 모델이 중요한지 여부를 결정하기에 기능이 자주 나타나지 않았음을 나타낼 수 있습니다.
  • 기능 값에 다양성이나 변형이 많지 않았습니다.

    • 이 기능의 고유 값 수가 예상보다 낮으면 평가 기간 동안 기능이 크게 달라지지 않았으며 중요한 인사이트를 제공하지 않음을 나타낼 수 있습니다.
  • 기능 값에 노이즈가 너무 많거나(임의적), 너무 고유하여 가치가 거의 제공되지 않았습니다.

    • 기능 평가에서 고유 값의 수를 확인합니다. 이 기능의 고유 값 수가 예상보다 높거나 다른 기능에 비해 높은 경우 평가 기간 동안 기능이 너무 노이즈가 많다는 것을 나타낼 수 있습니다.
  • 데이터 또는 서식 문제가 있습니다.

    • 기능이 원하는 방식으로 형식이 지정되어 Personalizer로 전송되는지 확인합니다.
  • 기능 점수가 낮은데 위의 이유가 적용되지 않는 경우 이 기능은 학습 및 성능을 모델링하는 데 유용하지 않을 수 있습니다.

    • 모델이 평균 보상을 최대화하는 데 도움이 되지 않으므로 기능을 제거하는 것이 좋습니다.

중요도 점수가 낮은 기능을 제거하면 학습에 필요한 데이터의 양을 줄여 모델 학습 속도를 높일 수 있습니다. 또한 잠재적으로 모델의 성능을 향상시킬 수 있습니다. 그러나 이는 보장되는 것이 아니며 추가 분석이 필요할 수 있습니다. 컨텍스트 및 작업 기능 디자인에 대해 자세히 알아봅니다.

일반적인 문제 및 기능 개선 단계

  • 카디널리티가 높은 기능을 전송합니다. 카디널리티가 높은 기능은 여러 이벤트에 대해 반복될 가능성이 없는 고유 값이 많은 기능입니다. 예를 들어, 한 개인에 대한 개인 정보(예: 이름, 전화번호, 신용 카드 번호, IP 주소)는 Personalizer에서 사용하면 안 됩니다.

  • 사용자 ID 보내기 사용자 수가 많을 경우 이 정보는 평균 보상 점수를 최대화하기 위한 Personalizer 학습과 관련이 없을 것입니다. 사용자 ID를 보내면(개인 정보가 아니더라도) 모델에 노이즈가 더 많이 추가될 수 있으며 권장되지 않습니다.

  • 기능이 너무 스파스합니다. 값이 고유하며 몇 번밖에 발생하지 않습니다.. 두 번째 타임스탬프까지의 정확한 타임스탬프는 매우 희박할 수 있습니다. 예를 들어 시간을 "아침", "정오" 또는 "오후"로 그룹화하여 더 조밀하게(더 효과적으로) 만들 수 있습니다.

위치 정보는 일반적으로 더 광범위한 분류를 만들면 이점을 얻을 수 있습니다. 예를 들어 Lat: 47.67402° N, Long: 122.12154° W와 같은 위도-경도 좌표는 너무 정확하며 모델이 위도와 경도를 고유 차원으로 학습하도록 합니다. 위치 정보를 기반으로 맞춤화하려는 경우 더 큰 섹터로 위치 정보를 그룹화하는 데 도움이 됩니다. 이 작업을 수행하는 쉬운 방법은 위도-경도 숫자에 적절한 반올림 정밀도를 선택하고 위도와 경도를 하나의 문자열로 만들어 "영역"으로 결합하는 것입니다. 예를 들어 너비가 약 몇 킬로미터인 지역에서 47.67402° N, Long: 122.12154° W를 나타내는 좋은 방법은 "location":"34.3 , 12.1"입니다.

  • 추정한 정보를 사용하여 기능 세트 확장 이미 가지고 있는 정보에서 추정할 수 있는 암묵적 특성을 생각하여 더 많은 기능을 얻을 수도 있습니다. 예를 들어 가상의 동영상 목록을 맞춤화하는 경우 주말과 평일에 사용자의 행동이 서로 다르다고 추정할 수 있나요? 시간은 "주말" 또는 "평일" 특성을 갖도록 확장할 수 있습니다. 국가/지역 문화 공휴일이 특정 영화 형식에 대한 관심을 유도하나요? 예를 들어 "핼러윈" 특성은 핼러윈 행사와 관련된 장소에서 유용합니다. 비가 오는 날씨는 많은 사람의 동영상 선택에 크게 영향을 미칠 수 있습니까? 기상 서비스에서 시간 및 장소와 함께 해당 정보를 제공하면 사용자는 해당 서비스를 특별한 기능으로 추가할 수 있습니다.

다음 단계

Personalizer로 오프라인 평가를 사용하여 정책 성능을 분석합니다.