교차 검증과 앙상블

YunGyu Choi·2023년 2월 9일
0

Data Science

목록 보기
6/10

교차검증

  • 보통은 훈련 세트와 평가 세트로 나누어서 모델을 학습하고 평가
  • 그러나 고정된 평가 세트로 모델을 검증하면 평가 세트에 과적합되는 단점
  • 이를 방지하기 위해 교차검증은 훈련 세트를 평가 세트와 검증 세트로 분리한뒤 검증 세트를 사용해 검증하는 방식

교차검증의 장점

  • 데이터의 여러부분을 학습하고 평가해서 일반화 성능을 측정하기 때문에 안정적이고 정확함(샘플링 차이 최소화)
  • 여러 번 학습하고 평가하는 과정을 거치기 때문에 계산량이 많아져서 데이터 세트가 충분하지 않은 경우에도 유용하게 사용가능함

교차검증의 단점

  • Iteration 횟수가 많아서 훈련/평가 시간이 오래걸림

교차 검증 기법의 종류

K-Fold

  • K-Fold는 가장 일반적으로 사용되는 교차 검증 방법
  • 데이터가 독립적이고 동일한 분포를 가진 경우 사용
  • ❗️회귀모델에 많이 사용

단계

  1. 훈련 세트를 훈련세트 + 검증 세트로 사용하기 위해 k개의 폴드로 나눈다.
  2. 첫 번째 폴드를 검증 세트로 사용하고 나머지 폴드들을 훈련 세트로 사용한다.
  3. 모델을 훈련한 뒤, 첫 번째 검증 세트로 평가한다.
  4. 점진적으로 다음 폴드를 검증세트로 사용하며 위 과정을 반복한다.
  5. 총 k개의 성능 결과가 나오며, 이 k개의 평균이 해당 학습 모델의 성능이다.

Stratified K-Fold

  • K-Fold는 단순하게 k개로 균분하기 때문에 타겟의 비율이 일정하지 않을 수 있음(데이터 편향이 있을경우 더 심함)
  • Stratified K-Fold는 레이블 데이터 집합이 원본 데이터 집합의 레이블 분포와 동일하게 학습 세트와 검증 세트를 구성
  • 불균형한 분포도를 가진 데이터 집합에 많이 사용
  • ❗️분류모델에 많이 사용



앙상블

  • 여러 가지 우수한 학습 모델을 조합해 예측력을 향상시키는 모델
  • 분류와 회귀에 모두 쓸 수 있지만 분류에 많이 씀
  • 분류는 가장 많이 선택된 클래스를 반환하고, 회귀는 평균을 구해서 반환
  • 장점 : 단일 모델에 비해 성능 우수
  • 단점 : 모델 결과 해석이 어렵고, 예측시간이 많이 소요됨

앙상블 기법

보팅

  • 서로 다른 알고리즘 모델 여러개를 이용해 투표로 예측 결과를 만든다.
  • 하드보팅 : 예측 결과 값 중 다수결로 최종 보팅 결과 선정
  • 소프트보팅 : 분류기들의 레이블 값 결정 확률을 모두 더해 이를 평균 내서 확률이 가장 높은 레이블 값을 최종 보팅 값으로 선정

배깅

  • 같은 알고리즘 모델 여러개를 데이터 샘플링을 다르게하여 투표를 진행한다.
  • 여러개의 모델들이 학습할 때 다른 의견이 나올 수 있도록 부트 스트래핑 작업을 한다.
  • 매번 모델이 학습할 때 마다 랜덤하게 데이터를 추출하되, 중복된 추출을 허용한다.
  • 트리기반의 RandomForest를 주로 사용한다.

부스팅

  • 같은 알고리즘 모델 여러개를 이용해서 투표를 진행한다.
  • 이전 모델이 잘못 학습한 결과를 다음 모델이 반영해서 학습하도록 한다.
  • 학습 진행이 순차적으로 일어나기 때문에 상대적으로 속도가 느리다.
  • 트리기반의 LightXGBoost를 주로 사용한다.

스태킹

  • 여러가지 다른 모델의 예측 결과값을 다시 학습 데이터로 만들어서 다른 모델(메타 모델)로 재학습시켜 결과를 예측하는 방법
profile
velog에는 이론을 주로 정리하고, 코드와 관련된 것은 Git-hub로 관리하고 있어요. 포트폴리오는 링크된 Yun Lab 홈페이지를 참고해주시면 감사하겠습니다!

0개의 댓글