ML 모델 평가 - Amazon Machine Learning

더 이상 Amazon Machine Learning 서비스를 업데이트하거나 새 사용자를 받지 않습니다. 이 설명서는 기존 사용자에 제공되지만 더 이상 업데이트되지 않습니다. 자세한 내용은 Amazon Machine Learning이란? 단원을 참조하세요.

ML 모델 평가

항상 모델을 평가하여 새 데이터 및 미래 데이터에 대한 대상 예측에 적합한지 판단해야 합니다. 미래 인스턴스에는 알 수 없는 대상 값이 있으므로 이미 대상 답변을 알고 있는 데이터에 대해 ML 모델의 정확도 지표를 확인하고 이 평가를 미래 데이터에 대한 예측 정확도를 위한 프록시로 사용해야 합니다.

모델을 제대로 평가하려면 학습 데이터 소스의 대상(실측 자료)으로 레이블이 지정된 데이터 샘플을 추출해야 합니다. 학습에 사용된 것과 동일한 데이터를 사용하여 모델을 평가하는 것은 유용하지 않은데, 이는 일반화하는 것과 대조적으로 학습 데이터를 "기억"할 수 있는 모델에 대한 보상을 하기 때문입니다. ML 모델 학습을 마치면 대상 값을 알고 있는 보류된 관측치를 모델에 전송합니다. 그런 다음 ML 모델에서 반환된 예측치를 알려진 대상 값과 비교합니다. 마지막으로 예측값과 실제 값이 얼마나 잘 일치하는지 알려주는 요약 지표를 계산합니다.

Amazon ML에서는 평가를 생성하여 ML 모델을 평가합니다. ML 모델에 대한 평가를 생성하려면 평가하려는 ML 모델과 학습에 사용되지 않은 레이블이 지정된 데이터가 필요합니다. 먼저 보류된 데이터로 Amazon ML 데이터 소스를 생성하여 평가용 데이터 소스를 생성합니다. 평가에 사용되는 데이터는 학습에 사용된 데이터와 동일한 스키마를 가져야 하며 대상 변수의 실제 값을 포함하고 있어야 합니다.

모든 데이터가 단일 파일 또는 디렉터리에 있는 경우 Amazon ML 콘솔을 사용하여 데이터를 분할할 수 있습니다. ML 모델 생성 마법사의 기본 경로는 입력 데이터 소스를 분할하여 처음 70%는 학습 데이터 소스에 사용하고 나머지 30%는 평가 데이터 소스에 사용합니다. ML 모델 생성 마법사의 사용자 지정 옵션을 사용하여 분할 비율을 사용자 지정할 수도 있습니다. 이 옵션에서는 학습에 사용할 무작위 70% 샘플을 선택하고 나머지 30%는 평가에 사용하도록 선택할 수 있습니다. 사용자 지정 분할 비율을 추가로 지정하려면 데이터 소스 생성 API의 데이터 재배열 문자열을 사용합니다. 평가 데이터 소스와 ML 모델이 있으면 평가를 만들고 평가 결과를 검토할 수 있습니다.

과적합 방지

ML 모델을 만들고 학습시킬 때 목표는 최상의 예측을 하는 모델을 선택하는 것입니다. 즉, 최상의 설정(ML 모델 설정 또는 하이퍼파라미터)을 가진 모델을 선택해야 합니다. Amazon Machine Learning에서는 사용자가 설정할 수 있는 네 가지 하이퍼파라미터, 즉 전달 수, 정규화, 모델 크기, 셔플 유형이 있습니다. 하지만 평가 데이터에서 "최상의" 예측 성능을 제공하는 모델 파라미터 설정을 선택하면 모델이 과적합될 수 있습니다. 과적합은 학습 및 평가 데이터 소스에서 발생하는 패턴을 모델에 기억시켰지만 데이터의 패턴을 일반화하지 못한 경우 발생합니다. 학습 데이터에 평가에 사용된 모든 데이터가 포함된 경우 자주 발생합니다. 과적합 모델은 평가 중에는 잘 작동하지만 보이지 않는 데이터에 대해서는 정확한 예측을 하지 못합니다.

과적합 모델이 최적 모델로 선택되지 않도록 추가 데이터를 예약하여 ML 모델의 성능을 검증할 수 있습니다. 예를 들어 데이터를 학습용 60%, 평가용 20%, 검증용 추가 20%로 나눌 수 있습니다. 평가 데이터에 적합한 모델 파라미터를 선택한 후 검증 데이터를 사용하여 두 번째 평가를 실행하여 ML 모델이 검증 데이터에서 얼마나 잘 수행되는지 확인합니다. 모델이 검증 데이터에 대한 기대치를 충족한다고 해서 모델이 데이터를 과적합시킨 것은 아닙니다.

세 번째 데이터 세트를 검증에 사용하면 적절한 ML 모델 파라미터를 선택하여 과적합을 방지할 수 있습니다. 하지만 학습 프로세스의 데이터를 평가와 검증 모두에 적용하면 학습에 사용할 수 있는 데이터가 줄어듭니다. 학습에 최대한 많은 데이터를 사용하는 것이 항상 최선이기 때문에 데이터 세트가 작은 경우에는 특히 문제가 됩니다. 이 문제를 해결하려면 교차 검증을 수행하면 됩니다. NFC 검증에 대한 자세한 내용은 교차 검증 단원을 참조하세요.