ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Overfitting과 Regularization
    AI 2026. 1. 21. 06:02

    머신러닝 모델을 개발할 때 가장 큰 숙제는 '학습 데이터'가 아닌 '미래의 데이터'를 얼마나 잘 맞히느냐입니다. 이를 위해 반드시 이해해야 하는 과적합(Overfitting)과 그 해결책인  정칙화(Regularization)의 모든 것을 정리합니다.

     

    과적합(Overfitting)의 이해: 기출문제만 외운 모델

    과적합은 모델이 학습 데이터셋($Train\ Set$)의 특수성에 너무 깊게 매몰되어, 데이터 내의 본질적인 패턴(Signal)뿐만 아니라 무작위 잡음(Noise)까지 학습해버린 상태를 의미합니다.

    • 현상: Train Loss는 낮지만, Validation/Test Loss는 매우 높음.
    • 비유: 기출문제의 정답 번호까지 외웠지만, 정작 원리를 몰라 새로운 응용 문제를 풀지 못하는 수험생.
    • 통계적 관점 (High Variance): 모델이 데이터의 작은 변화에 너무 예민하게 반응하여, 데이터에 따라 예측값이 크게 요동치는 상태.

    Overfitting이 일어나는 원인으로는 아래와 같습니다.

    모델의 복잡도 (Model Complexity)

    모델이 가진 파라미터(매개변수)의 수가 학습 데이터의 양에 비해 너무 많을 때 발생합니다.

    • 원리: 모델의 자유도(Degree of Freedom)가 너무 높으면, 데이터들 사이의 아주 미세한 변동성까지 설명하려고 그래프를 억지로 꼬게 됩니다.
    • 결과: 고차항(High-degree polynomial) 함수를 사용하는 것과 같아서, 학습 데이터의 점들은 모두 완벽하게 지나가지만 그 사이사이의 빈 공간에서는 엉뚱한 예측을 하게 됩니다.

    데이터의 양과 질 (Data Quantity & Quality)

    데이터가 모델의 복잡성을 뒷받침할 만큼 충분하지 않거나 깨끗하지 않을 때 발생합니다.

    • 데이터 부족: 학습 데이터가 너무 적으면, 모델은 그 샘플 안에서만 발견되는 특수한 상황을 마치 전체의 일반적인 법칙인 것처럼 오해합니다. (예: 주사위를 2번 던져서 둘 다 6이 나오면, "이 주사위는 무조건 6만 나온다"라고 학습하는 꼴)
    • 노이즈(Noise) 포함: 실제 데이터에는 측정 오류나 오타 같은 노이즈가 섞여 있습니다. 모델이 이 노이즈까지 "따라가야 할 정답"으로 인식하고 학습하면 과적합이 일어납니다.

    과도한 학습 (Over-training)

    모델을 너무 오랫동안 반복해서 학습시킬 때 발생합니다.

    • 원리: 학습 초기에는 데이터의 굵직한 특징(Signal)을 파악합니다. 하지만 학습 횟수(Epoch)가 과하게 늘어나면, 모델은 점차 데이터의 세세한 부분까지 파고들며 '암기'를 시작합니다.
    • 현상: 어느 시점을 넘어서면 훈련 손실($Loss_{train}$)은 계속 떨어지는데, 검증 손실($Loss_{val}$)은 오히려 올라가는 변곡점이 생깁니다.

    부적절한 특징 선택 (Feature Selection)

    정답과 상관없는 불필요한 특징(Feature)들이 모델에 입력될 때 발생합니다.

    • 원리: 예를 들어 집값을 예측하는데 '집주인의 신발 사이즈' 같은 무의미한 데이터를 넣으면, 모델은 우연히 발생한 '신발 사이즈와 집값의 상관관계'를 찾아내어 가중치를 부여할 수 있습니다.
    • 결과: 실질적인 인과관계가 없는 데이터에 휘둘리게 되어 실제 환경에서 엉뚱한 결과를 도출합니다.

    과적합은 "모델의 능력(Capacity)은 과한데, 학습할 재료(Data)가 부족하거나 지저분할 때" 주로 발생합니다. 그래서 우리는 이 과한 능력을 억제하기 위해 앞서 논의한 정칙화(Regularization) 기법들을 사용하는 것입니다.

     

    수학적 기반: Loss vs. Cost Function

    과적합을 해결하는 '정칙화'를 이해하려면 먼저 용어의 정의를 명확히 해야 합니다.

    • 손실 함수 (Loss Function, $L$): 샘플 데이터 하나에 대한 예측값과 실제값의 오차를 계산합니다.
    • 비용 함수 (Cost Function, $J$): 전체 학습 데이터에 대한 손실 함수의 평균에, 모델의 복잡도를 제어하는 정칙화 항을 더한 최종 목적 함수입니다.
    $$J(\theta) = \underbrace{\frac{1}{m} \sum_{i=1}^{m} L(f(x^{(i)}; \theta), y^{(i)})}_{\text{평균 손실(Loss)}} + \underbrace{\lambda R(\theta)}_{\text{정칙화 항(Regularization)}}$$

     


    통계적 원리: 편향-분산 트레이드오프 (Bias-Variance Tradeoff)

    과적합을 깊이 있게 이해하려면 편향(Bias)과 분산(Variance)**의 관계를 알아야 합니다. 모델의 전체 오차(Error)는 다음과 같이 분해할 수 있습니다.

    $$Total\ Error = Bias^2 + Variance + Irreducible\ Noise$$
    구분 편향 (Bias) 분산 (Variance)
    의미 모델의 예측값과 실제값의 평균적인 차이 다양한 데이터셋에 대해 예측값이 얼마나 변하는지
    특징 높으면 과소적합(Underfitting) 발생 높으면 과적합(Overfitting) 발생
    모델 상태 모델이 너무 단순하여 패턴을 못 찾음 모델이 예민하여 데이터 변화에 휘둘림

    과적합 상태 Low Bias, High Variance 상태입니다. 훈련 데이터는 정확히 맞히지만(저편향), 새로운 데이터가 들어오면 예측값이 크게 널뛰기(고분산) 때문입니다.


    정칙화(Regularization): 인위적인 제약을 통한 일반화

    정칙화는 비용 함수에 패널티($R(\theta)$)를 추가하여, 모델이 $Loss$를 줄이는 데만 혈안이 되어 가중치($w$)를 너무 복잡하게 만드는 것을 방지합니다.
    즉, 모델에 인위적으로 학습을 방해하거나 제약을 걸어 "미래의 데이터"에 잘 대응하게 만드는 기술입니다.

    L1 Regularization (Lasso)

    가중치의 절대값 합($\sum |w|$)을 패널티로 부여합니다.

    • 특징: 중요하지 않은 가중치를 0으로 만듭니다.
    • 효과: 불필요한 특징을 자동으로 제거하는 특징 선택(Feature Selection) 효과가 있습니다.

    L2 Regularization (Ridge)

    가중치의 제곱합($\sum w^2$)을 패널티로 부여합니다.

    • 특징: 가중치들을 전체적으로 작고 고르게 유지합니다.
    • 효과: 특정 특징에 과도하게 의존하는 것을 막아주며, 실무에서 가장 보편적으로 사용됩니다. (Weight Decay)

    Dropout (드롭아웃)

    학습 시 무작위로 일부 뉴런을 비활성화합니다.

    • 효과: 특정 뉴런들끼리 서로 의존하며 뭉치는 현상을 깨뜨려, 모델이 더 견고하고 일반화된 특징을 찾도록 강제합니다.

    Batch Normalization (배치 정규화)

    각 층의 활성화 값을 정규화하여 학습 과정을 안정화합니다.

    • 효과: 학습 속도를 높일 뿐만 아니라, 부수적으로 약간의 정칙화 효과를 주어 과적합 방지에 기여합니다.

    학습 곡선으로 보는 최적의 지점

    모델의 학습이 진행됨에 따라 Train Loss와 Validation Loss는 갈라지게 됩니다.

    1. Underfitting (과소적합): 공부가 덜 되어 둘 다 높은 상태.
    2. Optimal Point: 두 Loss가 모두 낮으면서 차이가 적은 지점. (우리가 찾는 목표!)
    3. Overfitting (과적합): Train Loss는 계속 낮아지는데 Validation Loss가 다시 상승하는 지점.

    우리는 이 상승 직전의 지점을 찾기 위해 Early Stopping(조기 종료) 기법을 사용하기도 합니다

     

     

     

Designed by Tistory.