앙상블 기법: Difference between revisions
From IT Wiki
(앙상블 학습 문서로 넘겨주기) Tag: New redirect |
(앙상블 학습에 대한 넘겨주기를 제거함) Tag: Removed redirect |
||
Line 1: | Line 1: | ||
[[분류:인공지능]][[분류:데이터 과학]] | |||
;Ensemble Learning | |||
;하나의 데이터를 여러개의 분류기를 통해 다수의 학습 모델을 만들어 학습시키고 학습 결과를 결합함으로써 과적합을 방지하고 정확도를 높이는 학습 기법 | |||
== 유형 == | |||
* '''보팅''': 앙상블 학습의 기본, 하위 모든 기법들이 보팅 사용 | |||
* '''배깅''': 하나의 데이터를 여러개로 나누어 학습하는 앙상블 학습법 | |||
** 보팅을 하나의 고유한 학습법으로 보고 배깅과 구분하자면, 일반적으로 보팅은 하나의 데이터에 여러 알고리즘 적용, 배깅은 여러개로 나누어진 데이터에 하나의 알고리즘을 적용하는 것으로 구분 | |||
** 하지만 여러개로 나누어진 데이터를 이용하는 배깅에서도, 최종 예측값을 선택하는 행위는 '보팅'이라 함 | |||
* '''부스팅''': 병렬로 수행되는 배깅과 달리, 각 결과값을 이용하여 순차적으로 결합 | |||
* '''랜덤 포레스트''': 배깅 + [[의사결정 나무]] | |||
=== 보팅 === | |||
;여러 모델에서 구해진 예측값들을 대상으로 다수결 투표를하여 최종 클래스를 예측 | |||
[[파일:앙상블 학습.png|400px]] | |||
* 하드 보팅과 소프트 보팅 | |||
{| class="wikitable" | |||
|- | |||
! 하드 보팅 !! 소프트 보팅 | |||
|- | |||
| [[파일:하드 보팅.png|350px]] || [[파일:소프트 보팅.png|350px]] | |||
|- | |||
| 예측 결과를 그대로 보팅 || 예측 확률의 평균값으로 보팅 | |||
|} | |||
=== 배깅 === | |||
;배깅(Bagging)은 Bootstrap Aggregating의 줄임말로, 부트스트래핑을 이용한 앙상블 학습법 | |||
[[파일:배깅(Bagging).png]] | |||
* 부트스트래핑과 패이스팅 | |||
** 부트스트래핑: 학습 데이터셋에서 중복을 허용하여 랜덤하게 추출하는 방식(aka. 리샘플링) | |||
** 페이스팅: 학습 데이터셋에서 중복 없이 랜덤하게 추출하는 방식 | |||
* 부트스트래핑 장단점 | |||
** '''장점''': 분산 감소 | |||
** '''단점''': 중복으로 인해, 특정 샘플은 사용되지 않고 특정 샘플은 여러번 사용되어 편향될 가능성 | |||
*** '''[[OOB 샘플|OOB(Out-of-Bag) 샘플]]''': 샘플링 되지 않은 나머지 샘플 | |||
=== 부스팅 === | |||
;성능이 약한 학습기(weak learner)를 여러 개 연결하여 순차적으로 학습함으로써 강한 학습기(strong learner)를 만드는 앙상블 학습기법 | |||
[[파일:부스팅(Boosting).png]] | |||
* 장단점 | |||
** '''장점''': 오답에 대해 높은 가중치를 부여하고 정답에 대해 낮은 가중치를 부여하여 오답에 더욱 집중 | |||
** '''단점''': 이상치(Outlier)에 취약 | |||
* 종류 | |||
{| class="wikitable" | |||
|- | |||
! 종류 !! 설명 | |||
|- | |||
| 아다부스팅 | |||
(AdaBoost) | |||
|| | |||
* Adaptive Boosting | |||
* [[언더피팅]] 됐던 학습 데이터 샘플의 가중치를 높여감 | |||
|- | |||
| 그래디언트 부스팅 | |||
(Gradient Boosting) | |||
|| | |||
* 가중치 업데이트를 경사 하강법(Gradient Descent)을 이용 | |||
* 학습 전단계 모델에서의 잔여 오차에 대해 새로운 모델을 학습시키는 방법 | |||
|} | |||
=== [[랜덤 포레스트]] === | |||
;배깅을 적용한 [[의사결정 나무]] 앙상블 학습 기법 | |||
== 참고 문헌 == | |||
* [https://excelsior-cjh.tistory.com/166 앙상블 학습 및 랜덤 포레스트] |
Latest revision as of 09:25, 14 December 2020
- Ensemble Learning
- 하나의 데이터를 여러개의 분류기를 통해 다수의 학습 모델을 만들어 학습시키고 학습 결과를 결합함으로써 과적합을 방지하고 정확도를 높이는 학습 기법
유형[edit | edit source]
- 보팅: 앙상블 학습의 기본, 하위 모든 기법들이 보팅 사용
- 배깅: 하나의 데이터를 여러개로 나누어 학습하는 앙상블 학습법
- 보팅을 하나의 고유한 학습법으로 보고 배깅과 구분하자면, 일반적으로 보팅은 하나의 데이터에 여러 알고리즘 적용, 배깅은 여러개로 나누어진 데이터에 하나의 알고리즘을 적용하는 것으로 구분
- 하지만 여러개로 나누어진 데이터를 이용하는 배깅에서도, 최종 예측값을 선택하는 행위는 '보팅'이라 함
- 부스팅: 병렬로 수행되는 배깅과 달리, 각 결과값을 이용하여 순차적으로 결합
- 랜덤 포레스트: 배깅 + 의사결정 나무
보팅[edit | edit source]
- 여러 모델에서 구해진 예측값들을 대상으로 다수결 투표를하여 최종 클래스를 예측
- 하드 보팅과 소프트 보팅
하드 보팅 | 소프트 보팅 |
---|---|
예측 결과를 그대로 보팅 | 예측 확률의 평균값으로 보팅 |
배깅[edit | edit source]
- 배깅(Bagging)은 Bootstrap Aggregating의 줄임말로, 부트스트래핑을 이용한 앙상블 학습법
- 부트스트래핑과 패이스팅
- 부트스트래핑: 학습 데이터셋에서 중복을 허용하여 랜덤하게 추출하는 방식(aka. 리샘플링)
- 페이스팅: 학습 데이터셋에서 중복 없이 랜덤하게 추출하는 방식
- 부트스트래핑 장단점
- 장점: 분산 감소
- 단점: 중복으로 인해, 특정 샘플은 사용되지 않고 특정 샘플은 여러번 사용되어 편향될 가능성
- OOB(Out-of-Bag) 샘플: 샘플링 되지 않은 나머지 샘플
부스팅[edit | edit source]
- 성능이 약한 학습기(weak learner)를 여러 개 연결하여 순차적으로 학습함으로써 강한 학습기(strong learner)를 만드는 앙상블 학습기법
- 장단점
- 장점: 오답에 대해 높은 가중치를 부여하고 정답에 대해 낮은 가중치를 부여하여 오답에 더욱 집중
- 단점: 이상치(Outlier)에 취약
- 종류
종류 | 설명 |
---|---|
아다부스팅
(AdaBoost) |
|
그래디언트 부스팅
(Gradient Boosting) |
|
랜덤 포레스트[edit | edit source]
- 배깅을 적용한 의사결정 나무 앙상블 학습 기법