앙상블 분석
- 앙상블은 학습 알고리즘들을 따로 쓰는 경우에 비해 더 좋은 예측 성능을 얻기 위해 다수의 학습 알고리즘을 사용하는 기법이다.
- 앙상블 기법은 다양한 모형의 예측 결과를 결합함으로써 단일 모형으로 분석했을 때보다 높은 신뢰성을 가집니다.
- 이상값에 대한 대응력이 높아지고, 전체 분산을 감소시켜 정확도를 상승시킨다.
- 모형의 투명성이 떨어지게 되어 정확한 현상의 원인 분석에는 부적합하다.
- 주어진 자료로부터 여러 개의 예측 모형을 만든 후 예측 모형들을 조합하여 하나의 최종 예측 모형을 만드는 방법으로 다중 모델 조합, 분류기 조합이 있다.
- 앙상블 알고리즘은 여러개의 학습 모델을 훈련하고 투표를 통해 최적화된 예측을 수행하고 결정한다.
앙상블 학습절차
- 앙상블 학습절차는 도출 및 생성, 집합별 모델 학습, 결과 조합, 최적 의견 도출로 진행된다.
단계 | 내용 |
도출 및 생성 | 학습 데이터에서 여러 학습 집합들을 도출 |
집합별 모델 학습 | 각 집합으로부터 모델을 학습 |
결과 조합 | 각 학습 모델로부터의 결과를 조합 |
최적 의견 도출 | 학습된 모델들의 최적 의견을 도출 |
앙상블 기법의 종류
① 배깅
- 배깅은 학습 데이터에서 다수의 부트스트랩 자료를 생성하고 각 자료를 모델링한 후 결합하여 최종 예측 모형을 만드는 알고리즘이다.
- 부트스트랩은 주어진 자료에서 동일한 크기의 표본을 랜덤 복원 추출로 뽑은 자료를 의미한다.
■ 배깅 기법 절차
- 보팅은 여러 개의 모형으로부터 산출된 결과를 다수결에 의해서 최종 결과를 선정하는 과정이다.
- 최적의 의사결정나무를 구축할 때 가장 어려운 부분이 가지치기이지만 배깅에서는 가지치기를 하지 않고 최대한 성장한 의사결정나무들을 활용한다.
- 실제 현실에서는 학습 자료의 모집단 분포를 모르기 때문에 평균 예측 모형을 고를 수 없기 때문에 배깅은 이러한 문제를 해결하기 위해 훈련자료를 모집단으로 생각하고 평균 예측 모형을 구하여 분산을 줄이고 예측력을 향상시킬 수 있다.
단계 | 내용 |
부트스트랩 데이터 추출 | 분석 데이터로부터 n개의 부트스트랩 데이터 추출(동일 크기) |
단일 분류자 생성 | 부트스트랩 데이터에 적합한 모델을 적용하여 n개 단일 분류자 생성 |
최종 모델 결정 | n개의 단일 분류자 중 다수결을 통해 최종 모델 결정 |
■ 배깅 기법 특징
구분 | 내용 |
목표 | 전반적으로 분류를 잘할 수 있도록 유도 (분산감소) |
최적 모델 결정 방법 |
|
장점 |
|
단점 | 계산 복잡도는 다소 높음 |
적용방안 |
|
주요 알고리즘 | 랜덤 포레스트 |
② 부스팅
- 잘못 분류된 개체들에 가중치를 적용하여 새로운 분류 규칙을 만들고 이 과정을 반복해 최종 모형을 만드는 알고리즘이다.
- 예측력이 약한 모형들을 결합하여 강한 예측 모형을 만드는 방법이다.
■ 부스팅 기법 절차
단계 | 내용 |
동일한 가중치 분류기 생성 | 동일한 가중치의 분석 데이터로부터 분류기 생성 |
가중치 변경 통한 분류기 생성 | 이전 분석 데이터의 분류 결과에 따라 가중치 변경을 통해 분류기 생성 |
최종 분류기 결정 | 목표하는 정확성이 나올 때까지 N회 반복 후 최종 분류기 결정 |
■ 부스팅 기법 특징
구분 | 내용 |
목표 | 분류하기 힘든 관측값들에 대해서 정확하게 분류를 잘하도록 유도(예측력 강화) |
최적 모델 결정 방법 |
|
장점 |
|
단점 | 다소 높은 계산 복잡도 |
적용방안 |
|
주요 알고리즘 |
|
③ 랜덤 포레스트
- 의사결정나무를 기반으로 한 앙상블 모델이다.
- 랜덤 포레스트는 의사결정나무의 특징인 분산이 크다는 점을 고려하여 배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기들을 생성한 후 이를 선형 결합하여 최종 학습기를 만드는 방법이다.
■ 랜덤 포레스트 특징
- 훈련을 통해 구성해 놓은 다수의 나무들로부터 투표를 통해 분류 결과를 도출한다.
- 분류기를 여러 개 쓸수록 성능이 좋아진다.
- 트리의 개수가 많을수록 과대 적합 문제를 피할 수 있다.
- 여러 개의 의사결정 트리가 모여 랜덤 포레스트 구조가 된다.
- 별도의 변수 전처리 없이 분석이 가능하다.
- 이상치에 영향을 적게 받는다.
- 모형의 개수가 너무 많아지면 과적합의 위험이 있다.
■ 랜덤 포레스트 절차
- 수천 개의 변수를 통해 변수 제거 없이 실행되므로 정확도 측면에서 좋은 성과를 보인다.
- 이론적 설명이나 최종 결과에 대한 해석이 어렵다는 단점이 있지만, 예측력이 매우 높다.
- 입력 변수가 많은 경우, 배깅과 부스팅과 비슷하거나 좋은 예측력을 보인다.
단계 | 내용 |
데이터 추출 | 분석 데이터로부터 N개의 부트스트랩 데이터 추출 |
대표 변수 샘플 도출 | N개의 분류기를 훈련 후 대표 변수 샘플 도출 |
Leaf Node로 분류 | 대표 변수 샘플들을 의사결정나무의 Leaf Node로 분류 |
최종 모델 결정 | Leaf Node들의 선형 결합으로 최종 모델 결정 |
■ 랜덤 포레스트 주요 기법
- 배깅을 이용한 포레스트 구성 : 부트스트랩을 통해 조금씩 다른 훈련 데이터에 대해 훈련된 기초 분류기들을 결합시키는 방법
- 임의 노드 최적화
- 분석에 사용되는 변수를 랜덤 하게 추추라는 것으로서, 훈련 단계에서 훈련 목적함수를 최대로 만드는 노드 분할 함수의 매개변수의 최적값을 구하는 과정
- 노드 분할 함수, 훈련 목적 함수, 임의성 정도로 구성
- 분석을 위해 준비된 데이터로부터 임의 복원 추출을 통해 여러 개의 훈련 데이터를 추출하고 각각 개별 학습을 시켜 트리를 생성하여 투표 또는 확률 등을 이용하여 최종 목표 변수를 예측
■ 랜덤 포레스트 주요 초매개 변수
초매개 변수 | 내용 |
포레스트 크기 |
|
최대 허용 깊이(depth) |
|
임의성 정도 |
|
초매개변수 : 사용자가 임의로 설정한 매개변수
앙상블 분석 기출문제
Q. 예측력이 약한 모형을 연결하여 강한 모형으로 만드는 기법으로 오분류된 데이터에 가중치를 주어 표본을 추출하는 앙상블 기법과 알고리즘은? [2회차]
① 배깅 - AdaBoost
② 배깅 - 랜덤 포레스트
③ 부스팅 - 랜덤 포레스트
④ 부스팅 - GBM
④ 부스팅 - GBM
Q. 랜덤 포레스트에 대한 설명으로 적절하지 않은 것은? [2회차]
① 훈련을 통해 구성해놓은 다수의 나무들로부터 투표를 통해 분류 결과를 도출한다.
② 분류기를 여러 개 쓸수록 성능이 좋아진다.
③ 트리의 수가 많아지면 Overfit 된다.
④ 여러 개의 의사결정 트리가 모여서 랜덤 포레스트 구조가 된다.
③ 트리의 수가 많아지면 Overfit 된다.
Q. 다음 중 샘플링 데이터의 가중치를 조정하여 모델을 연속적으로 학습하여 오차를 줄이는 방법은? [3회차]
① 배깅(bagging)
② 스태킹(stacking)
③ 부스팅(boosting)
④ 랜덤포레스트(random forest)
③ 부스팅(boosting)
Q. 랜덤 포레스트에 대한 설명으로 옳지 않은 것은? [3회차]
① 의사결정나무를 기반으로 한 앙상블 모델이다.
② 모델에 사용된 모형의 개수는 많을수록 좋다.
③ 별도의 변수 전처리 없이 분석이 가능하다.
④ 과적합을 방지할 수 있으며 이상치에 영향을 적게 받는다.
② 모델에 사용된 모형의 개수는 많을수록 좋다.
Q. 다음 설명 중 배깅에 대한 내용으로 가장 옳은 것은? [4회차]
① 편향이 낮은 과소 적합 모델을 사용한다.
② 편향이 높은 과대 적합 모델을 사용한다.
③ 부트스트랩 자료를 생성하고 각 부트스트랩 자료를 결합하여 최종 예측모형 산출
④ 가중치를 활용하여 약 분류기를 강 분류기로 만드는 방법
③ 부트스트랩 자료를 생성하고 각 부트스트랩 자료를 결합하여 최종 예측모형 산출
Q. 다음 설명 중 배깅에 대한 내용으로 가장 옳은 것은? [4회차]
① 편향이 낮은 과소 적합 모델을 사용한다.
② 편향이 높은 과대 적합 모델을 사용한다.
③ 부트스트랩 자료를 생성하고 각 부트스트랩 자료를 결합하여 최종 예측모형 산출
④ 가중치를 활용하여 약 분류기를 강 분류기로 만드는 방법
③ 부트스트랩 자료를 생성하고 각 부트스트랩 자료를 결합하여 최종 예측모형 산출
다음 글 보러 가기
- 비모수 통계 개념 및 기출문제
참고자료
수제기 빅데이터분석기사 필기
'자격증 > 빅데이터분석기사' 카테고리의 다른 글
[빅데이터분석기사 필기] 딥러닝 분석 개념 및 기출문제 (0) | 2022.09.28 |
---|---|
[빅데이터분석기사 필기] 비모수 통계 개념 및 기출문제 (2) | 2022.09.28 |
[빅데이터분석기사 필기] 비정형 데이터 분석 개념 및 기출문제 (0) | 2022.09.27 |
[빅데이터분석기사 필기] 시계열분석 개념 및 기출문제 (0) | 2022.09.27 |
[빅데이터분석기사 필기] 주성분분석(PCA) 개념 및 기출문제 (1) | 2022.09.27 |