AI·빅데이터 융합 경영학 Study Note
[ML수업] 3주차 이론1: overfitting and regularization (과적합과 정규화) 본문
Sum of Suares Error function
RMS
RMS는 다음과 같은 단계를 거쳐 계산됩니다:
- 제곱: 각 데이터 포인트 또는 신호의 값을 제곱합니다. 이는 모든 값을 양수로 만들어서 평균을 계산할 때 음수 값이 상쇄되지 않도록 합니다.
- 평균: 제곱한 값들의 평균을 구합니다.
- 제곱근: 평균 값을 다시 제곱근으로 변환합니다.
수식으로 표현하면 다음과 같습니다:
RMS 값이 높은 경우, 해당 신호나 데이터가 평균적으로 큰 값을 가지며 변동이 심하다는 것을 의미합니다. 반대로, RMS 값이 낮으면 신호나 데이터가 평균적으로 작고 변동이 적다는 것을 의미합니다.
RMSE
축 설명:
- X축 (M): 모델의 복잡성을 나타냅니다. 이 경우, 모델의 차수(다항식 차수 또는 매개변수 수)로 이해할 수 있습니다. 차수가 증가할수록 모델이 더 복잡해집니다.
- Y축 (ERMSE_{RMS}): RMS 오차입니다. 이 값은 모델이 얼마나 잘 예측하는지를 나타내며, 낮을수록 모델의 예측이 실제 값에 더 가깝습니다.
그래프 해석:
- 초기 모델 복잡도 (M이 작을 때):
- 모델의 복잡도가 낮을 때는 훈련 데이터와 테스트 데이터 모두에서 RMS 오차가 비교적 높습니다. 이는 모델이 너무 단순하여 데이터의 패턴을 잘 잡아내지 못하는 과소적합(Underfitting) 상태임을 의미합니다.
- 적절한 모델 복잡도 (M이 중간 정도일 때):
- 모델의 복잡도가 증가함에 따라 훈련 데이터와 테스트 데이터의 RMS 오차가 모두 감소합니다. 이 지점에서는 모델이 데이터의 패턴을 잘 잡아내고 있으며, 과적합의 문제가 발생하지 않은 상태입니다.
- 과적합 발생 (M이 매우 클 때):
- 모델 복잡도가 너무 높아지면, 훈련 데이터의 RMS 오차는 매우 낮아지지만 테스트 데이터의 RMS 오차는 급격히 증가합니다. 이는 모델이 훈련 데이터에 지나치게 맞춰져서 테스트 데이터에 일반화되지 못하는 과적합 상태를 나타냅니다.
결론:
이 그래프는 과적합의 위험성을 시각적으로 보여줍니다. 모델이 너무 복잡해지면 훈련 데이터에 대해 매우 낮은 오차를 기록하지만, 테스트 데이터에 대해서는 오히려 오차가 증가하는 문제가 발생합니다. 이는 모델이 훈련 데이터에 너무 맞춰져서 새로운 데이터에 대한 예측 성능이 떨어지기 때문입니다. 따라서 모델을 구축할 때는 적절한 복잡도를 선택하여 과적합을 방지하는 것이 중요합니다.
- 회귀 분석에서의 오차 측정: 회귀 모델을 평가할 때 실제 값과 예측 값 사이의 오차를 측정하는 지표로 RMSE가 자주 사용됩니다. RMSE는 예측 값과 실제 값의 차이(잔차)를 제곱하고 그 평균을 구한 후 제곱근을 취한 값입니다. RMSE가 작을수록 모델의 예측이 실제 데이터에 가깝다는 것을 의미합니다.
- 모델 비교: RMSE는 두 개 이상의 모델을 비교할 때 유용한 지표입니다. 모델의 RMSE 값을 비교하여 어떤 모델이 더 정확한지를 판단할 수 있습니다.
"Penalize large coefficient values"
라는 개념은 모델의 복잡성을 줄이고 과적합(overfitting)을 방지하기 위해 도입됩니다. 이 기법은 특히 선형 회귀와 같은 회귀 분석에서 많이 사용됩니다.
규제 기법의 종류
이런 페널티를 부과하는 대표적인 규제 기법으로는 L1 규제와 L2 규제가 있습니다.
- L2 규제 (Ridge 회귀):
- 손실 함수에 모든 계수의 제곱합을 추가하여 큰 계수에 패널티를 부과합니다.
- L2 규제는 다음과 같이 표현됩니다: 손실 함수=MSE+λ∑j=1pβj2\text{손실 함수} = \text{MSE} + \lambda \sum_{j=1}^{p} \beta_j^2 여기서 λ\lambda는 규제의 강도를 조절하는 하이퍼파라미터이고, βj\beta_j는 회귀 계수입니다.
- L2 규제는 모든 계수를 작게 만들며, 결과적으로 과적합을 방지합니다.
- L1 규제 (Lasso 회귀):
- 손실 함수에 모든 계수의 절대값의 합을 추가하여 큰 계수에 패널티를 부과합니다.
- L1 규제는 다음과 같이 표현됩니다: 손실 함수=MSE+λ∑j=1p∣βj∣\text{손실 함수} = \text{MSE} + \lambda \sum_{j=1}^{p} |\beta_j|
- L1 규제는 일부 계수를 0으로 만들어서 모델을 희소화(sparsity)하는 효과가 있습니다. 즉, 불필요한 변수를 자동으로 선택하지 않게 하여 모델을 단순화합니다.
요약
"Penalize large coefficient values"는 모델이 지나치게 복잡해지는 것을 막기 위해, 회귀 분석에서 큰 계수 값에 대해 페널티를 부과하여 모델의 계수들이 과도하게 커지지 않도록 하는 것을 의미합니다. 이를 통해 모델의 복잡성을 줄이고 과적합을 방지하여, 더 나은 일반화 성능을 갖는 모델을 구축할 수 있습니다.
'AI·ML' 카테고리의 다른 글
[ML수업] 5주차 실습2: model tuning(hyperparameter optimization), grid search CV, randim search CV, Baysian optimization with optuna (0) | 2023.11.21 |
---|---|
[ML수업] 5주차 실습1: Cross-Validation(LOOCV(Leave-One-Out), Shuffle-Split) (0) | 2023.11.21 |
[ML수업] 4주차 이론: cross validation (교차검증) (0) | 2023.11.21 |
[ML수업] 3주차 이론2: decision tree (의사결정나무) (0) | 2023.11.21 |
수학과 함께하는 AI 기초 - 파이선 프로그래밍 첫걸음 (0) | 2022.12.29 |