교차 검증 - Amazon Machine Learning

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

교차 검증

교차 검증은 사용 가능한 입력 데이터의 하위 집합에서 여러 ML 모델을 학습시키고 보완적인 데이터 하위 집합에서 평가하여 ML 모델을 평가하는 기법입니다. 교차 검증을 사용하면 과적합(예: 패턴 일반화 실패)을 탐지할 수 있습니다.

Amazon ML에서는 k중 교차 검증 방법을 사용하여 교차 검증을 수행할 수 있습니다. k-겹 교차 검증에서는 입력 데이터를 k개의 데이터 하위 집합(폴드라고도 함)으로 분할합니다. 부분 집합 중 하나(k-1)를 제외한 모든 하위 집합에 대해 ML 모델을 학습시킨 다음 학습에 사용되지 않은 부분 집합에서 모델을 평가합니다. 이 프로세스는 k번 반복되며, 매번 다른 하위 집합을 평가용으로 예약하고 학습에서 제외합니다.

다음 다이어그램에서는 4중 교차 검증을 통해 생성되고 훈련된 4개 모델 각각에 대해 생성된 학습 하위 집합과 보완 평가 하위 집합의 예를 보여줍니다. 모델 1은 데이터의 처음 25%를 평가에 사용하고 나머지 75%는 학습에 사용합니다. 모델 2는 두 번째 부분 집합인 25%(25% ~ 50%)를 평가에 사용하고 나머지 세 가지 데이터 하위 집합은 학습에 사용하는 식입니다.

Four rectangles showing data division for cross-validation models with training and evaluation subsets.

각 모델은 보완적인 데이터 소스를 사용하여 학습 및 평가됩니다. 평가 데이터 소스의 데이터에는 학습 데이터 소스에 없는 모든 데이터가 포함되며 이에만 국한됩니다. createDatasourceFromS3, createDatasourceFromRedShiftcreateDatasourceFromRDS API의 DataRearrangement 파라미터를 사용하여 이러한 각 하위 집합에 대한 데이터 소스를 생성합니다. DataRearrangement 파라미터에서 각 세그먼트의 시작 위치와 끝 위치를 지정하여 데이터 소스에 포함시킬 데이터 하위 집합을 지정합니다. 4k중 교차 검증에 필요한 보완 데이터 소스를 만들려면 다음 예제와 같이 DataRearrangement 파라미터를 지정합니다.

모델 1:

평가용 데이터 소스:

{"splitting":{"percentBegin":0, "percentEnd":25}}

학습용 데이터 소스:

{"splitting":{"percentBegin":0, "percentEnd":25, "complement":"true"}}

모델 2:

평가용 데이터 소스:

{"splitting":{"percentBegin":25, "percentEnd":50}}

학습용 데이터 소스:

{"splitting":{"percentBegin":25, "percentEnd":50, "complement":"true"}}

모델 3:

평가용 데이터 소스:

{"splitting":{"percentBegin":50, "percentEnd":75}}

학습용 데이터 소스:

{"splitting":{"percentBegin":50, "percentEnd":75, "complement":"true"}}

모델 4:

평가용 데이터 소스:

{"splitting":{"percentBegin":75, "percentEnd":100}}

학습용 데이터 소스:

{"splitting":{"percentBegin":75, "percentEnd":100, "complement":"true"}}

4중 교차 검증을 수행하면 모델 4개, 모델 학습을 위한 데이터 소스 4개, 모델 평가를 위한 데이터 소스 4개, 모델당 1개씩 총 4개의 평가가 생성됩니다. Amazon ML은 각 평가에 대해 모델 성능 지표를 생성합니다. 예를 들어 바이너리 분류 문제에 대한 4중 교차 검증에서 각 평가는 곡선하면적(AUC) 지표를 보고합니다. 4개의 AUC 지표의 평균을 계산하여 전체 성능 측정값을 얻을 수 있습니다. AUC 지표에 대한 자세한 내용은 ML 모델 정확도 측정 단원을 참조하세요.

교차 검증을 생성하고 모델 점수를 평균화하는 방법을 보여주는 샘플 코드에 대해서는 Amazon ML 샘플 코드 단원을 참조하세요.

모델 조정

모델을 교차 검증한 후 모델이 표준에 맞지 않는 경우 다음 모델에 대한 설정을 조정할 수 있습니다. 과적합에 대한 자세한 내용은 모델 적합성: 과소적합과 과적합 비교 단원을 참조하세요. 정규화에 대한 자세한 내용은 정규화 단원을 참조하세요. 정규화 설정 변경에 대한 자세한 내용은 사용자 지정 옵션을 사용하여 ML 모델 생성 단원을 참조하세요.