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

게시 됨: 2024-10-16

과소적합은 기계 학습(ML) 모델을 개발하는 동안 흔히 발생하는 문제입니다. 이는 모델이 훈련 데이터로부터 효과적으로 학습할 수 없어 성능이 저하될 때 발생합니다. 이번 글에서는 과소적합이 무엇인지, 어떻게 발생하는지, 그리고 이를 방지하는 전략에 대해 살펴보겠습니다.

목차

  • 과소적합이란 무엇입니까?
  • 과소적합이 발생하는 방식
  • 과소적합과 과적합
  • 과소적합의 일반적인 원인
  • 과소적합을 감지하는 방법
  • 과소적합을 방지하는 기술
  • 과소적합의 실제 예

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

과소적합이란 무엇입니까?

과소적합은 기계 학습 모델이 훈련 데이터의 기본 패턴을 포착하지 못해 훈련 데이터와 테스트 데이터 모두에서 성능이 저하되는 경우입니다. 이런 일이 발생하면 모델이 너무 단순하고 데이터의 가장 중요한 관계를 제대로 표현하지 못한다는 의미입니다. 결과적으로 모델은 훈련 중에 표시된 데이터와 보이지 않는 새로운 데이터 등 모든 데이터에 대해 정확한 예측을 수행하는 데 어려움을 겪습니다.

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

과소적합은 기계 학습 알고리즘이 훈련 데이터의 가장 중요한 속성을 포착하지 못하는 모델을 생성할 때 발생합니다. 이런 방식으로 실패한 모델은 너무 단순한 것으로 간주됩니다. 예를 들어 선형 회귀를 사용하여 마케팅 지출, 고객 인구통계, 계절성을 기반으로 매출을 예측한다고 가정해 보겠습니다. 선형 회귀에서는 이러한 요소와 매출 간의 관계가 직선의 혼합으로 표현될 수 있다고 가정합니다.

마케팅 지출과 판매 간의 실제 관계는 곡선형이거나 여러 상호 작용(예: 판매가 처음에는 급격히 증가했다가 정체됨)을 포함할 수 있지만 선형 모델은 직선을 그려 지나치게 단순화됩니다. 이러한 단순화로 인해 중요한 미묘한 차이가 누락되어 잘못된 예측과 전반적인 성능이 발생합니다.

이 문제는 높은 편향(엄격한 가정)으로 인해 모델이 필수 패턴을 학습하지 못하여 훈련 및 테스트 데이터 모두에서 성능이 저하되는 많은 ML 모델에서 흔히 발생합니다. 과소적합은 일반적으로 모델이 너무 단순하여 데이터의 실제 복잡성을 표현할 수 없을 때 나타납니다.

과소적합과 과적합

ML에서 과소적합과 과적합은 모델의 정확한 예측 능력에 부정적인 영향을 미칠 수 있는 일반적인 문제입니다. 새로운 데이터에 잘 일반화되는 모델을 구축하려면 둘 사이의 차이점을 이해하는 것이 중요합니다.

  • 과소적합은모델이 너무 단순하여 데이터의 주요 패턴을 포착하지 못할 때 발생합니다. 이로 인해 훈련 ​​데이터와 새 데이터 모두에 대한 예측이 부정확해집니다.
  • 과대적합은모델이 지나치게 복잡해져서 실제 패턴뿐만 아니라 훈련 데이터의 노이즈까지 맞춰질 때 발생합니다. 이로 인해 모델은 훈련 세트에서는 잘 작동하지만, 새로운, 보이지 않는 데이터에서는 성능이 저하됩니다.

이러한 개념을 더 잘 설명하기 위해 스트레스 수준을 기반으로 운동 능력을 예측하는 모델을 고려해 보세요. 차트의 파란색 점은 훈련 세트의 데이터 포인트를 나타내고, 선은 해당 데이터에 대한 훈련 후 모델의 예측을 보여줍니다. 과소적합, 잘 맞는 모델, 과적합을 보여주는 세 개의 병렬 플롯.

1 과소적합:이 경우 모델은 실제 관계가 곡선임에도 불구하고 단순한 직선을 사용하여 성능을 예측합니다. 선이 데이터에 잘 맞지 않기 때문에 모델이 너무 단순하고 중요한 패턴을 포착하지 못하여 예측이 좋지 않습니다. 이는 모델이 데이터의 가장 유용한 속성을 학습하지 못하는 과소적합입니다.

2 최적 적합:여기서 모델은 데이터의 곡선을 적절하게 충분히 적합합니다. 특정 데이터 포인트나 노이즈에 지나치게 민감하지 않고 기본 추세를 포착합니다. 이는 모델이 합리적으로 잘 일반화되고 유사한 새로운 데이터에 대해 정확한 예측을 할 수 있는 바람직한 시나리오입니다. 그러나 매우 다르거나 더 복잡한 데이터 세트에 직면하면 일반화는 여전히 어려울 수 있습니다.

3 과적합: 과적합 시나리오에서 모델은 훈련 데이터의 노이즈 및 무작위 변동을 포함하여 거의 모든 데이터 포인트를 밀접하게 따릅니다. 모델은 훈련 세트에서 매우 잘 수행되지만 훈련 데이터에 너무 구체적이므로 새 데이터를 예측할 때 효율성이 떨어집니다. 일반화하는 데 어려움을 겪으며, 보이지 않는 시나리오에 적용하면 부정확한 예측을 할 가능성이 높습니다.

과소적합의 일반적인 원인

과소적합의 잠재적 원인은 다양합니다. 가장 일반적인 네 가지는 다음과 같습니다.

  • 모델 아키텍처가 너무 단순합니다.
  • 잘못된 기능 선택
  • 훈련 데이터가 부족함
  • 훈련이 충분하지 않음

이를 이해하기 위해 좀 더 자세히 살펴보겠습니다.

모델 아키텍처가 너무 단순함

모델 아키텍처는 모델을 훈련하는 데 사용되는 알고리즘과 모델 구조의 조합을 나타냅니다. 아키텍처가 너무 단순하면 훈련 데이터의 상위 수준 속성을 캡처하는 데 문제가 있어 부정확한 예측이 발생할 수 있습니다.

예를 들어 모델이 곡선 패턴을 따르는 데이터를 모델링하기 위해 단일 직선을 사용하려고 하면 지속적으로 과소적합됩니다. 이는 직선이 곡선 데이터의 상위 수준 관계를 정확하게 표현할 수 없어 모델의 아키텍처가 작업에 적합하지 않기 때문입니다.

잘못된 기능 선택

기능 선택에는 학습 중에 ML 모델에 적합한 변수를 선택하는 작업이 포함됩니다. 예를 들어, 사람이 전자상거래 웹사이트에서 구매 버튼을 누를지 예측할 때 ML 알고리즘에 사람의 생년월일, 눈 색깔, 나이 또는 세 가지 모두를 보도록 요청할 수 있습니다.

특성이 너무 많거나 선택한 특성이 대상 변수와 강한 상관 관계가 없는 경우 모델에 정확한 예측을 수행할 수 있는 관련 정보가 충분하지 않습니다. 눈 색깔은 전환과 관련이 없을 수 있으며 나이는 출생 연도와 동일한 정보를 대부분 포착합니다.

훈련 데이터가 부족함

데이터 포인트가 너무 적으면 데이터가 문제의 가장 중요한 속성을 포착하지 못하기 때문에 모델이 과소적합될 수 있습니다. 이는 데이터 부족이나 특정 데이터 소스가 제외되거나 과소 표현되어 모델이 중요한 패턴을 학습하지 못하는 샘플링 편향으로 인해 발생할 수 있습니다.

훈련이 충분하지 않음

ML 모델 교육에는 예측과 실제 결과 간의 차이를 기반으로 내부 매개변수(가중치)를 조정하는 작업이 포함됩니다. 모델이 반복되는 학습 횟수가 많을수록 데이터에 맞게 더 잘 조정할 수 있습니다. 모델이 너무 적은 반복으로 훈련되면 데이터로부터 학습할 기회가 충분하지 않아 과소적합이 발생할 수 있습니다.

과소적합을 감지하는 방법

과소적합을 감지하는 한 가지 방법은 학습 반복 횟수에 대한 모델 성능(일반적으로 손실 또는 오류)을 나타내는 학습 곡선을 분석하는 것입니다. 학습 곡선은 훈련 및 검증 데이터 세트 모두에서 시간이 지남에 따라 모델이 어떻게 개선되는지(또는 개선되지 않는지)를 보여줍니다.

손실은 주어진 데이터 세트에 대한 모델 오류의 크기입니다. 훈련 손실은 훈련 데이터에 대해 이를 측정하고 검증 데이터에 대해서는 검증 손실을 측정합니다. 검증 데이터는 모델 성능을 테스트하는 데 사용되는 별도의 데이터 세트입니다. 일반적으로 더 큰 데이터 세트를 훈련 및 검증 데이터로 무작위로 분할하여 생성됩니다.

과소적합의 경우 다음과 같은 주요 패턴을 확인할 수 있습니다.

  • 높은 훈련 손실:모델의 훈련 손실이 여전히 높고 프로세스 초기에 평탄한 경우 모델이 훈련 데이터에서 학습하지 않는다는 의미입니다. 모델이 너무 단순하여 데이터의 복잡성에 적응할 수 없기 때문에 이는 과소적합의 분명한 징후입니다.
  • 유사한 훈련 및 검증 손실:훈련 손실과 검증 손실이 모두 높고 훈련 프로세스 전반에 걸쳐 서로 가깝게 유지된다면 모델이 두 데이터 세트 모두에서 성능이 저하된다는 의미입니다. 이는 모델이 정확한 예측을 하기 위해 데이터에서 충분한 정보를 캡처하지 못함을 나타내며, 이는 과소적합을 가리킵니다.

다음은 과소적합 시나리오의 학습 곡선을 보여주는 예시 차트입니다.

훈련 손실과 검증 손실이 모두 높게 유지되어 모델이 과소적합되었음을 나타내는 그래프

이 시각적 표현에서는 과소적합을 쉽게 발견할 수 있습니다.

  • 잘 맞는 모델에서는 훈련 손실이 크게 감소하는 반면 검증 손실은 비슷한 패턴을 따르며 결국 안정화됩니다.
  • 과소적합 모델에서는 학습 손실과 검증 손실이 모두 높게 시작되어 크게 개선되지 않고 높게 유지됩니다.

이러한 추세를 관찰하면 모델이 너무 단순한지, 복잡성을 높이기 위해 조정이 필요한지 빠르게 식별할 수 있습니다.

과소적합을 방지하는 기술

과소적합이 발생하는 경우 모델 성능을 향상시키는 데 사용할 수 있는 몇 가지 전략이 있습니다.

  • 추가 훈련 데이터:가능하다면 추가 훈련 데이터를 얻습니다. 더 많은 데이터는 데이터의 품질이 높고 당면한 문제와 관련이 있는 경우 모델에 패턴을 학습할 수 있는 추가 기회를 제공합니다.
  • 기능 선택 확장:관련성이 더 높은 모델 기능에 추가합니다. 대상 변수와 강한 관계가 있는 특징을 선택하면 모델이 이전에 놓쳤던 중요한 패턴을 포착할 수 있는 더 나은 기회를 얻을 수 있습니다.
  • 아키텍처 성능 향상:신경망 기반 모델에서는 가중치, 레이어 또는 기타 하이퍼파라미터 수를 변경하여 아키텍처 구조를 조정할 수 있습니다. 이를 통해 모델이 더 유연해지고 데이터에서 상위 수준 패턴을 더 쉽게 찾을 수 있습니다.
  • 다른 모델 선택:때로는 하이퍼파라미터를 조정한 후에도 특정 모델이 작업에 적합하지 않을 수 있습니다. 여러 모델 알고리즘을 테스트하면 보다 적절한 모델을 찾고 성능을 향상시키는 데 도움이 될 수 있습니다.

과소적합의 실제 예

과소적합의 효과를 설명하기 위해 모델이 데이터의 복잡성을 포착하지 못해 부정확한 예측으로 이어지는 다양한 영역의 실제 사례를 살펴보겠습니다.

집값 예측

주택 가격을 정확하게 예측하려면 위치, 크기, 주택 유형, 상태, 침실 수 등 다양한 요소를 고려해야 합니다.

집의 크기와 유형 등 너무 적은 기능을 사용하면 모델이 중요한 정보에 액세스할 수 없습니다. 예를 들어, 모델은 부동산 가격이 높은 지역인 런던 메이페어에 위치한 소규모 스튜디오가 저렴하다는 사실을 모른 채 저렴하다고 가정할 수 있습니다. 이는 잘못된 예측으로 이어집니다.

이 문제를 해결하려면 데이터 과학자는 적절한 기능 선택을 보장해야 합니다. 여기에는 관련 없는 기능을 제외하고 모든 관련 기능을 포함하고 정확한 훈련 데이터를 사용하는 것이 포함됩니다.

음성 인식

음성인식 기술은 일상생활에서 점점 일반화되고 있습니다. 예를 들어 스마트폰 도우미, 고객 서비스 헬프라인, 장애인 보조 기술은 모두 음성 인식을 사용합니다. 이러한 모델을 훈련할 때 음성 샘플의 데이터와 올바른 해석이 사용됩니다.

음성을 인식하기 위해 모델은 마이크에서 캡처한 음파를 데이터로 변환합니다. 특정 간격으로 음성의 주요 주파수와 볼륨만 제공하여 이를 단순화하면 모델이 처리해야 하는 데이터의 양이 줄어듭니다.

그러나 이 접근 방식은 음성을 완전히 이해하는 데 필요한 필수 정보를 제거합니다. 데이터는 톤, 높낮이, 억양의 변화와 같은 인간 음성의 복잡성을 포착하기에는 너무 단순해집니다.

결과적으로 모델은 완전한 문장은 물론 기본적인 단어 명령도 인식하는 데 어려움을 겪으면서 적합하지 않게 됩니다. 모델이 충분히 복잡하더라도 포괄적인 데이터가 부족하면 과소적합이 발생합니다.

이미지 분류

이미지 분류기는 이미지를 입력으로 사용하고 이를 설명하는 단어를 출력하도록 설계되었습니다. 이미지에 공이 포함되어 있는지 여부를 감지하는 모델을 구축한다고 가정해 보겠습니다. 공 및 기타 객체의 레이블이 지정된 이미지를 사용하여 모델을 훈련합니다.

CNN(컨벌루션 신경망)과 같은 더 적합한 모델 대신 간단한 2계층 신경망을 실수로 사용하면 모델이 어려움을 겪게 됩니다. 2계층 네트워크는 이미지를 단일 계층으로 평탄화하므로 중요한 공간 정보가 손실됩니다. 또한 레이어가 2개뿐이므로 모델은 복잡한 특징을 식별하는 능력이 부족합니다.

이는 훈련 데이터에서도 모델이 정확한 예측을 하지 못하기 때문에 과소적합으로 이어집니다. CNN은 이미지의 공간 구조를 보존하고 초기 레이어의 가장자리 및 모양과 같은 중요한 특징을 감지하고 이후 레이어의 더 복잡한 객체를 감지하는 방법을 자동으로 학습하는 필터가 포함된 컨벌루션 레이어를 사용하여 이 문제를 해결합니다.