기계 학습에서 과적합이란 무엇입니까?

게시 됨: 2024-10-15

과적합은 기계 학습(ML) 모델을 훈련할 때 발생하는 일반적인 문제입니다. 이는 훈련 데이터 이상으로 일반화하는 모델의 능력에 부정적인 영향을 미쳐 실제 시나리오에서 부정확한 예측을 초래할 수 있습니다. 이 기사에서는 과적합이 무엇인지, 어떻게 발생하는지, 과적합의 일반적인 원인, 과적합을 감지하고 예방하는 효과적인 방법을 살펴보겠습니다.

목차

  • 과적합이란 무엇입니까?
  • 과적합이 발생하는 방식
  • 과적합 대 과소적합
  • 과적합의 원인은 무엇입니까?
  • 과적합을 감지하는 방법
  • 과적합을 방지하는 방법
  • 과적합의 예

Grammarly로 더욱 스마트하게 작업하세요
할 일이 있는 모든 사람을 위한 AI 글쓰기 파트너

과적합이란 무엇입니까?

과적합은 기계 학습 모델이 훈련 데이터의 기본 패턴과 노이즈를 학습하여 해당 특정 데이터 세트에 지나치게 특화되는 경우입니다. 훈련 데이터의 세부 사항에 과도하게 초점을 맞추면 모델이 훈련된 데이터 이상으로 일반화하지 못하기 때문에 새로운, 보이지 않는 데이터에 모델을 적용할 때 성능이 저하됩니다.

과적합은 어떻게 발생하나요?

과적합은 모델이 훈련 데이터의 특정 세부 사항과 노이즈로부터 너무 많은 것을 학습하여 일반화에 의미가 없는 패턴에 지나치게 민감해질 때 발생합니다. 예를 들어, 과거 평가를 기반으로 직원 성과를 예측하기 위해 구축된 모델을 생각해 보세요. 모델이 과대적합되면 이전 관리자의 고유한 평가 스타일이나 과거 검토 주기 중 특정 상황과 같이 일반화할 수 없는 특정 세부 사항에 너무 많이 집중할 수 있습니다. 기술, 경험, 프로젝트 결과 등 성과에 기여하는 더 광범위하고 의미 있는 요소를 학습하는 대신 모델은 해당 지식을 신입 직원에게 적용하거나 평가 기준을 발전시키는 데 어려움을 겪을 수 있습니다. 이로 인해 훈련 ​​세트와 다른 데이터에 모델을 적용하면 예측 정확도가 떨어집니다.

과적합 대 과소적합

과적합과 달리 과소적합은 모델이 너무 단순하여 데이터의 기본 패턴을 포착할 수 없을 때 발생합니다. 결과적으로 훈련은 물론 새로운 데이터에 대해서도 성능이 저하되어 정확한 예측에 실패합니다.

과소적합과 과적합의 차이를 시각화하기 위해 사람의 스트레스 수준을 기준으로 운동 능력을 예측한다고 가정해 보겠습니다. 데이터를 플롯하고 이 관계를 예측하는 세 가지 모델을 표시할 수 있습니다.

과소적합, 잘 맞는 모델, 과적합을 보여주는 세 개의 병렬 플롯

1 과소적합:첫 번째 예에서 모델은 직선을 사용하여 예측을 하는 반면 실제 데이터는 곡선을 따릅니다. 모델이 너무 단순하여 스트레스 수준과 운동 능력 간의 관계의 복잡성을 포착하지 못합니다. 결과적으로 훈련 데이터에 대해서도 예측이 대부분 부정확합니다. 이것은 과소적합입니다.

2최적의 핏:두 번째 예는 올바른 균형을 유지하는 모델을 보여줍니다. 이는 데이터를 지나치게 복잡하게 만들지 않고도 데이터의 기본 추세를 포착합니다. 이 모델은 훈련 데이터의 모든 작은 변형을 모두 맞추려고 시도하지 않고 핵심 패턴만 맞추려고 시도하기 때문에 새 데이터에 대해 잘 일반화됩니다.

3과적합:마지막 예에서 모델은 훈련 데이터를 맞추기 위해 매우 복잡한 물결 모양 곡선을 사용합니다. 이 곡선은 훈련 데이터에 대해 매우 정확하지만 실제 관계를 나타내지 않는 임의의 노이즈와 이상값도 캡처합니다. 이 모델은 훈련 데이터에 너무 세밀하게 조정되어 있어 보이지 않는 새로운 데이터에 대해 잘못된 예측을 할 가능성이 높기 때문에 과적합입니다.

과적합의 일반적인 원인

이제 우리는 과적합이 무엇인지, 왜 발생하는지 알았습니다. 몇 가지 일반적인 원인을 더 자세히 살펴보겠습니다.

  • 훈련 데이터가 부족함
  • 부정확하거나 오류가 있거나 관련성이 없는 데이터
  • 큰 무게
  • 과도한 훈련
  • 모델 아키텍처가 너무 정교함

훈련 데이터가 부족함

학습 데이터 세트가 너무 작으면 모델이 실제 세계에서 접하게 될 시나리오 중 일부만 나타낼 수 있습니다. 훈련하는 동안 모델은 데이터에 잘 맞을 수 있습니다. 그러나 다른 데이터에 대해 테스트하면 상당한 부정확성이 나타날 수 있습니다. 데이터 세트가 작으면 모델이 보이지 않는 상황으로 일반화하는 능력이 제한되어 과적합이 발생하기 쉽습니다.

부정확하거나 오류가 있거나 관련성이 없는 데이터

훈련 데이터 세트가 크더라도 오류가 포함될 수 있습니다. 이러한 오류는 참가자가 설문조사에서 잘못된 정보를 제공하거나 잘못된 센서 판독값 등 다양한 소스에서 발생할 수 있습니다. 모델이 이러한 부정확성으로부터 학습하려고 시도하면 실제 기본 관계를 반영하지 않는 패턴에 적응하여 과적합이 발생합니다.

큰 무게

기계 학습 모델에서 가중치는 예측 시 데이터의 특정 기능에 할당된 중요도를 나타내는 숫자 값입니다. 가중치가 불균형적으로 커지면 모델이 과적합되어 데이터의 노이즈를 비롯한 특정 기능에 지나치게 민감해질 수 있습니다. 이는 모델이 특정 기능에 너무 의존하게 되어 새로운 데이터로 일반화하는 능력이 손상되기 때문에 발생합니다.

과도한 훈련

훈련 중에 알고리즘은 데이터를 배치로 처리하고 각 배치에 대한 오류를 계산하며 모델의 가중치를 조정하여 정확도를 향상시킵니다.

가능한 한 오랫동안 훈련을 계속하는 것이 좋은 생각입니까? 설마! 동일한 데이터에 대한 장기간의 훈련으로 인해 모델이 특정 데이터 포인트를 기억하게 되어 새 데이터나 보이지 않는 데이터로 일반화하는 능력이 제한될 수 있습니다. 이것이 바로 과적합의 핵심입니다. 이러한 유형의 과적합은 조기 중지 기술을 사용하거나 훈련 중에 검증 세트에 대한 모델 성능을 모니터링하여 완화할 수 있습니다. 이 기사의 뒷부분에서 이것이 어떻게 작동하는지 논의할 것입니다.

모델 아키텍처가 너무 복잡함

기계 학습 모델의 아키텍처는 계층과 뉴런이 구조화되는 방식, 정보를 처리하기 위해 상호 작용하는 방식을 나타냅니다.

더 복잡한 아키텍처에서는 훈련 데이터의 세부 패턴을 캡처할 수 있습니다. 그러나 이러한 복잡성으로 인해 모델이 새 데이터에 대한 정확한 예측에 기여하지 않는 노이즈나 관련 없는 세부 사항을 캡처하는 방법도 학습할 수 있으므로 과적합 가능성이 높아집니다. 아키텍처를 단순화하거나 정규화 기술을 사용하면 과적합 위험을 줄이는 데 도움이 될 수 있습니다.

과적합을 감지하는 방법

과적합이 발생하는 경우에도 훈련 중에 모든 것이 잘 진행되는 것처럼 보일 수 있으므로 과적합을 감지하는 것은 까다로울 수 있습니다. 모델이 얼마나 자주 잘못된지를 측정하는 손실(또는 오류) 비율은 과적합 시나리오에서도 계속 감소합니다. 그렇다면 과적합이 발생했는지 어떻게 알 수 있을까요? 신뢰할 수 있는 테스트가 필요합니다.

효과적인 방법 중 하나는 손실이라는 측정값을 추적하는 차트인 학습 곡선을 사용하는 것입니다. 손실은 모델이 만드는 오류의 크기를 나타냅니다. 그러나 훈련 데이터의 손실만 추적하는 것은 아닙니다. 검증 데이터라고 불리는 보이지 않는 데이터의 손실도 측정합니다. 이것이 학습 곡선에 일반적으로 훈련 손실과 검증 손실이라는 두 개의 선이 있는 이유입니다.

훈련 손실이 예상대로 계속 감소하지만 검증 손실이 증가하는 경우 이는 과적합을 의미합니다. 즉, 모델이 훈련 데이터에 지나치게 특화되고 있으며, 보이지 않는 새로운 데이터에 일반화하는 데 어려움을 겪고 있습니다. 학습 곡선은 다음과 같습니다.

대체 텍스트: 훈련 손실은 감소하고 검증 손실은 증가하는 것을 보여주는 그래프로, 모델 과적합을 나타냅니다.

이 시나리오에서는 훈련 중에 모델이 향상되지만, 보이지 않는 데이터에서는 성능이 저하됩니다. 이는 과적합이 발생했음을 의미할 가능성이 높습니다.

과적합을 방지하는 방법

과적합은 여러 가지 기술을 사용하여 해결할 수 있습니다. 가장 일반적인 방법은 다음과 같습니다.

모델 크기 줄이기

대부분의 모델 아키텍처에서는 레이어 수, 레이어 크기, 하이퍼파라미터로 알려진 기타 매개변수를 변경하여 가중치 수를 조정할 수 있습니다. 모델의 복잡성으로 인해 과적합이 발생하는 경우 크기를 줄이는 것이 도움이 될 수 있습니다. 레이어 또는 뉴런 수를 줄여 모델을 단순화하면 모델이 훈련 데이터를 기억할 기회가 줄어들기 때문에 과적합 위험을 낮출 수 있습니다.

모델 정규화

정규화에는 큰 가중치를 방지하기 위해 모델을 수정하는 작업이 포함됩니다. 한 가지 접근 방식은 오류를 측정하고 가중치 크기를 포함하도록 손실 함수를 조정하는 것입니다.

정규화를 사용하면 훈련 알고리즘은 오류와 가중치 크기를 모두 최소화하여 모델에 명확한 이점을 제공하지 않는 한 큰 가중치가 발생할 가능성을 줄입니다. 이는 모델을 보다 일반화하여 과적합을 방지하는 데 도움이 됩니다.

더 많은 훈련 데이터 추가

훈련 데이터 세트의 크기를 늘리면 과적합을 방지하는 데 도움이 될 수도 있습니다. 데이터가 많을수록 모델은 데이터세트의 노이즈나 부정확성에 의해 영향을 받을 가능성이 줄어듭니다. 모델을 더 다양한 사례에 노출하면 개별 데이터 포인트를 기억하는 경향이 줄어들고 대신 더 광범위한 패턴을 배울 수 있습니다.

차원 축소 적용

때로는 데이터에 상관된 기능(또는 차원)이 포함될 수 있습니다. 이는 여러 기능이 어떤 방식으로든 관련되어 있음을 의미합니다. 기계 학습 모델은 차원을 독립적인 것으로 처리하므로 기능이 서로 연관되어 있으면 모델이 해당 기능에 너무 집중하여 과적합으로 이어질 수 있습니다.

주성분 분석(PCA)과 같은 통계 기술을 사용하면 이러한 상관 관계를 줄일 수 있습니다. PCA는 차원 수를 줄이고 상관 관계를 제거하여 데이터를 단순화하여 과적합 가능성을 줄입니다. 가장 관련성이 높은 기능에 초점을 맞춤으로써 모델은 새로운 데이터에 대한 일반화를 더욱 효과적으로 수행할 수 있습니다.

과적합의 실제 예

과적합을 더 잘 이해하기 위해 과적합이 잘못된 결과를 초래할 수 있는 다양한 분야의 몇 가지 실제 사례를 살펴보겠습니다.

이미지 분류

이미지 분류자는 이미지의 개체(예: 사진에 새가 포함되어 있는지 개가 포함되어 있는지)를 인식하도록 설계되었습니다.

다른 세부 사항은 이 사진에서 감지하려는 내용과 연관될 수 있습니다. 예를 들어, 개 사진에는 배경에 풀이 있는 경우가 많고, 새 사진에는 배경에 하늘이나 나무 꼭대기가 있는 경우가 많습니다.

모든 훈련 이미지에 일관된 배경 세부정보가 있는 경우 기계 학습 모델은 동물 자체의 실제 특징에 초점을 맞추기보다는 배경에 의존하여 동물을 인식할 수 있습니다. 결과적으로 모델이 잔디밭에 앉아 있는 새의 이미지를 분류하도록 요청하면 배경 정보에 과적합되어 있기 때문에 이를 개로 잘못 분류할 수 있습니다. 이는 훈련 데이터에 과적합된 경우입니다.

재무 모델링

여가 시간에 주식을 거래하고 있으며 특정 키워드에 대한 Google 검색 동향을 기반으로 가격 변동을 예측하는 것이 가능하다고 가정해 보겠습니다. 수천 개의 단어에 대한 Google 트렌드 데이터를 사용하여 기계 학습 모델을 설정합니다.

단어가 너무 많기 때문에 일부 단어는 순전히 우연히 주가와 상관관계를 나타낼 가능성이 높습니다. 모델은 이러한 우연적 상관 관계를 과대적합할 수 있으며, 단어가 주가에 대한 관련 예측변수가 아니기 때문에 미래 데이터에 대한 예측이 좋지 않을 수 있습니다.

금융 애플리케이션을 위한 모델을 구축할 때는 데이터 관계의 이론적 기초를 이해하는 것이 중요합니다. 신중한 기능 선택 없이 대규모 데이터 세트를 모델에 공급하면 과적합 위험이 높아질 수 있습니다. 특히 모델이 훈련 데이터에서 순전히 우연히 존재하는 허위 상관 관계를 식별하는 경우 더욱 그렇습니다.

스포츠 미신

기계 학습과 엄격하게 관련되어 있지는 않지만 스포츠 미신은 과적합의 개념을 설명할 수 있습니다. 특히 결과가 논리적으로 결과와 아무런 관련이 없는 데이터에 연결되어 있는 경우 더욱 그렇습니다.

UEFA 유로 ​​2008 축구 선수권 대회와 2010 FIFA 월드컵 기간 동안 Paul이라는 문어는 독일과 관련된 경기 결과를 예측하는 데 사용된 것으로 유명합니다. Paul은 2008년에 6개의 예측 중 4개가 맞았고 2010년에는 7개가 모두 맞았습니다.

Paul의 과거 예측에 대한 '훈련 데이터'만 고려한다면 Paul의 선택에 동의하는 모델이 결과를 매우 잘 예측하는 것처럼 보일 것입니다. 그러나 문어의 선택은 경기 결과를 예측하는 신뢰할 수 없는 변수이기 때문에 이 모델은 향후 게임에 잘 일반화되지 않습니다.