본문 바로가기

Experience/LG AI aimers

[LG AI aimers] 머신러닝 - 회귀(2)

📌 과적합과 정규화

과적합 (Overfitting)

모델이 주어진 훈련 데이터에 과도하게 맞춰져 새로운 데이터가 입력되었을 때 잘 예측하지 못하는 현상

즉, 모델이 과도하게 복잡해져 일반성이 떨어진 경우

 

 

교차 검증(Cross Validation)

  • 모델이 잘 적합되었는지 알아보기 위해 훈련/테스트/검증 데이터로 나누어 성능 평가하는 방법
  • 일반적으로 K-fold 교차 검증을 많이 사용

K-fold 교차검증

훈련 데이터를 계속 변경하며 모델 훈련  데이터를 K등분으로 나누고 K번 훈련시킴

  1. K를 설정하여 데이터 셋을 K개로 나눔
  2. K개 중 한 개를 valid, 나머지를 훈련용으로 사용
  3. K개 모델의 평균 성능이 최종 모델 성능

 

 

 

📌 정규화(Regularization)

모델의 복잡성을 줄여 일반화된 모델을 구현하기 위한 방법 → 모델 $b_{i}$에 패널티 부여

선형 회귀를 위한 정규화

  • L1 정규화(Lasso): 불필요한 입력값에 대응되는 $b_{i}$를 정확히 0으로 만듦
  • L2 정규화(Ridge): 아주 큰 값이나 작은 값을 가지는 이상치에 대한 $b_{i}$를 0에 가까운 값으로 만듦

 

정규화 방법을 적용한 회귀 알고리즘

  1. Lasso Regression
    • 회귀 학습에 사용되는 loss function(비용 함수)에 L1 정규화항을 추가
    • 중요하지 않은 $b_{i}$를 0으로 만들어 모델의 복잡성을 줄일 수 있음
    특징
    • 너무 많은 $b_{i}$를 0으로 만들 수 있어 모델의 정확성이 떨어질 수 있음
    • 몇 개의 중요 변수만 선택하기 때문에 정보 손실의 가능성이 있음
  2. Ridge Regression
    • 회귀 학습에 사용되는 loss function(비용 함수)에 L2 정규화 항을 추가
    • 중요하지 않은 $b_{i}$값을 0에 가깝게 만들어 모델의 복잡성을 줄일 수 있음
    특징
    • $b_{i}$를 0에 가깝게 만들지만 완전한 0은 아니기 때문에 모델이 여전히 복잡할 수 있음
  3. Elastic Net Regression
    • Lasso 회귀, Ridge 회귀의 단점을 보완하기 위해 L1 정규화와 L2 정규화의 적용 비율을 조정하여 모델 구현

 

 

 

📌 회귀 알고리즘 평가 지표

목표 달성 평가 방법

실제 값과 모델이 예측하는 값의 차이에 기반한 평가 방법 사용

 

RSS(Residual Sum of Squares) - 단순 오차

  • 실제 값과 예측 값의 단순 오차 제곱 합
  • 값이 작을수록 모델 성능 높음
  • 전체 데이터에 대한 실제 값과 예측 값의 오차 제곱의 총합

특징

  • 가장 간단한 평가 방법으로 직관적인 해석 가능
  • 오차를 그대로 이용하므로 입력 값의 크기에 의존적

 

MSE(Mean Squared Error) - 절대적인 크기에 의존한 지표

  • 평균 제곱 오차, RSS에서 데이터 수만큼 나눈 값
  • 작을 수록 모델 성능이 높다고 평가 가능

 

MAE(Mean Absolute Error) - 절대적인 크기에 의존한 지표

  • 평균 절대값 오차, 실제 값과 예측 값의 오차의 절대 값의 평균
  • 작을 수록 모델 성능이 높다고 평가 가능

MSE, MAE 특징

  • MSE: 이상치(Outlier)에 민감
  • MAE: 변동성이 큰 지표와 낮은 지표를 같이 예측할 시 유용
  • 가장 간단한 평가 방법들로 직관적인 해석 가능
  • 평균을 그대로 이용하므로 입력 값의 크기에 의존적

 

R^2 (결정 계수)

  • 회귀 모델의 설명력을 표현하는 지표
  • 1에 가까울수록 높은 성능의 모델로 해석 가능

특징

  • 백분율로 표현하므로 크기에 의존적이지 않음
  • 실제 값이 1보다 작을 경우, 무한대에 가까운 값 도출, 실제 값이 0일 경우엔 계산 불가

 

평가 지표 선정 방법

  • 절대적인 평가 지표는 존재하지 않음
  • 다양한 평가 지표를 적용해보고, 결과값을 비교하며 모델의 성능을 다양한 측면에서 확인해봐야함