과적합 방지
BigQuery ML 모델 학습 시 일반적으로 발생하는 문제는 과적합입니다. 과적합은 모델이 학습 데이터와 너무 유사하여 새 데이터에서 성능이 저하될 때 발생합니다. BigQuery ML은 과적합을 방지하기 위해 조기 중단과 정규화라는 두 가지 방법을 지원합니다.
아래에 설명된 옵션을 수정하는 방법을 알아보려면 CREATE MODEL
문을 참조하세요.
조기 중단
BigQuery ML의 과적합 방지를 위한 기본 옵션은 조기 중단입니다. 조기 중단을 사용 설정하면 학습 중에 홀드아웃 데이터의 손실이 모니터링되고, 최신 반복의 손실 개선이 임곗값 아래로 떨어지면 학습이 중단됩니다. 홀드아웃 데이터는 학습 중에 사용되지 않으므로 새로운 데이터에서 모델의 손실을 잘 예측할 수 있습니다. early_stop
, min_rel_progress
, data_split_method
, data_split_eval_fraction
옵션은 조기 중단 동작을 제어합니다.
정규화
정규화는 모델이 학습 데이터와 너무 가깝게 일치하지 않도록 하여 모델 가중치가 너무 커지지 않게 유지합니다. BigQuery ML은 모델 가중치 크기를 제어하는 두 가지 방법 L1 정규화와 L2 정규화를 지원합니다.
기본적으로 l1_reg
및 l2_reg
의 값은 0이므로 정규화를 사용 중지합니다. 일부 데이터 세트에서 l1_reg
및 l2_reg
에 양수 값을 지정하면 새 데이터에 대한 학습된 모델의 성능이 향상됩니다. 정규화 매개변수에 가장 적합한 값은 일반적으로 시행착오를 통해 발견되며, 보통 다양한 자릿수(예: 0.01, 0.1, 1, 10, 100)의 값을 실험합니다.
다음은 정규화 사용에 대한 일반적인 조언입니다.
정규화 매개변수를 실험할 때 정규화의 효과가 명확해지도록 조기 중단을 사용 중지해 보세요.
특성 수가 학습 세트의 크기에 비해 큰 경우 정규화 매개변수에 큰 값을 사용해 보세요. 특성당 관찰이 몇 개에 불과하면 과적합이 발생할 위험이 커집니다.
라벨을 예측하는 데 관련이 없는 기능이 많은 경우
l1_reg
를l2_reg
보다 크게 설정하거나 그 반대로 설정해 보세요. 많은 특성이 관련이 없을 때 L1 정규화가 더 효과적이라는 이론적 증거가 있습니다.
L1 정규화의 또 다른 이점은 많은 모델 가중치를 정확히 0으로 설정하는 경향이 있다는 점입니다. 이는 가장 관련성이 높은 특성을 식별하고 소규모 모델을 학습시키는 데 유용합니다.
다음 단계
- BigQuery ML 개요는 BigQuery ML 소개를 참조하세요.
- BigQuery ML을 시작하려면 BigQuery ML에서 머신러닝 모델 만들기를 참조하세요.
- 모델 작업에 대한 자세한 내용은 다음을 참조하세요.