머신러닝 개발 조언, 편향과 분산, 개발 프로세스, 불균형 데이터셋

YoungJae Kang·2025년 5월 18일
0

머신러닝 학습

목록 보기
10/14
post-thumbnail

1. 머신러닝 개발 조언 (Advice for Machine Learning)

모델 성능 향상을 위해 고려할 수 있는 대표적인 방법은 다음과 같습니다.

1.1 더 많은 데이터 확보 (Getting More Data)

  • 고분산 문제 해결: 훈련 데이터 부족으로 인한 과적합 위험 감소
  • 일반화 성능 향상: 다양한 데이터 패턴 학습 가능
  • 주의사항: 데이터 수집에는 비용과 시간이 소요되며, 항상 성능이 향상되는 것은 아님

1.2 특성 수 줄이기 (Feature Selection / Dimensionality Reduction)

  • 모델 복잡성 감소: 과적합 방지 및 속도 향상
  • 차원 축소 기법: PCA, t-SNE 등 사용 가능

1.3 새로운 특성 추가 (Adding New Features)

  • 고편향 문제 해결: 모델의 과소적합을 개선
  • Feature Engineering: 기존 특성의 조합, 변형 등 활용

1.4 다항 특성 추가 (Adding Polynomial Features)

  • 비선형 관계 학습 가능
  • 과적합 유의 필요

1.5 정규화 (Regularization)

  • 고분산 문제 해결: 모델 복잡도 제어
  • 종류:
    • L1 정규화 (Lasso): 특성 선택 효과
    • L2 정규화 (Ridge): 가중치 감소
  • 정규화 파라미터: λ\lambda 튜닝 필요 (ex. 교차검증 활용)

2. 편향과 분산 (Bias and Variance)

모델의 에러를 진단하고 개선하기 위해 핵심 개념인 편향과 분산을 이해해야 합니다.

2.1 편향 (Bias)

  • 정의: 모델이 잘못된 가정을 통해 일관된 오차를 보이는 현상
  • 특징:
    • 높은 훈련 오차 (JtrainJ_{train} ↑)
    • 교차 검증 오차도 유사하게 높음 (JcvJtrainJ_{cv} \approx J_{train})
  • 해결법:
    • 더 복잡한 모델 사용
    • 특성 수 증가
    • 정규화 강도 감소 (λ\lambda ↓)

2.2 분산 (Variance)

  • 정의: 데이터의 작은 변화에도 모델 예측이 크게 변하는 현상
  • 특징:
    • 낮은 훈련 오차 (JtrainJ_{train}↓)
    • 교차 검증 오차는 매우 높음 (JcvJtrainJ_{cv} \gg J_{train})
  • 해결법:
    • 더 많은 데이터 확보
    • 특성 수 줄이기
    • 모델 단순화
    • 정규화 강도 증가 (lambdalambda ↑)

2.3 학습 곡선 (Learning Curves)

  • 훈련 세트 크기에 따른 오차의 변화를 통해 모델 상태 진단 가능
모델 상태훈련 오차검증 오차해석
고편향높음비슷하게 높음과소적합
고분산낮음매우 높음과적합
적절함낮음비슷하게 낮음일반화 우수

3. 머신러닝 개발 프로세스 (Machine Learning Development Process)

머신러닝 프로젝트는 다음의 일련의 단계를 따라 효율적으로 진행됩니다.

  1. 문제 정의 (Problem Definition): 예측하고자 하는 목표 설정
  2. 데이터 수집 (Data Collection): 신뢰 가능한 데이터 확보
  3. 데이터 준비 (Data Preparation): 결측치 처리, 정규화 등
  4. 모델 선택 (Model Selection): 선형 회귀, 결정 트리 등
  5. 모델 훈련 (Model Training): 학습 알고리즘 적용
  6. 모델 평가 (Model Evaluation): 교차 검증, 오차 분석
  7. 모델 튜닝 (Model Tuning): 하이퍼파라미터 조정
  8. 모델 배포 (Model Deployment): 실서비스에 적용
  9. 모니터링 및 유지보수 (Monitoring): 모델 성능 지속 확인 및 개선

4. 불균형 데이터셋 (Skewed Datasets)

소수 클래스 데이터가 너무 적은 경우, 모델은 대부분 다수 클래스를 예측하게 되어 문제가 됩니다.

4.1 문제점

  • 정확도 착시: 단순히 다수 클래스 예측만 해도 정확도는 높게 나올 수 있음
  • 학습 편향: 소수 클래스 무시 → 실무에서 치명적

4.2 해결 방안

  • 데이터 증강 (Data Augmentation): 소수 클래스 데이터 합성/복제
  • 오버샘플링 (Oversampling): 소수 클래스 복제
  • 언더샘플링 (Undersampling): 다수 클래스 일부 제거
  • 클래스 가중치 조정 (Class Weighting): 손실 함수에 가중치 부여
  • 대안 평가 지표 사용:
    • 정밀도 (Precision)
    • 재현율 (Recall)
    • F1 점수
    • AUC (Area Under the Curve)
  • 앙상블 기법 (Ensemble Methods): 랜덤포레스트, 배깅, 부스팅 등 활용
profile
Data_Analyst

0개의 댓글