안녕하세요! 데코입니다!
오늘은 빅데이터 분석기사 필기 공부를 하면서
고급 분석기법 파트에 있는 "앙상블 분석" 내용을 정리하려고 합니다!
(출처 : 이기적 빅데이터 분석기사 필기 - 2023년 수험서)
1. 앙상블 의미
- 앙상블(Ensemble) 기법은 주어진 자료로부터 여러 개의 학습 모형을 만든 후, 학습 모형들을 조합하여 하나의 최종 모형을 만드는 개념
1) 약학습기(약분류기, Weak Learner)
- 무작위 선정이 아닌 성공확률이 높은. 즉 오차율이 일정 이하(50% 이하)인 학습 규칙(비교적 부정확한 규칙, 분류기)
스팸 메일 처리 방법을 개발한다고 가정 시 스팸을 판정하는 여러 가지 기준이 존재할 것이다.
스팸 여부를 Yes/No로만 판정한다고 가정해보자
ex)
위 예시처럼 스팸 여부를 판단하는 여러 기준들은 모든 메일에 적용할 만큼 강력한 확실한 기준도 있지만 그러지 못한 기준도 있음
제목에 광고가 붙은 경우 스팸(Yes) 본문에 보험/대출이 들어간 경우 스팸(Yes) 보낸이가 내 주소록에 있는 경우 스팸 아님(No)
이와 같이 결과 도출에 실패 가능성을 어느 정도 내포한 여러 학습 기준을 "약학습기"라고 한다.
2) 강학습기(약분류기, Strong Learner)
- 약학습기(Weak Learner)로부터 만들어 내는 강력한 학습 규칙(비교적 정확한 규칙, 분류기)
2. 앙상블 분석의 이해
- 동일한 학습 알고리즘을 이용 시, 앙상블 분석이 한 개의 단일 학습기(Single Learner) 성능보다는 더 나은 분석 성능을 나타냄
- 앙상블 기법은 다양한 약학습기를 통해 강학습기를 만들어가는 과정이다.
3. 앙상블 분석의 종류
1) 보팅(Voting)
- 뜻 그대로 투표를 통해 결정하는 방식
- 보팅은 배깅(Bagging)과 투표방식이라는 점에서 유사하지만 사용법에서 차이점이 존재
# 보팅(Voting)과 배깅(Bagging)의 차이점
- 보팅은 서로 다른 여러 학습 모델을 조합해서 사용
- 배깅은 같은 알고리즘 내에서 다른 표본(sample) 데이터 조합을 사용
- 즉, 보팅은 서로 다른 알고리즘(모델)이 도출해 낸 결과물에 대하여 최종 투표하는 방식을 통해 최종 결과 선택
- 하드 보팅(Hard Voting)은 결과물에 대한 최종 값을 투표해서 결정하는 방식
- 소프트 보팅(Soft Voting)은 최종 결과물이 나올 확률 값을 다 더해서 최종 결과물에 대한 각각의 확률을 구한 뒤 최종 값을 도출해 내는 방법
2) 부스팅(Boosting)
- 가중치를 활용하여 연속적인(sequential) 약학습기를 생성하고 이를 통해 강학습기를 만드는 방법
- 순차적인 학습을 하며 가중치 (weight)를 부여해서 오차를 보완
- 순차적인 특성으로 인하여 병렬 처리에 어렵고 다른 앙상블보다 학습 시간이 오래 걸림(단점)
3) 배깅(Bagging : Bootstrap Aggregation)
- 샘플을 여러 번 뽑아(bootstrap) 각 모델을 학습시켜 결과물을 집계(aggregation)하는 방법
# 배깅 활용 방식
1. 데이터로부터 부트스트랩 진행(복원 랜덤 샘플링)
2. 부트스트랩한 데이터를 이용하여 모델 학습
3. 학습된 모델의 결과를 집계하여 최종 결과 값을 산출
- 범주형 자료(Categorical Data)는 투표 방식(Voting)으로 결과를 집계, 연속형 자료(Continuous Data)는 평균으로 집계
- 투표 방식으로 한다는 것의 의미
ex) 6개의 결정 트리 모델(범주형 자료 - 투표 집계)
4개의 트리모델 : A 예측
2개의 트리모델 : B 예측
= 투표에 의해 더 예측이 많이 된 A를 최종 선택
ex) 6개의 결정 트리 모델(연속형 자료 - 평균 집계)
2개의 트리모델 : 4 예측
2개의 트리모델 : 6 예측
2개의 트리모델 : 8 예측
= 평균에 의해 최종 6으로 선택
- 배깅은 간단하면서도 강력한 방법이며 배깅을 활용한 대표적인 모델은 "랜덤 포레스트(Random Forest)"
오늘은 빅데이터분석기사 필기시험을 준비하면서
앙상블 분석에 관한 내용을 정리해 보았습니다!
앙상블 분석은 제가 과거에 데이터 분석 직무에 면접을 보았을 때에도,
"배깅과 부스팅의 차이를 설명해 보아라!"라는 질문을 받았었어요!
제 생각에는 필기시험에 앙상블 기법에서
- 배깅/부스팅/보팅(하드 보팅, 소프트 보팅)의 개념
- 배깅에서 부트스트랩은 "복원 랜덤 샘플링(중복 허용)"
이 부분에서 출제가 나올 것 같아요!
설명이 어려운 부분 혹은 잘 이해가 안 가는 부분
그리고 더 궁금한 내용이 있다면
언제든지 댓글로 남겨주세요!
빠르게 궁금증을 해결해드릴게요!
공감과 댓글은 큰 힘이 됩니다!
오늘도 글을 읽어주셔서 감사합니다! :)
'Study > 빅데이터분석기사' 카테고리의 다른 글
[빅데이터분석기사/빅분기/실기] 빅데이터분석기사 실기 시험 패키지 import 모음(sklearn & scipy) (31) | 2023.06.03 |
---|---|
[빅데이터분석기사/빅분기/실기] 빅데이터분석기사 실기 시험 팁 TIPS!!(help()와 dir() 활용) (47) | 2023.05.30 |
[빅데이터분석기사/빅분기/필기 정리] 고급 분석기법(비정형 데이터 분석) (14) | 2023.02.14 |
[빅데이터분석기사/빅분기/필기 정리] 고급 분석기법(딥러닝 분석) (23) | 2023.02.10 |
[빅데이터분석기사/빅분기/필기 정리] 고급 분석기법(베이즈 추론) (28) | 2023.01.30 |