과적합(Overfitting) / 과소적합(Underfitting)

까만호랭·2023년 11월 14일

💡 과적합(OverFitting)

특정데이터만 학습을 잘하고 새로운 데이터엔 학습을 잘 못하는 경우를 말한다.
예를 들어, 95%의 신뢰구간을 가진, 5%의 오류구간을 가진 모델을 만드는것이 목표인데, 95%보다 너무 높은 정확도를 가진 모델은 과적합 모델이라 생각할 수 있다.

이러한 과적합 문제를 방지하기 위해 학습데이터(train)와 검정(test)데이터로 나눈다.
학습할땐 train data를 사용하고, 검정 시 test data를 이용
보통 데이터를 나눌때 7:3의 비율로 나누며 모델 학습 시 데이터의 비율을 조정하기도 한다.
훈련 데이터에 대한 MSE는 낮을 수 있지만 테스트 데이터에 대한 MSE는 높을 수 있다.

과적합 방지

  • 과적합을 방지하기 위해 가중치 규제를 사용한다.
    L1규제(L1 Regularization, Lasso), L2(L2 Regularization, Ridge) 등이 있으며
    L1, L2 중 더 좋은 규제를 말할 수 없고 직접 실행해보면서 맞는 방법을 사용해야한다.
  • feature 선택과 차원 축소
    중요하지 않은 feature를 제거하거나 차원 축소 기법을 사용하여 모델의 복잡성을 줄일 수 있다.

💡과소적합(Underfitting)

머신러닝 모델이 너무 간단하여 학습 데이터의 패턴을 충분히 학습하지 못하는 상황을 의미한다.
즉, 모델이 학습 데이터에 대한 복잡한 패턴을 충분히 파악하지 못하여 훈련 데이터와 테스트 데이터 모두에서 성능이 부족한 경우이다.
훈련 데이터에 대한 MSE와 테스트 데이터에 대한 MSE 모두 높을 수 있다.

과소적합 방지

  • 모델 복잡성 증가
    모델이 단순하다면 모델의 복잡성을 증가시킨다.
  • 더 많은 데이터 수집
    더 많은 데이터를 수집하여 모델을 학습시킨다.

``` SSR(예측값-y평균값) 이용, SSE(실제값-예측값), MSE 이때 MSE는 결정계수와 반비례 관계임 결정계수가 높고 MSE가 낮다면 좋은 모델임을 의미

결정계수 R : SSR(예측값-평균값)/SST(편차제곱합) =
1-(SSE(잔차제곱합)/SST(편차제곱합))

SST = 실제값-평균값

MAE와 MSE의 차이
-MSE는 제곱을 해주고 / MAE는 제곱은 하지 않고 절대값을 구한다.회귀평가를 위한 지표로 주로 쓰인다. 기계 학습 모델의 퀄리티를 요약하고 평가하기 위한 여러 메트릭 중 하나라고 할 수 있다.MSE와 마찬가지로 0에 가까울수록 좋은 모델이라고 할 수 있다.

MAE와 MSE의 공통점

  • 실제값과 측정값을 빼주는 것

  • 평균을 내주는 것 (M - mean)

MSE는 손실함수로써 쓰이고, MAE는 회귀지표로써 사용된다.

profile
남들과 함께 발자국을 남기는 까만호랭

0개의 댓글