과적합이란 무엇입니까?

과적합은 기계 학습 모델이 훈련 데이터에 대한 정확한 예측을 제공하지만 새 데이터에 대해서는 제공하지 않을 때 발생하는 바람직하지 않은 기계 학습 동작입니다. 데이터 과학자는 기계 학습 모델을 사용하여 예측을 수행할 때 먼저 알려진 데이터 세트에 대해 모델을 훈련시킵니다. 그런 다음 이 정보를 기반으로 모델은 새 데이터 세트에 대한 결과를 예측하려고 시도합니다. 과적합 모형은 부정확한 예측을 제공할 수 있으며 모든 유형의 새 데이터에 대해 제대로 수행되지는 않습니다.

과대적합이 발생하는 이유는 무엇인가요?

기계 학습 모델이 해당 도메인 내의 모든 유형의 데이터에 일반화되는 경우에만 정확한 예측을 얻을 수 있습니다. 과대적합은 모델이 훈련 데이터 세트를 일반화할 수 없고 대신 너무 근접하게 적합할 때 발생합니다. 과대적합은 다음과 같은 여러 가지 이유로 발생합니다.
•    훈련 데이터 크기가 너무 작고 가능한 모든 입력 데이터 값을 정확하게 나타내기에 충분한 데이터 샘플을 포함하지 않습니다.
•    훈련 데이터에는 노이즈 데이터라고 하는 관련 없는 정보가 많이 포함되어 있습니다.
•    모델이 단일 샘플 데이터 세트에서 너무 오래 훈련합니다.
•    모델 복잡도가 높기 때문에 훈련 데이터 내의 노이즈를 학습합니다.

과대적합의 예
기계 학습 모델이 사진을 분석하고 개가 포함된 사진을 식별해야 하는 사용 사례를 생각해 보세요. 기계 학습 모델이 공원 밖에 있는 개를 보여주는 대부분의 사진이 포함된 데이터 세트에 대해 훈련된 경우 분류를 위한 기능으로 잔디를 사용하는 방법을 학습할 수 있으며 방 안의 개를 인식하지 못할 수 있습니다.
또 다른 과대적합의 예로 가계 소득, 과거 학업 성적, 부모의 학업 자격과 같은 여러 요소를 분석하여 대학생의 학업 성적과 졸업 결과를 예측하는 기계 학습 알고리즘이 있습니다. 그러나 테스트 데이터에는 특정 성별 또는 인종 그룹의 후보자만 포함됩니다. 이 경우 과대적합으로 인해 성별 또는 인종이 테스트 데이터 세트에 속하지 않는 후보자에 대한 알고리즘의 예측 정확도가 떨어집니다.

과대적합을 어떻게 감지할 수 있나요?

과대적합 모델을 감지하는 가장 좋은 방법은 가능한 입력 데이터 값과 유형을 포괄적으로 표현하여 더 많은 데이터에 대해 기계 학습 모델을 테스트하는 것입니다. 일반적으로 훈련 데이터의 일부는 과대적합 여부 확인을 위한 테스트 데이터로 사용됩니다. 테스트 데이터의 높은 오류율은 과대적합을 나타냅니다. 과대적합을 테스트하는 한 가지 방법이 아래에 나와 있습니다.
K-폴드 교차 검증
교차 검증은 실제로 사용되는 테스트 방법 중 하나입니다. 이 방법에서 데이터 사이언티스트는 훈련 세트를 동일한 크기의 K개의 부분 세트 또는 폴드라고 하는 샘플 세트로 나눕니다. 훈련 과정은 일련의 반복으로 구성됩니다. 각 반복 동안 단계는 다음과 같습니다.
1.    하나의 하위 세트를 검증 데이터로 유지하고 나머지 K-1 하위 세트에 대해 기계 학습 모델을 훈련시킵니다.
2.    검증 샘플에서 모델이 어떻게 작동하는지 관찰합니다.
3.    출력 데이터 품질을 기준으로 모델 성능을 평가합니다.


모든 샘플 세트에서 모델을 테스트할 때까지 반복됩니다. 그런 다음 모든 반복에서 점수의 평균을 구하여 예측 모델의 최종 평가를 얻습니다.

어떻게 과대적합을 방지할 수 있나요?

훈련 데이터 세트를 다양화하고 조정하거나 아래와 같은 다른 데이터 과학 전략을 사용하여 과대적합을 방지할 수 있습니다.
조기 중지
조기 중지는 기계 학습 모델이 데이터의 노이즈를 학습하기 전에 학습 단계를 일시 중지합니다. 그러나 타이밍을 맞추는 것이 중요합니다. 그렇지 않으면 모델은 여전히 ​​정확한 결과를 제공하지 않습니다.
프루닝
모델을 작성할 때 최종 예측에 영향을 주는 여러 기능이나 파라미터를 식별할 수 있습니다. 기능 선택 또는 프루닝은 훈련 세트 내에서 가장 중요한 기능을 식별하고 관계없는 기능을 제거합니다. 예를 들어, 이미지가 동물인지 사람인지 예측하기 위해 얼굴 모양, 귀 위치, 신체 구조 등의 다양한 입력 파라미터를 볼 수 있습니다. 얼굴 모양을 우선시하고 눈 모양은 무시할 수 있습니다.
정규화
정규화는 과대적합을 줄이기 위한 훈련/최적화 기술의 모음입니다. 이러한 방법은 중요도에 따라 기능을 등급화하여 예측 결과에 영향을 미치지 않는 요소를 제거하려고 합니다. 예를 들어, 수학적 계산은 최소한의 영향으로 기능에 패널티 값을 적용합니다. 20년 후 도시의 주택 가격을 예측하려는 통계 모델을 고려해 보세요. 정규화는 인구 증가 및 평균 연간 소득과 같은 기능에 더 낮은 패널티 값을 부여하지만 도시의 평균 연간 온도에는 더 높은 패널티 값을 부여합니다.
앙상블링
앙상블링은 여러 개별 기계 학습 알고리즘의 예측을 결합합니다. 일부 모델은 결과가 부정확한 경우가 많기 때문에 취약한 학습자라고 합니다. 앙상블 방법은 취약한 학습자를 모두 결합하여 더 정확한 결과를 얻습니다. 여러 모델을 사용하여 샘플 데이터를 분석하고 가장 정확한 결과를 선택합니다. 2가지 주요 앙상블 방법은 배깅과 부스팅입니다. 부스팅은 서로 다른 기계 학습 모델을 차례로 훈련하여 최종 결과를 얻는 반면 배깅은 병렬로 훈련시킵니다.
데이터 증강
데이터 증강은 모델이 처리할 때마다 샘플 데이터를 약간씩 변경하는 기계 학습 기술입니다. 이렇게 하려면 입력 데이터를 조금만 변경하면 됩니다. 적당히 수행되면 데이터 증강은 학습 세트를 모델에 고유하게 표시하여 모델이 특성을 학습하지 못하게 합니다. 예를 들어, 변환, 뒤집기, 회전과 같은 변환을 입력 이미지에 적용합니다.

 

과소적합이란 무엇인가요?

과소적합은 모델이 입력 데이터와 출력 데이터 간의 유의미한 관계를 확인할 수 없을 때 발생하는 또 다른 유형의 오류입니다. 적절한 기간 동안 많은 데이터 포인트에 대해 훈련하지 않으면 과소적합 모델이 됩니다.
과소적합과 과대적합 비교
과소적합 모델은 훈련 데이터와 테스트 세트 모두에 대해 부정확한 결과를 제공하므로 편향성이 높습니다. 반면, 과대적합 모델은 높은 분산을 경험합니다. 즉, 훈련 세트에 대해서는 정확한 결과를 제공하지만 테스트 세트에 대해서는 정확한 결과를 제공하지 않습니다. 모델 훈련이 많을수록 편향은 줄어들지만 분산은 증가할 수 있습니다. 데이터 사이언티스트는 모델을 피팅할 때 과소적합과 과대적합 사이의 최적점을 찾는 것을 목표로 합니다. 잘 피팅된 모델은 보이는 데이터 세트와 보이지 않는 데이터 세트의 주요 추세를 빠르게 설정할 수 있습니다.

AWS가 기계 학습 모델에서 과대적합 오류를 최소화하려면 어떻게 해야 하나요?

Amazon SageMaker를 사용하여 완전관리형 인프라, 도구 및 워크플로를 사용하여 모든 사용 사례에 대해 기계 학습 모델을 빌드, 훈련 및 배포할 수 있습니다. Amazon SageMaker에는 입력, 출력 및 변환과 같이 훈련 중에 생성된 데이터를 자동으로 분석하는 Amazon SageMaker Debugger라는 기본 제공 기능이 있습니다. 따라서 수동 개입 없이 과대적합 및 기타 부정확성을 감지하고 보고할 수 있습니다.

예를 들면,

  • 원하는 정확도에 도달하면 훈련 프로세스를 자동으로 중지합니다.
  • 훈련 지표를 실시간으로 캡처합니다.
  • 과대적합이 감지되면 경고를 받습니다.

기계 학습 모델 훈련에 소요되는 시간과 비용을 줄이세요. 지금 무료 계정을 만들어 AWS에서 기계 학습을 시작하세요.

AWS 과적합의 다음 단계

제품 관련 추가 리소스 확인
무료 기계 학습 서비스 - AWS 
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다. 

가입 
콘솔에서 구축 시작하기

AWS 관리 콘솔에서 구축을 시작하세요.

로그인