Programming

머신러닝 완전 입문 가이드 3편 : 왜 검증(Validation)이 중요한가? 검증 방식과 평가지표 완전 이해

Lucas.Kim 2025. 12. 8. 12:18
반응형

머신러닝 모델은 단순히 데이터를 학습시켜 결과를 출력하는 것으로 끝나지 않습니다.
모델이 얼마나 제대로 학습하고 있는지, 또 학습 방향이 올바른지 지속적으로 점검하는 과정이 반드시 필요합니다.
이 핵심 단계가 바로 검증(Validation) 입니다.

이번 글에서는

  • Training / Validation / Test의 차이
  • 검증이 중요한 이유
  • K-Fold 교차검증과 Stratified K-Fold
  • 주요 분류 평가지표(Confusion Matrix, Precision, Recall, F1)
    을 시리즈 3편 형태로 정리합니다.

1. 머신러닝에서 검증(Validation)은 왜 필요할까?

머신러닝 모델의 학습은

  • 데이터를 넣는다
  • 모델이 학습한다
  • 결과를 낸다
    이 단순한 과정이 아닙니다.

모델이 잘 학습하고 있는지, 혹은 잘못된 방향으로 가고 있는지 “중간 점검”이 필수적입니다.
이 점검 과정이 바로 **Validation(검증)**입니다.

검증은 모델의 학습 방향을 잡아주는 나침반(Compass) 역할을 합니다.

2. 학습(Training) – 검증(Validation) – 테스트(Test)의 관계

머신러닝 프로세스는 일반적으로 다음과 같은 구조를 가집니다.

Training → Validation → Test

1) 학습(Training)

  • 모델이 패턴을 스스로 학습하는 단계
  • Feature + Label(정답)을 사용
  • 손실(Loss)을 최소화하는 방향으로 파라미터 업데이트

2) 검증(Validation)

  • 학습에 사용하지 않는 데이터로 중간 성능을 평가
  • “학습이 잘 되고 있는지”를 확인하는 모의고사
  • 손실이 감소하는지? 어떤 지표가 개선되는지?
  • 필요하다면 학습률, 모델 구조, 파라미터 등을 조정

3) 테스트(Test)

  • 학습이 완전히 끝난 후 최종 성능을 측정
  • 모델이 처음 보는 데이터를 사용
  • 실제 서비스 배포 전 마지막 시험

정리하면,

  • Training = 공부
  • Validation = 모의고사
  • Test = 최종 시험

3. 검증 데이터는 왜 따로 나눌까?

학습 데이터 전체를 모델이 모두 학습해버리면,
모델은 학습 데이터를 “암기”하려는 경향이 생깁니다.
이 경우 새로운 데이터에 대한 예측력이 떨어지는 현상이 발생하는데, 이것이 바로 **과적합(Overfitting)**입니다.

따라서,

전체 Training 데이터 = 학습용 + 검증용

으로 나눠서 모델이 실제 상황에서도 잘 작동하는지 미리 확인하는 것입니다.

 

4. 교차검증(Cross-Validation): 더 신뢰도 높은 검증 방법

단 한 번의 검증으로 모델을 평가하기에는 데이터의 편향이 존재할 수 있습니다.
이 문제를 해결하기 위해 사용하는 방법이 Cross-Validation입니다.

4-1. K-Fold 교차검증

K-Fold는 데이터를 K등분하여

  • 1개 파트를 검증용
  • 나머지를 학습용
    으로 사용한 뒤,
    이 과정을 K번 반복해 평균 성능을 계산합니다.

특징

  • 일반적으로 K=5 또는 K=10
  • 데이터가 적을 때 매우 유용
  • 더 안정적이고 신뢰도 높은 평가 가능

4-2. Stratified K-Fold

K-Fold의 단점은 클래스 불균형(Class Imbalance) 입니다.
예를 들어 양성:음성 비율이 9:1이라면, 어떤 Fold에서는 음성 데이터가 거의 없을 수도 있습니다.

이를 해결하기 위해 사용하는 방식이 Stratified K-Fold입니다.

특징

  • 각 Fold마다 클래스 비율을 동일하게 유지
  • 불균형 데이터에서 필수적으로 사용
  • 분류(Classification) 문제에서 가장 많이 쓰이는 교차검증 전략

5. 평가지표(Metrics): 모델의 성적표

Validation 단계에서는 모델 성능을 평가하는 지표가 필수입니다.
대표적인 분류 지표는 다음과 같습니다.

5-1. 혼동 행렬(Confusion Matrix)

모델의 예측 결과를 4가지 관점에서 분석합니다.

예측 / 실제 Positive Negative
Positive 예측 TP FP
Negative 예측 FN TN

의미

  • TP: 맞춘 양성
  • FP: 잘못 예측한 양성(거짓 양성)
  • FN: 놓친 양성(거짓 음성)
  • TN: 맞춘 음성

5-2. 정확도(Accuracy)

Accuracy = (TP + TN) / 전체

그러나 불균형 데이터에서는 Accuracy만 보면 안 됩니다.
예를 들어, 95%가 음성, 5%가 양성인 데이터에서
모든 것을 음성으로 예측해도 정확도는 **95%**가 나옵니다.
즉, 진짜 성능을 제대로 반영하지 않는다는 의미입니다.

5-3. 정밀도(Precision)

Precision = TP / (TP + FP)

Positive라고 예측한 것 중에서 실제로 Positive인 비율입니다.

예:
스팸이 아닌 이메일을 스팸으로 잘못 분류(FP)를 줄이고 싶은 경우
→ Precision이 중요한 지표

5-4. 재현율(Recall, Sensitivity)

Recall = TP / (TP + FN)

실제 Positive 중에서 모델이 제대로 잡아낸 비율입니다.

예:
암 환자를 놓치지 않는 것이 중요한 의료 분야
→ Recall 최우선

5-5. F1 Score

F1 = 2 * (Precision * Recall) / (Precision + Recall)

Precision과 Recall의 조화 평균입니다.
두 지표 중 하나가 너무 낮으면 F1 Score도 낮아지므로
균형 잡힌 모델인지 판단할 수 있습니다.

6. 예시 문제로 이해 정리

1) 분류로 해결할 수 없는 문제

“정답이 없는 군집화 문제” → 비지도 학습

2) 같은 데이터 + 다른 모델을 결합하는 앙상블

정답: Voting

3) 리프 중심 분할 알고리즘

정답: LightGBM

4) K-Fold 사용 시 주의할 점

정답: 불균형 데이터에서는 클래스 비율이 왜곡되므로 Stratified K-Fold 필요

5) 실제 Positive 중 맞춘 Positive 비율

정답: Recall

6) Accuracy만 보면 위험한 이유

정답: 불균형 데이터에서 높은 Accuracy가 의미 없음

7) 지니 불순도 최대값

정답: 0.5 (50:50일 때 가장 혼합된 상태)

결론

머신러닝의 학습은

  • Training(공부)
  • Validation(모의고사)
  • Test(최종 시험)
    의 구조로 이루어지며, 이 중 Validation은 모델의 방향을 조정하고 성능을 안정화하는 핵심 과정입니다.

또한 교차검증(Cross-Validation)과 평가지표(Metrics)를 이해해야
단순히 “정확도 높은 모델”을 넘어
진짜 데이터를 잘 이해하고, 신뢰도 높은 예측 모델을 만들 수 있습니다.

다음 글에서는 실제 데이터를 활용하여
머신러닝 학습 파이프라인(전처리 → 검증 → 평가 → 튜닝)
을 실전 코드와 함께 다뤄보겠습니다.

반응형