비전공자의 비밀노트 - 비비
로그인
비전공자의 비밀노트 - 비비
로그인
교차 검증과 앙상블
YunGyu Choi
·
2023년 2월 9일
팔로우
0
Data Science
0
Data Science
목록 보기
6/10
교차검증
보통은 훈련 세트와 평가 세트로 나누어서 모델을 학습하고 평가
그러나 고정된 평가 세트로 모델을 검증하면 평가 세트에 과적합되는 단점
이를 방지하기 위해 교차검증은 훈련 세트를 평가 세트와 검증 세트로 분리한뒤 검증 세트를 사용해 검증하는 방식
교차검증의 장점
데이터의 여러부분을 학습하고 평가해서 일반화 성능을 측정하기 때문에 안정적이고 정확함(샘플링 차이 최소화)
여러 번 학습하고 평가하는 과정을 거치기 때문에 계산량이 많아져서 데이터 세트가 충분하지 않은 경우에도 유용하게 사용가능함
교차검증의 단점
Iteration 횟수가 많아서 훈련/평가 시간이 오래걸림
교차 검증 기법의 종류
K-Fold
K-Fold는 가장 일반적으로 사용되는 교차 검증 방법
데이터가 독립적이고 동일한 분포를 가진 경우 사용
❗️회귀모델에 많이 사용
단계
훈련 세트를 훈련세트 + 검증 세트로 사용하기 위해 k개의 폴드로 나눈다.
첫 번째 폴드를 검증 세트로 사용하고 나머지 폴드들을 훈련 세트로 사용한다.
모델을 훈련한 뒤, 첫 번째 검증 세트로 평가한다.
점진적으로 다음 폴드를 검증세트로 사용하며 위 과정을 반복한다.
총 k개의 성능 결과가 나오며, 이 k개의 평균이 해당 학습 모델의 성능이다.
Stratified K-Fold
K-Fold는 단순하게 k개로 균분하기 때문에 타겟의 비율이 일정하지 않을 수 있음(데이터 편향이 있을경우 더 심함)
Stratified K-Fold는 레이블 데이터 집합이 원본 데이터 집합의 레이블 분포와 동일하게 학습 세트와 검증 세트를 구성
불균형한 분포도를 가진 데이터 집합에 많이 사용
❗️분류모델에 많이 사용
앙상블
여러 가지 우수한 학습 모델을 조합해 예측력을 향상시키는 모델
분류와 회귀에 모두 쓸 수 있지만 분류에 많이 씀
분류는 가장 많이 선택된 클래스를 반환하고, 회귀는 평균을 구해서 반환
장점 : 단일 모델에 비해 성능 우수
단점 : 모델 결과 해석이 어렵고, 예측시간이 많이 소요됨
앙상블 기법
보팅
서로 다른 알고리즘 모델 여러개를 이용해 투표로 예측 결과를 만든다.
하드보팅 : 예측 결과 값 중 다수결로 최종 보팅 결과 선정
소프트보팅 : 분류기들의 레이블 값 결정 확률을 모두 더해 이를 평균 내서 확률이 가장 높은 레이블 값을 최종 보팅 값으로 선정
배깅
같은 알고리즘 모델 여러개를 데이터 샘플링을 다르게하여 투표를 진행한다.
여러개의 모델들이 학습할 때 다른 의견이 나올 수 있도록 부트 스트래핑 작업을 한다.
매번 모델이 학습할 때 마다 랜덤하게 데이터를 추출하되, 중복된 추출을 허용한다.
트리기반의 RandomForest를 주로 사용한다.
부스팅
같은 알고리즘 모델 여러개를 이용해서 투표를 진행한다.
이전 모델이 잘못 학습한 결과를 다음 모델이 반영해서 학습하도록 한다.
학습 진행이 순차적으로 일어나기 때문에 상대적으로 속도가 느리다.
트리기반의 LightXGBoost를 주로 사용한다.
스태킹
여러가지 다른 모델의 예측 결과값을 다시 학습 데이터로 만들어서 다른 모델(메타 모델)로 재학습시켜 결과를 예측하는 방법
YunGyu Choi
velog에는 이론을 주로 정리하고, 코드와 관련된 것은 Git-hub로 관리하고 있어요. 포트폴리오는 링크된 Yun Lab 홈페이지를 참고해주시면 감사하겠습니다!
팔로우
이전 포스트
인코딩과 스케일링
다음 포스트
평가 지표
0개의 댓글
댓글 작성