AI/Machine Learning

과적합과 규제 (L1/L2)

jumemory 2025. 6. 23. 17:50

과적합과 규제: 모델의 고집을 꺾고 일반화 성능 높이기

머신러닝과 딥러닝 모델의 실력은 단순히 '정확도'로만 판단할 수 없다. 훈련 데이터에서는 100점인데 실제 데이터에서는 0점을 맞는다면, 그 모델은 학습을 한 것이 아니라 데이터를 '외워버린' 것이다. 오늘은 이런 과적합(Overfitting)을 막기 위한 강력한 제동 장치, 규제(Regularization) 기법들을 정리해 본다.


1. 과소적합 vs 과적합 (Underfitting vs Overfitting)

모델이 학습할 때 빠질 수 있는 두 가지 함정이 있다.

  • 과소적합 (Underfitting): 공부를 너무 안 한 상태. 모델이 너무 단순해서 데이터의 기본 패턴조차 파악하지 못한다. 훈련 점수도 낮고 테스트 점수도 낮다.
  • 과적합 (Overfitting): 시험 문제만 달달 외운 상태. 모델이 너무 복잡해서 데이터의 사소한 노이즈(이상치)까지 다 학습해버린다. 훈련 점수는 엄청 높지만, 처음 보는 테스트 데이터에서는 형편없다.

2. 가중치 규제: L1 Lasso vs L2 Ridge

모델이 너무 복잡해지는 이유는 가중치($w$) 값이 특정 피처에 대해 너무 커지기 때문이다. 이를 방지하기 위해 손실 함수(Loss Function)에 가중치의 크기를 페널티로 더해버리는 것이 규제의 핵심이다.

① L1 규제 (Lasso Regression)

가중치들의 절댓값 합을 페널티로 부여한다.

  • 특징: 중요하지 않은 피처의 가중치를 정확히 0으로 만들어버린다.
  • 효과: 모델에 필요한 핵심 피처만 남기는 '변수 선택(Feature Selection)' 효과가 있다. 데이터가 복잡하고 피처가 너무 많을 때 유용하다.

② L2 규제 (Ridge Regression)

가중치들의 제곱 합을 페널티로 부여한다.

  • 특징: 가중치 값을 0에 가깝게 작게 만들지만, 완전히 0으로 만들지는 않는다.
  • 효과: 특정 피처가 너무 강한 영향력을 행사하지 못하도록 골고루 분산시킨다. 전체적으로 모델의 안정성을 높여주며, 일반적으로 L1보다 더 많이 사용된다.

3. 딥러닝의 규제: 드롭아웃 (Dropout)

딥러닝처럼 뉴런(노드)이 수만 개인 모델에서는 특정 뉴런들끼리 너무 친해져서 서로에게 의존하는 현상이 발생한다.

  • 개념: 학습할 때마다 무작위로 일부 뉴런을 꺼버리는(0으로 만드는) 기법이다.
  • 효과: * 모델이 특정 뉴런에만 의존하는 것을 방지한다.
    • 뉴런들이 각자 독립적으로 특징을 학습하게 되어, 더 강인한 모델이 된다.
    • 마치 여러 개의 서로 다른 모델을 학습시켜 결과를 평균 내는 앙상블(Ensemble) 효과를 얻을 수 있다.

 

4. 규제의 강도 제어 (Alpha)

L1, L2 규제를 적용할 때 우리가 조절해야 하는 하이퍼파라미터가 바로 알파(alpha) 값이다.

  • alpha가 크면: 규제가 강해진다. 가중치들이 많이 억제되어 모델이 단순해진다. (과소적합 위험)
  • alpha가 작으면: 규제가 약해진다. 가중치들이 자유롭게 움직여 모델이 복잡해진다. (과적합 위험)
  • 결론: 적절한 alpha를 찾는 것이 머신러닝 엔지니어의 실력이다!

✍️ 공부를 마치며

데이터의 양이 적거나 노이즈가 많을 때, 모델은 쉽게 고집불통(과적합)이 된다. 이때 L1/L2 규제로 가중치를 다독이고, 드롭아웃으로 뉴런의 의존성을 깨뜨려야 비로소 우리는 '똑똑한 모델'이 아닌 '유연한 모델'을 얻을 수 있다. 결국 좋은 모델이란 훈련 세트가 아닌, 내일 들어올 새로운 데이터를 잘 맞히는 모델임을 잊지 말자.

'AI > Machine Learning' 카테고리의 다른 글

비지도학습과 차원 축소  (0) 2025.06.25
앙상블 학습 (Ensemble)  (0) 2025.06.24
평가지표와 통계적 판단  (0) 2025.06.22
전처리와 분석  (0) 2025.06.21
경사하강법 (최적화)  (0) 2025.06.20