딥 러닝 앙상블 | 213-딥 러닝의 정확도 향상을위한 네트워크 앙상블 상위 263개 베스트 답변

당신은 주제를 찾고 있습니까 “딥 러닝 앙상블 – 213-딥 러닝의 정확도 향상을위한 네트워크 앙상블“? 다음 카테고리의 웹사이트 th.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://th.taphoamini.com/wiki/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 DigitalSreeni 이(가) 작성한 기사에는 조회수 12,336회 및 좋아요 475개 개의 좋아요가 있습니다.

딥 러닝 앙상블 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 213-딥 러닝의 정확도 향상을위한 네트워크 앙상블 – 딥 러닝 앙상블 주제에 대한 세부정보를 참조하세요

Classification of mnist hand sign language alphabets into 25 classes.
An ensemble of network results may provide improved accuracy compared to any single network. This video goes through the code that explains the ensemble process of the network predictions.
Dataset: https://www.kaggle.com/datamunge/sign-language-mnist
Code generated in the video can be downloaded from here:
https://github.com/bnsreenu/python_for_microscopists
Dataset: https://www.kaggle.com/datamunge/sign-language-mnist

딥 러닝 앙상블 주제에 대한 자세한 내용은 여기를 참조하세요.

[머신러닝 공부] 딥러닝/앙상블(ensemble) – 코딩뚠뚠 – Tistory

여러 모델의 결과를 모아 최종 결과를 내어 성능을 향상시키는 기법이다. 아래의 예시 그림을 보면 이해하기 편하다. https://www.kdnuggets …

+ 여기에 자세히 보기

Source: dbstndi6316.tistory.com

Date Published: 10/17/2022

View: 5022

머신러닝 앙상블(Ensemble) 학습 – DINNO PARTNERS

앙상블 학습(Ensemble Learning)은 여러 개의 분류기를 생성하고, 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법을 말합니다. 강력한 하나의 모델을 사용하는 …

+ 여기를 클릭

Source: www.dinnopartners.com

Date Published: 3/3/2022

View: 5662

[Deep Learning] 앙상블 학습(Ensemble Learning)

[Deep Learning] 앙상블 학습(Ensemble Learning) … 앙상블 학습(Ensemble Learning)에 대해 알아보자. … 앙상블 학습(Ensemble Learning)이란 하나의 …

+ 여기에 보기

Source: xangmin.tistory.com

Date Published: 10/3/2022

View: 4292

Ensemble 개념 정리 – INEED COFFEE

머신러닝/딥러닝에서 앙상블이란 여러 단일 예측(or 분류)모델을 하나로 엮어 더 좋은 성능의 복합 모델을 만드는 기법을 뜻한다. ​. 사람으로 치면 조금 …

+ 여기에 표시

Source: ineed-coffee.github.io

Date Published: 6/14/2022

View: 7735

06.3 The Complete Guide to Ensemble Learning – 한글

딥 러닝은 복잡한 패턴 인식 작업을 해결하는 데 사용됩니다. 하지만-. 이러한 모델은 최적의 성능을 발휘하기 위해 많은 양의 레이블이 지정된 …

+ 여기를 클릭

Source: wikidocs.net

Date Published: 9/15/2021

View: 6043

[머신러닝] 앙상블 학습 이란 – Medium

앙상블 기법 Ensemble Learning 이란 여러 개의 개별 모델을 조합하여 최적의 모델로 일반화하는 방법입니다. weak ifier 들을 결합하여 strong …

+ 더 읽기

Source: medium.com

Date Published: 2/16/2021

View: 644

[머신 러닝] 앙상블 (Ensemble) 방법의 이해 – Untitled

1. 앙상블 (Ensemble) 방법 다양한 분야의 머신 러닝 문제를 챌린지의 형태로 해결하는 플랫폼인 Kaggle에서는 복잡한 딥 러닝 알고리즘보다 간단한 …

+ 여기에 자세히 보기

Source: untitledtblog.tistory.com

Date Published: 11/4/2021

View: 5149

주제와 관련된 이미지 딥 러닝 앙상블

주제와 관련된 더 많은 사진을 참조하십시오 213-딥 러닝의 정확도 향상을위한 네트워크 앙상블. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

213-딥 러닝의 정확도 향상을위한 네트워크 앙상블
213-딥 러닝의 정확도 향상을위한 네트워크 앙상블

주제에 대한 기사 평가 딥 러닝 앙상블

  • Author: DigitalSreeni
  • Views: 조회수 12,336회
  • Likes: 좋아요 475개
  • Date Published: 2021. 4. 14.
  • Video Url link: https://www.youtube.com/watch?v=-ix_Mjzu8BU

[머신러닝 공부] 딥러닝/앙상블(ensemble)

반응형

앙상블 포스팅 계기 :

앙상블 기법의 존재여부도 최근에야 알게됐다.

AI 공모전에 참여하며 우수자들이 ensemble을 사용하는 것을 보고 공부를시작했고, Fast campus 머신러닝과정에서 ensemble에 대한 강의도 듣게 되며 포스팅까지 하게 됐다.

또한 Tree를 주로 사용하는 머신러닝기법이 아닌 딥러닝 모델을 사용해, Image Classification에서 앙상블을 적용시켜보고 싶었다.

목차 :

1.

[머신러닝]

앙상블에 대한 기초적인 개념과 종류, Bagging, RandomForest, Boosting, Stacking 등에 대해 알아본다.

2.

[딥러닝]

ResNet50을 앙상블 하여 Classification 성능을 높여본다.

1. (ML) 앙상블 개념 및 기법들

앙상블이란 :

사전적의미 : 연주나 연극 등의 통일적 효과나 조화. 순화어는 `조화’.

사전적의미와 같이 ‘조화’ 하는것이다. 무엇을? 모델을

여러 모델의 결과를 모아 최종 결과를 내어 성능을 향상시키는 기법이다.

아래의 예시 그림을 보면 이해하기 편하다.

https://www.kdnuggets.com/2019/09/ensemble-learning.html

특징 :

대부분은 ensemble 사용시 정확도가 높아진다.

각 모델별 특징이 두드러지는 즉 over fitting이 잘 되는 모델을 기본적으로 사용한다. (ML에선 Tree기반 모델 사용)

기법 종류 :

Bagging – 모델의 다양화를 위해 데이터를 재구성 RandomForest – 모델의 다양화를 위해 데이터와 변수를 재구성 Boosting – 맞추기 어려운 데이터에 대해 가중치를 두어 학습

+ Stacking – 모델의 output값을 새로운 독립변수로 이용

1. Bagging

전체 데이터 중 일부를 추출(복원추출)해서 이를 Tree를 통한 예측을 실시한다.

여러 Tree를 거친 prediction을 모아 최종 prediction을 도출한다.

https://towardsdatascience.com/the-ultimate-guide-to-adaboost-random-forests-and-xgboost-7f9327061c4f

전체 데이터의 약 63% 정도만 추출되고 미 추출된 데이터로는 Error를 계산할 수 있다. (OOB error)

깊이 성장한 Tree는 overfitting 을 증가시키고 / 분산이 증가 / 편향이 감소한다.

Bagging을 통해서는 편향을 유지하면서 / 분산을 낮출 수 있게 되어 noise에 강해지게 된다.

2. RandomForest

Bagging의 분산은 각 트리들의 분산과 그들의 공분산으로 이루어져 있다.

ex) Var(X+Y) = Var(X) + Var(Y) + 2Cov(X,Y)

복원추출을 진행했으나 각 트리들은 중복데이터를 가지고 있기 때문에 독립이라는 보장이 없다.

공분산이 0이 아님에 따라 Tree가 증가하면 모델 전체의 분산이 증가할 수 있다.

따라서 각 트리간 공분산을 줄일 수 있는 방법인 RandomForest 방법 이 대두

즉 DB뿐 아닌 변수까지 랜덤으로 뽑는 컨셉으로 base learner 간 공분산을 줄이자는 것

아래 사진을 보면 위의 Bagging 사진과 다르게 변수까지 같이 뽑은것을 볼 수 있다.

https://towardsdatascience.com/the-ultimate-guide-to-adaboost-random-forests-and-xgboost-7f9327061c4f

일반적으로 Bagging 기법보다 성능이 좋다고 한다.

3. Boosting

맞추기 힘든 데이터에 가중치를 두어 학습하는 방법이다.

즉 오분류 된 데이터에 초점을 맞춘다. -> 다음 Round 에서 더 많이 수정되게 된다.

종류 : AdaBoost, Gradient Boosting, XGBoost, LightGBM, Catboost 등

Boosting 종류간 차이는 오분류된 데이터를 다음 Roung에 어떻게 반영할 것인가의 차이이다.

https://towardsdatascience.com/the-ultimate-guide-to-adaboost-random-forests-and-xgboost-7f9327061c4f

Boosting 기법들을 정리해 놓은 블로그가 있어 링크를 가져와봤다.

jinsu-l.github.io/machinelearing/BOOSTING/?

4. Stacking

Meta Learner 라고 불리며, 다양한 모델들을 사용하는 특징이 있다.

x Fold cross validation이 필요하며 학습 시간이 오래 걸린다.

x = 5 라고 두었을 때 학습데이터와 검증데이터가 나뉠 것이다.

이에 대해 총 4개의 모델로 예측결과를 도출하고 이 결과와 기존 데이터를 합한 것이 새로운 검증 데이터가 되게 된다.

좋은 GIF 이미지가 있어 블로그 주소와 함께 첨부한다.

3months.tistory.com/192

기법에 대한 설명은 여기까지이다.

2. (DL) 앙상블 사용

딥러닝 성능을 향상하기 위한 기법으로 사용할 수 있다.

각각 다른 신경망으로 학습데이터에 대해 각각 따로 학습을 시킨 후, n개의 예측값을 출력시키고 그것을 n으로 나눈 평균값을 최종 출력으로 하는 것이다. (Stacking사용)

오버피팅의 해결과 약간의 정확도 상승 효과가 실험을 통해 입증되었다.

또한 평균이 아닌 투표방식, weight별 가중치를 다르게 주는 방법들도 존재한다.

ex) pretrained 된 모델들을 앙상블모델로 만들어 분류의 성능을 높이자

DataLoader 생성 모델1, 모델2, 모델3 생성 (ResNet, Inception, DensNet 예시) 각 모델에서 컨볼루션 feature 추출 그 feature들로 학습, 검증 데이터셋 생성 및 DataLodaer 생성 앙상블 모델 생성 앙상블 모델 학습

ex) 각 모델의 prediction값을 평균낸 결과를 최종 결과로 사용하자

1. DataLoader 생성

2. 모델1, 모델2, 모델3 생성 및 각각 학습

3. 세 가지 모델 모두 앙상블로 결합 (모델이 인스턴스화 되고 가장 좋은 가중치가 로드된다.)

conv_pool_cnn_model = conv_pool_cnn(model_input) all_cnn_model = all_cnn(model_input) nin_cnn_model = nin_cnn(model_input) conv_pool_cnn_model.load_weights(‘weights/conv_pool_cnn.29-0.10.hdf5’) all_cnn_model.load_weights(‘weights/all_cnn.30-0.08.hdf5’) nin_cnn_model.load_weights(‘weights/nin_cnn.30-0.93.hdf5′) models = [conv_pool_cnn_model, all_cnn_model, nin_cnn_model]

4. 그저 평균을 내주는 ensemble 모델을 만든다.

def ensemble(models, model_input): outputs = [model.outputs[0] for model in models] y = Average()(outputs) model = Model(model_input, y, name=’ensemble’) return model ensemble_model = ensemble(models, model_input)

이와 같이 여러 방법으로 딥러닝을 이용한 image classification, object detection 등에서 앙상블 기법을 적용할 수 있다.

References

관련 영상 주소 : www.youtube.com/watch?v=b4x4roTt5QM&t=388s

관련 깃헙 주소1 : github.com/digitalbrain79/resnet-ensemble

관련 깃헙 주소2 : github.com/KerasKorea/KEKOxTutorial/blob/master/16_Ensembling%20ConvNets%20using%20Keras.md

반응형

머신러닝 앙상블(Ensemble) 학습 – DINNO PARTNERS

1. 앙상블 학습이란?

앙상블 학습(Ensemble Learning)은 여러 개의 분류기를 생성하고, 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법을 말합니다.

강력한 하나의 모델을 사용하는대신 보다 약한 모델 여러개를 조합하여 더 정확한 예측에 도움을 주는 방식입니다.

현실세계로 예를 들면, 어려운 문제를 해결하는데 한 명의 전문가보다 여러명의 집단지성을 이용하여 문제를 해결하는 방식을 앙상블 기법이라 할 수 있습니다.

전 세계의 머신러닝 개발자들의 기량을 겨루는 오픈 플랫폼 캐글(Kaggle)에서 XGBoost, LightGBM과 같은 앙상블 알고리즘이 머신러닝의 선도 알고리즘으로 인기를 모으고 있다는 점에서 앙상블 학습의 강력함을 확인할 수 있습니다.

2. 앙상블 학습 유형

앙상블 학습은 일반적으로 보팅(Voting), 배깅(Bagging), 부스팅(Boosting) 세 가지의 유형으로 나눌 수 있습니다.

보팅(Voting) 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정하는 방식 서로 다른 알고리즘을 여러 개 결합하여 사용 보팅 방식 하드 보팅(Hard Voting) 다수의 분류기가 예측한 결과값을 최종 결과로 선정 소프트 보팅(Soft Voting) 모든 분류기가 예측한 레이블 값의 결정 확률 평균을 구한 뒤 가장 확률이 높은 레이블 값을 최종 결과로 선정

배깅(Bootstrap AGGregatING, Bagging) 데이터 샘플링(Bootstrap) 을 통해 모델을 학습시키고 결과를 집계(Aggregating) 하는 방법 모두 같은 유형의 알고리즘 기반의 분류기를 사용 데이터 분할 시 중복을 허용 Categorical Data : 다수결 투표 방식으로 결과 집계 Continuous Data : 평균값 집계 과적합(Overfitting) 방지에 효과적 대표적인 배깅 방식 : 랜덤 포레스트 알고리즘

부스팅(Boosting) 여러개의 분류기가 순차적으로 학습을 수행 이전 분류기가 예측이 틀린 데이터에 대해서 올바르게 예측할 수 있도록 다음 분류기에게 가중치(weight)를 부여하면서 학습과 예측을 진행 계속하여 분류기에게 가중치를 부스팅하며 학습을 진행하기에 부스팅 방식이라고 불림 예측 성능이 뛰어나 앙상블 학습을 주도 대표적인 부스팅 모듈 – XGBoost, LightGBM 보통 부스팅 방식은 배깅에 비해 성능이 좋지만, 속도가 느리고 과적합이 발생할 가능성이 존재하므로 상황에 따라 적절하게 사용해야 함.

머신러닝 모델을 생성하는 것은 라이브러리를 가져다 쓰면 되기 때문에 자세한 내용을 몰라도 사용하는데 문제는 없습니다.

하지만, 성능 향상을 위해 상황에 맞는 모델 선택 및 하이퍼 파라미터 튜닝을 하기 위해 정확한 수식 이해까지는 아니더라도, 모델의 동작방식과 모델의 하이퍼 파라미터 의미 정도는 알고 있어야 합니다.

[Deep Learning] 앙상블 학습(Ensemble Learning)

반응형

앙상블 학습(Ensemble Learning)에 대해 알아보자.

목 적

앙상블 학습(Ensemble Learning)이란 하나의 모델만을 학습시켜 사용하지 않고 여러 모델을 학습시켜 결합하는 방식으로 문제를 처리한다. 특히, 모델 하나로 원하는 성능을 낼 수 없을 때 앙상블 학습을 사용하면 효과적이며, 개별로 학습한 여러 모델을 조합하여 일반화(generalization) 성능을 향상할 수 있다.

방 법

– 여러 분류 알고리즘 사용 : 다수결 투표

– 하나의 분류 알고리즘 이용 : 배깅(Bagging), 부스팅(Boosting)

종 류

– 투표(Majority Voting) : 동일한 훈련세트

– 배깅(Bagging) : 훈련 샘플에서 알고리즘마다 별도의 훈련세트 추출

* 랜덤 포레스트(Random Forest) : 의사 결정 트리

– 부스팅(Boosting) : 샘플 뽑을 때 잘못된 분류 data 50%를 재학습, 또는 가중치 이용

보팅 (Voting)

– 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정하는 방식

– 서로 다른 알고리즘을 여러 개 결합하여 사용

* 하드 보팅(Hard Voting) : 다수의 분류기가 예측한 결과값을 최종 결과로 선정

* 소프트 보팅(Soft Voting) : 모든 분류기가 예측한 레이블 값의 결정 확률 평균을 구한 뒤 가장 확률이 높은 레이블 값을 최종 결과로 선정

배깅 (Bagging)

– 데이터 샘플링을 통해 모델을 학습시키고 결과를 집계하는 방법

– 모두 같은 유형 알고리즘 기반의 분류기를 사용

– 데이터 분할 시 중복을 허용

– Categorical Data : 다수결 투표 방식으로 결과 집계

– Continuous Data : 평균값 집계

– 과적합(Overfitting) 방지에 효과적

– 대표적인 배깅 방식 : 랜덤 포레스트 알고리즘

부스팅(Boosting)

– 여러 개의 분류기가 순차적으로 학습을 수행

– 이전 분류기가 예측이 틀린 데이터에 대해서 올바르게 예측할 수 있도록 다음 분류기에 가중치(weight)를 부여하면서 학습과 예측을 진행

– 계속하여 분류기에게 가중치를 부스팅하며 학습을 진행하기에 부스팅 방식이라고 불림

– 예측 성능이 뛰어나 학습을 주도

– 보통 배깅에 비해 성능이 좋으나, 속도가 느리고 과적합의 문제가 발생할 가능성이 있음

출처 :

https://data-matzip.tistory.com/entry/%EC%95%99%EC%83%81%EB%B8%94-%EA%B8%B0%EB%B2%95-%EC%A0%95%EB%A6%AC-1-%EC%95%99%EC%83%81%EB%B8%94Ensemble-%EA%B8%B0%EB%B2%95%EA%B3%BC-%EB%B0%B0%EA%B9%85Bagging-%EB%B6%80%EC%8A%A4%ED%8C%85Boosting-%EC%8A%A4%ED%85%8C%EC%9D%B4%ED%82%B9Stacking

반응형

Ensemble 개념 정리

Index

Ensemble 이란?

머신러닝/딥러닝에서 앙상블이란 여러 단일 예측(or 분류)모델을 하나로 엮어 더 좋은 성능의 복합 모델을 만드는 기법을 뜻한다.

사람으로 치면 조금 똑똑한 사람 여러명을 통한 집단 지성으로 아주 똑똑한 전문가 한 명보다 더 좋은 결과를 가져오는 상황 쯤으로 이해할 수 있다.

뛰어난 성능의 단일 모델도 물론 좋지만, 적당한 성능의 여러 단일 모델 조합하여 앙상블 모델을 활용하면 더 뛰어난 일반화 성능을 자랑하는 경우가 많기 때문에 지금까지도 이를 활용한 연구가 활발히 진행되고 있다.

Ensemble 의 3가지 유형

이러한 앙상블 기법에는 여러 종류가 있지만 가장 대표적이고 많이 쓰이는 유형은 3가지가 있다.

Voting Bagging Boosting

각 기법을 활용하는 대표 모델은 다음과 같다.

Bagging : Random Forest

Boosting : AdaBoost, Gradient Boost, XGBoost, LGBM

1. Voting

Voting 기법은 앙상블 기법 중 가장 간단한 기법으로 분류(Classification) 문제에서 활용된다.

“각각의 단일 모델들이 예측한 분류 중 가장 많은 비율을 차지한 레이블을 최종 결과로 예측한다” 가 바로 보팅 방식의 개념이다.

예를 들어 1,2,3 중 하나로 분류해야 하는 문제를 위해 10개의 단일 모델을 보팅 방식으로 앙상블 하였다고 가정하자.

각 모델들의 예측이 다음과 같다면,

1 2 3 4 5 6 7 1로 예측 : 2개 모델 2로 예측 : 5개 모델 3로 예측 : 3개 모델 1로 예측한 비율 => 0.2 2로 예측한 비율 => 0.5 (win!) 3로 예측한 비율 => 0.3

최종 결과를 2로 예측 하는것이 바로 Voting 이다.

이러한 Voting 기법은 크게 2가지 방식의 적용 방식이 존재하는데,

Hard Voting

위에서 예시로 든 상황처럼 각 모델들의 softmax(or logistic) 적용 값에서 가장 큰 값만 참고하여 비율을 계산

ex) A, B, C 모델의 softmax 적용 값이 다음과 같다면 A 모델 = {1일 확률: 0.7 , 2일 확률: 0.2 , 3일 확률: 0.1} B 모델 = {1일 확률: 0.4 , 2일 확률: 0.3 , 3일 확률: 0.3} C 모델 = {1일 확률: 0.0 , 2일 확률: 0.9 , 3일 확률: 0.1} ​ 각 모델의 max 분류만 참고하여 “A번 모델 = 1이라 예측” “B번 모델 = 1이라 예측” “C번 모델 = 2이라 예측” 와 같이 생각하여 가장 비율이 큰 1 을 최종 분류로 결정하는 방식으로 voting을 진행

Soft Voting

hard voting 보다 조금 더 정교한 계산 방식으로, softmax(or logistic) 적용 값을 모두 참고하여 비율을 계산

ex) A, B, C 모델의 softmax 적용 값이 다음과 같다면 A 모델 = {1일 확률: 0.7 , 2일 확률: 0.2 , 3일 확률: 0.1} B 모델 = {1일 확률: 0.4 , 2일 확률: 0.3 , 3일 확률: 0.3} C 모델 = {1일 확률: 0.0 , 2일 확률: 0.9 , 3일 확률: 0.1} ​ 각 모델의 softmax 값을 모두 참고하여 “1이라 예측한 softmax 값 총합 = 0.7(A) + 0.4(B) + 0.0(C) = 1.1” “2이라 예측한 softmax 값 총합 = 0.2(A) + 0.3(B) + 0.9(C) = 1.4” “3이라 예측한 softmax 값 총합 = 0.1(A) + 0.3(B) + 0.1(C) = 0.5” 와 같이 생각하여 가장 총합이 큰 2 를 최종 분류로 결정하는 방식으로 voting을 진행

2. Bagging

Bagging 기법은 Random Forest 개념 정리 에서도 자세히 다뤘지만,

Bootstrapping + aggregating 의 합성 용어이다.

Boostrapping 이란 통계학 용어로, 전체 집합에서 무작위 복원추출을 통해 여러 부분집합을 만드는 행위를 말한다.

예를들어 [1,2,3,4,5] 라는 전체 데이터셋이 있을때 무작위 복원추출을 통하여 크기가 3짜리인 부분 데이터셋 [3,1,3] , [2,5,1] , [4,5,5] 등등을 만드는 것이 부트스트래핑이다.

이러한 행위의 목적은 전체 집합의 각기 다른 부분 집합을 통해 여러 모델들을 학습하게 되면 정답에 대한 편항을 증가시키는 효과가 있어 일반화 성능에 도움이 되기 때문이다.

Aggregating 이란 ‘집계하다’ 라는 의미를 가진 광범위한 용어로 평균이나 최빈값 등을 도출하는 동작을 말한다.

Bagging 에서의 집계란 위의 Boostrapping 을 통해 생성된 각기 다른 데이터셋으로부터 학습한 여러 모델들의 아웃풋을 집계하여 최종 예측값/분류값을 도출하는 과정을 말한다.

학습의 목적이 Prediction / Classification 인지에 따라 집계하는 방식이 다른데, 가장 많이 활용되는 방식은 다음과 같다.

Prediction

Averaging : Bagging을 통해 엮인 각 모델들의 출력값의 평균을 최종 출력으로 사용한다. if Model_1 ==> 5.5 Model_2 ==> 7 Model_1 ==> 4.5 Final_output = (5.5 + 5 + 4.5)/3 = 5.0

Classification

데이터 성격에 맞는 Voting 방식을 택한다. FYI, Random Forest 모델은 각 의사결정나무의 출력을 Hard-Voting을 통해 집계한다.

이러한 Bagging 기법은 Over-fitting에 빠지기 쉬운 단일 모델들에 적용하였을 때 효과있으며 다르게 표현하면

“편향이 작은 여러 모델” 들을 활용해 “분산을 줄이는” 앙상블 기법이라고 할 수 있다.

Boosting 기법은 Bagging 과 비슷하면서도 다른 독특한 앙상블 기법이다. 그 공통점/차이점에 대해 한줄요약하면 다음과 같은데,

Boosting은 Bagging과 비슷하게 여러 모델들을 학습시키고 각 모델을의 출력을 Averaging , 혹은 Voting하여 최종 출력을 결정한다.

Boosting은 Bagging과 다르게 앙상블 되는 모델은 동일한 알고리즘 기반 모델이며, 각 모델들이 병렬적이 아닌 순차적으로 학습하고, 집계 시 각 모델의 출력에 가중치를 적용하여 집계한다.

즉, Boosting과 Bagging은 절차 껍데기는 같으나 각 단계의 동작은 다른 성격을 띈다. 다른 점을 하나씩 살펴보자면,

1.앙상블 되는 모델은 동일한 알고리즘 기반 모델이다.

Bagging의 경우 랜덤 포레스트와 같이 동일 알고리즘 기반 모델을 앙상블 하는것도 가능하지만, 각 모델이 서로 의존적 관계가 아니기 때문에 다른 알고리즘 기반의 모델을 앙상블 하는것도 가능하다. (Ex. SVC + DecisionTree Classifier + BNaive Bayesian Classifer)

2.각 모델들이 병렬적이 아닌 순차적으로 학습한다.

Bagging에서는 각 모델들이 Bootstrapping을 통해 생성된 부분데이터셋으로 학습하기 때문에 의존적 관계가 아니다 라는 표현을 하였는데 Boosting에서는 각 모델들이 어떤 데이터를 통해 학습할지가 이전 모델이 학습하고 나서야 정해진다.

남자,여자 중 하나로 분류하는 예측작업을 위해 부스팅 앙상블을 활용하려면, 임의의 부분 데이터셋을 생성하여 단일 모델 하나(ex. DT)를 먼저 학습해본다. 1 번의 모델의 분류별 예측률을 확인했더니 남자 레이블 예측이 더 저조하였다면 1 번에서의 학습 데이터셋에 남자 레이블 정보를 조금 더 추가한다. 2 번에서 보완된 데이터셋을 통해 다음 단일 모델을 학습해본다. 2 ~ 3 번의 과정을 반복한다.

이러한 방식으로 학습하기 때문에 순차적 학습 이라고 부른다.

Bagging , Boosting 방식의 차이를 그림으로 나타내면 다음과 같다.

3.집계 시 각 모델의 출력에 가중치를 적용하여 집계한다.

2 번의 특징처럼 순차적 학습을 진행하게되면, 당연하게 이후에 학습하는 모델들이 더 좋은 성능을 보이므로 각 모델의 출력을 집계할 때 이런 성능차이를 고려하기 위하여 가중치 개념을 적용한다.

번의 특징처럼 순차적 학습을 진행하게되면, 당연하게 이후에 학습하는 모델들이 더 좋은 성능을 보이므로 각 모델의 출력을 집계할 때 이런 성능차이를 고려하기 위하여 개념을 적용한다. 참고 도서에서는 가중치를 모델의 정확도로 써서 예시를 들었는데,

예를 들어 남/여를 분류하는 작업을 하는 세 분류기의 정확도가 다음과 같고,

분류기1 분류기2 분류기3 정확도 0.4 0.5 0.95

각 모델이 분류가 다음과 같을때,

분류기1 분류기2 분류기3 분류값 남자: 0.7 , 여자: 0.3 남자: 0.8 , 여자: 0.2 남자: 0.1 , 여자: 0.9

랜덤포레스트 모델에서 소프트 보팅을 하였다면 분류기1의 0.7 , 0.3 이란 값이 그대로 쓰였겠지만,

Boosting 방식에서는 분류기1의 가중치(정확도)인 0.4를 곱한 값으로 집계하게 된다. (0.4X0.7 , 0.4X0.3)

따라서 최종적으로 각 레이블일 확률은 다음과 같이 집계되어

남자 : 0.4*0.7 + 0.5*0.8 + 0.95*0.1 = 0.775

여자 : 0.4*0.3 + 0.5*0.2 + 0.95*0.9 = 1.075

Boosting 모델의 최종 출력은 여자 레이블로 계산된다.

이러한 Boosting 기법은 under-fitting된 동일 단일 모델들에 적용하였을 때 효과있으며 다르게 표현하면

“분산이 작은 여러 모델” 들을 결합하여 “편향을 낮추는” 앙상블 기법이라고 할 수 있다.

참고자료

06.3 The Complete Guide to Ensemble Learning

딥 러닝은 복잡한 패턴 인식 작업을 해결하는 데 사용됩니다.

하지만-

이러한 모델은 최적의 성능을 발휘하기 위해 많은 양의 레이블이 지정된 데이터(수백만 개의 주석이 달린 이미지를 생각해 보십시오)가 필요합니다.

따라서 지도 학습 작업을 해결하기 위해 사전 훈련된 모델에 의존해야 하는 경우가 있습니다.

게다가 우리가 수행하려는 작업에 대해 특별히 훈련된 맞춤형 모델이 없으면 우리 모델이 결국에는 성능이 저하될 것이라고 확신할 수 있습니다.

예를 들어, 다중 클래스 분류 작업에서 우리가 사용하는 사전 훈련된 모델은 데이터 세트의 모든 클래스에 대해 최적의 성능을 제공하지 않을 수 있습니다.

유사하게, 다른 사전 훈련된 모델은 동일한 데이터의 일부 다른 클래스에서 잘 작동할 수 있습니다. 따라서 우리는 그러한 모든 모델의 성능을 집계하고 모든 데이터 분포에 대해 더 나은 솔루션을 제공할 수 있는 방법이 필요합니다.

여기에서 “앙상블 학습”의 개념이 작동합니다. 그리고 이것은 진정한 게임 체인저입니다.

In the next few minutes, we’ll help you understand the following:

What is Ensemble Learning? How does Ensemble Learning work? Advanced Ensemble Learning techniques Applications of Ensemble Learning

1. What is Ensemble Learning?

앙상블 학습은 둘 이상의 모델의 두드러진 특성을 융합하여 예측에서 합의에 도달하는 방법입니다. 최종 앙상블 학습 프레임워크는 앙상블이 예측 오류의 분산을 줄이기 때문에 앙상블을 구성하는 개별 모델보다 더 강력합니다.

Ensemble Learning은 다양한 기여 모델에서 보완 정보를 캡처하려고 시도합니다. 즉, 기여 모델이 통계적으로 다양할 때 앙상블 프레임워크가 성공합니다.

즉, 동일한 데이터 세트에서 평가할 때 성능 변화를 표시하는 모델이 앙상블을 형성하는 데 더 적합합니다.

예를 들어-

데이터 세트의 다양한 샘플 세트에 대해 잘못된 예측을 하는 다양한 모델을 앙상블해야 합니다. 통계적으로 유사한 두 모델이 앙상블되면(같은 샘플 집합에 대해 잘못된 예측을 하는 모델) 결과 모델은 기여 모델만큼만 우수합니다. 이러한 경우 앙상블은 예측 능력에 아무런 영향을 미치지 않습니다.

앙상블의 기여 모델 예측의 다양성은 Kullback-Leibler 및 Jensen-Shannon Divergence 메트릭을 사용하여 널리 검증되었습니다(이 백서는 요점을 보여주는 좋은 예입니다).

다음은 앙상블 학습이 유용한 몇 가지 시나리오입니다.

1.1. Can’t choose an “optimal” model

이 기사의 시작 부분에 있는 예제에서 설명한 것처럼 데이터 세트 내의 일부 분포에서 다른 모델이 더 나은 성능을 보이는 상황이 발생할 수 있습니다. 예를 들어 한개의 모델은 개와 고양이 구별하는데 잘 학습이 되어져있을 경우라 할지라도 개와 늑대를 구별하는 경우에는 그렇지 않을수 있습니다.

반면에 두 번째 모델은 “고양이” 클래스에 대해 잘못된 예측을 생성하면서 개와 늑대를 정확하게 구별할 수 있습니다. 이 두 모델의 앙상블은 데이터의 세 클래스 모두 사이에 보다 구별적인 결정 경계를 그릴 수 있습니다.

1.2. Excess/Shortage of data

상당한 양의 데이터를 사용할 수 있는 경우, 하나의 분류기를 대량의 데이터로 훈련시키는 것보다 예측 시간 동안 분류 작업을 여러 분류기로 나누어 앙상블할 수 있습니다.

반면에 사용 가능한 데이터 세트가 작은 경우(예: 레이블이 지정된 의료 데이터를 얻는 데 비용이 많이 드는 생물의학 영역) 부트스트랩 앙상블 전략을 사용할 수 있습니다.

작동 방식은 매우 간단합니다.

우리는 데이터의 다양한 “부트스트랩 샘플”을 사용하여 다양한 분류기를 훈련합니다. 즉, 교체를 사용하여 단일 데이터 세트의 여러 하위 집합을 만듭니다. 이는 동일한 데이터 샘플이 둘 이상의 하위 집합에 존재할 수 있음을 의미하며, 나중에 다른 모델을 훈련하는 데 사용됩니다(자세한 내용은 이 문서 참조).

이 방법은 “배깅(Bagging)” 앙상블 기법 섹션에서 더 자세히 설명합니다.

1.3. Confidence Estimation

앙상블 프레임워크의 핵심은 다양한 모델의 예측에 대한 신뢰도에 기반합니다. 예를 들어, 고양이/개 분류 문제에 대해 4개의 모델 간에 합의를 도출하려고 할 때 2개의 모델이 샘플을 “고양이” 클래스로 예측하고 다른 두 모델이 “개”로 예측하면 앙상블의 신뢰도가 낮습니다.

또한 연구자들은 개별 분류기의 신뢰도 점수를 사용하여 앙상블의 최종 신뢰도 점수를 생성합니다(예: Paper-1, Paper-2). 앙상블 개발에 신뢰 점수를 포함하면 95% 신뢰 예측이 51% 신뢰 예측보다 더 신뢰할 수 있기 때문에 단순한 “다수 투표”보다 더 강력한 예측을 제공합니다.

따라서 앙상블 동안 더 확실하게 예측하는 분류기에 더 많은 중요성을 할당할 수 있습니다.

1.4. High Problem Complexity

때때로 문제는 복잡한 결정 경계를 가질 수 있으며 단일 분류자가 적절한 경계를 생성하는 것이 불가능해질 수 있습니다.

예를 들어, 선형 분류기가 있고 포물선(다항식) 결정 경계로 문제를 해결하려고 하는 경우입니다. 하나의 선형 분류기는 분명히 작업을 잘 수행할 수 없습니다. 그러나 다중 선형 분류기의 앙상블은 다항식 결정 경계를 생성할 수 있습니다.

An example of such a case is shown in the diagram below.

1.5. Information Fusion

앙상블 학습 모델을 사용하는 가장 일반적인 이유는 분류 성능 향상을 위한 정보 융합입니다. 즉, 동일한 클래스 세트에 속하는 데이터의 다른 분포에 대해 훈련된 모델이 예측 시간 동안 사용되어 보다 강력한 결정을 얻습니다.

예를 들어, 전문 사진 작가가 찍은 고품질 이미지에 대해 고양이/개 분류기를 훈련시켰을 수 있습니다. 대조적으로, 다른 분류기는 휴대폰에서 캡처한 저품질 사진을 사용하여 데이터에 대해 훈련되었습니다. 새 샘플을 예측할 때 두 분류기의 결정을 통합하면 더 강력하고 편향이 없습니다.

이제 앙상블을 계산하기 위한 몇 가지 인기 있는 메커니즘으로 이동해 보겠습니다.

2. How does Ensemble Learning work?

앙상블 학습은 서로 다른 분류자에 의해 학습된 매핑 기능을 결합하여 집계된 매핑 기능을 생성합니다.

수년에 걸쳐 제안된 다양한 방법은 이 조합을 계산하기 위해 서로 다른 전략을 사용합니다.

아래에서는 문헌에서 일반적으로 사용되는 가장 인기 있는 방법을 설명합니다.

2.1. Bagging

Bagging 앙상블 기법은 “bootstrap aggregating”의 약자로 제안된 가장 초기의 앙상블 방법 중 하나입니다.

이 방법의 경우 데이터 세트의 하위 샘플이 생성되며 이를 “부트스트랩 샘플링”이라고 합니다. 간단히 말해서, 데이터 세트의 임의 하위 집합은 대체를 사용하여 생성됩니다. 즉, 동일한 데이터 포인트가 여러 하위 집합에 존재할 수 있음을 의미합니다.

이러한 하위 집합은 이제 여러 기계 학습 모델이 적합할 독립적인 데이터 집합으로 처리됩니다. 테스트 시간 동안 동일한 데이터의 서로 다른 하위 집합에 대해 훈련된 모든 모델의 예측이 고려됩니다.

최종 예측을 계산하는 데 사용되는 집계 메커니즘이 있습니다(나중에 논의되는 평균, 가중 평균 등).

Bagging

위에 표시된 이미지는 배깅 앙상블 메커니즘을 예시합니다.

배깅 메커니즘에서는 병렬 처리 스트림이 발생합니다. 배깅 방법의 주요 목적은 앙상블 예측의 분산을 줄이는 것입니다.

따라서 선택된 앙상블 분류기는 일반적으로 높은 분산과 낮은 편향을 갖습니다(많은 훈련 가능한 매개변수가 있는 복잡한 모델). 이 접근 방식을 기반으로 하는 인기 있는 앙상블 방법은 다음과 같습니다.

Bagged Decision Trees

Random Forest Classifiers

Extra Trees

2.2. Boosting

부스팅 앙상블 메커니즘은 배깅 메커니즘과 현저히 다른 방식으로 작동합니다.

여기서 데이터의 병렬 처리 대신 데이터 세트의 순차적 처리가 발생합니다. 첫 번째 분류기에 전체 데이터 세트가 제공되고 예측이 분석됩니다.

분류기-1이 올바른 예측(특징 공간의 결정 경계 근처에 있는 샘플)을 생성하지 못하는 경우는 두 번째 분류기에 제공됩니다.

이는 Classifier-2가 특징 공간의 문제 영역에 구체적으로 초점을 맞추고 적절한 결정 경계를 학습할 수 있도록 하기 위해 수행됩니다. 유사하게, 동일한 아이디어의 추가 단계가 사용된 다음 이러한 모든 이전 분류기의 앙상블이 계산되어 테스트 데이터에 대한 최종 예측이 이루어집니다.

같은 것을 그림으로 표현하면 아래와 같다.

Boosting ensemble mechanism

부스팅 방법의 주요 목적은 앙상블 결정에서 편향을 줄이는 것입니다. 따라서 분류기는 일반적으로 낮은 분산과 높은 편향을 가져야 하는 앙상블에 대해 선택됩니다. 즉, 학습 가능한 매개변수가 적은 단순한 모델입니다.

Other algorithms based on this approach include:

Adaptive Boosting

Stochastic Gradient Boosting

Gradient Boosting Machines

2.3. Stacking

스태킹 앙상블 방법에는 여러 모델을 훈련하기 위한 배깅 앙상블 메커니즘과 같이 부트스트랩된 데이터 하위 집합을 만드는 것도 포함됩니다.

그러나 여기에서 이러한 모든 모델의 출력은 최종적으로 샘플을 예측하는 메타 분류기라고 하는 다른 분류기에 대한 입력으로 사용됩니다. 두 계층의 분류기를 사용하는 이면의 직관은 훈련 데이터가 적절하게 학습되었는지 여부를 결정하는 것입니다.

예를 들어, 이 기사의 시작 부분에 있는 고양이/개/늑대 분류기의 예에서 분류기-1이 고양이와 개를 구별할 수 있지만 개와 늑대는 구별할 수 없다면 두 번째 분류기에 존재하는 메타 분류기가 레이어는 분류기-1에서 이 동작을 캡처할 수 있습니다. 그러면 메타 분류기가 최종 예측을 하기 전에 이 동작을 수정할 수 있습니다.

스태킹 메커니즘의 그림 표현은 아래와 같습니다.

Stacking ensemble mechanism

위의 다이어그램은 한 수준의 스태킹을 보여줍니다. 또한 분류기의 추가 레이어가 사이에 추가되는 다단계 스택 앙상블 방법이 있습니다.

그러나 이러한 관행은 상대적으로 작은 성능 향상을 위해 계산적으로 매우 비용이 많이 듭니다.

2.4. Mixture of Experts

앙상블의 “Mixture of Experts” 장르는 여러 분류기를 훈련하며, 그 출력은 일반화된 선형 규칙을 사용하는 앙상블입니다.

이러한 조합에 할당된 가중치는 “게이팅 네트워크”, 훈련 가능한 모델 및 일반적으로 신경망에 의해 추가로 결정됩니다.

The Mixture of Experts ensemble mechanism

이러한 방법은 앞에서 설명한 “정보 융합” 문제에서도 성공적입니다.

2.5. Majority Voting

다수결 투표는 문헌에서 가장 초기의 가장 쉬운 앙상블 방식 중 하나입니다. 이 방법에서는 기여하는 분류기의 홀수개를 선택하고 각 샘플에 대해 분류기의 예측을 계산합니다. 그런 다음 이름에서 알 수 있듯이 분류기 풀에서 대부분의 클래스를 가져오는 클래스가 앙상블의 예측 클래스로 간주됩니다.

이러한 방법은 분류기가 투표할 수 있는 후보가 두 개뿐인 이진 분류 문제에 적합합니다. 그러나 어떤 클래스도 과반수 득표를 하지 못하는 경우가 많기 때문에 많은 클래스의 문제에는 실패합니다.

이러한 경우 우리는 일반적으로 상위 후보 중에서 임의의 클래스를 선택하므로 더 큰 오차 범위가 발생합니다. 따라서 신뢰 점수를 기반으로 하는 방법이 더 신뢰할 수 있고 현재 더 널리 사용됩니다.

2.6. Max Rule

“최대 규칙” 앙상블 방법은 각 분류기에 의해 생성된 확률 분포에 의존합니다. 이 방법은 분류기의 “예측 신뢰도” 개념을 사용하므로 다중 클래스 분류 문제에 대한 과반수 투표보다 우수한 방법입니다.

여기서 분류기에 의해 예측된 클래스에 대해 해당 신뢰도 점수를 확인한다. 가장 높은 신뢰도 점수로 예측하는 분류기의 클래스 예측은 앙상블 프레임워크의 예측으로 간주됩니다.

2.7. Probability Averaging

이 앙상블 기법에서는 여러 모델에 대한 확률 점수가 먼저 계산됩니다. 그런 다음 데이터 세트의 모든 클래스에 대한 모든 모델에 대해 점수를 평균화합니다.

확률 점수는 특정 모델에 의한 예측의 신뢰도입니다. 따라서 여기에서 앙상블에 대한 최종 확률 점수를 생성하기 위해 여러 모델의 신뢰도를 합산합니다. 평균화 연산 후 확률이 가장 높은 클래스를 예측 클래스로 지정합니다.

이러한 방법은 폐 CT 스캔 이미지에서 COVID-19 검출을 위해 이 논문에서 사용되었습니다.

2.8. Weighted Probability Averaging

가중 확률 평균화 기법에서 이전 방법과 유사하게 확률 또는 신뢰 점수는 다른 기여 모델에서 추출됩니다.

그러나 여기서는 다른 경우와 달리 확률의 가중 평균을 계산합니다. 이 접근 방식의 가중치는 각 분류기의 중요성을 나타냅니다. 즉, 데이터 집합에 대한 전체 성능이 다른 분류기보다 우수한 분류기는 앙상블을 계산하는 동안 더 중요하게 지정되어 앙상블 프레임워크의 더 나은 예측 능력으로 이어집니다.

딥 러닝 문헌에서 모델의 분류 정확도는 일반적으로 앙상블을 계산하는 동안 분류기에 가중치로 할당됩니다.

예를 들어 이 백서에 설명된 보다 최근의 방법은 가중치를 보다 지능적으로 활용하는 데 중점을 둡니다. 이 논문에서 저자는 클래스 불균형 데이터 세트의 경우, 즉 각 클래스에 다른 양의 훈련 데이터가 포함된 데이터 세트의 경우 분류 정확도를 앙상블에 가중치로 할당하면 성능이 악화될 수 있다고 주장합니다.

대신 정밀도, 재현율, F1 점수 및 AUC(수신기 작동 특성 곡선 아래 영역)와 같은 메트릭이 사용되는 새로운 가중치 방식을 제안했습니다. 그들은 입력 분류기에 적절한 가중치(또는 중요도)를 생성하기 위해 이 네 가지 평가 메트릭을 입력하는 융합 기능을 제안했습니다. 그들은 폐 X-선 이미지를 사용하여 폐렴 감지 문제에 앙상블 방법을 적용했으며 분류 정확도만 사용하여 가중 평균보다 우수한 성능을 보여주었습니다.

서로 다른 앙상블 방법과 비교했을 때의 방법과 그 결과의 순서도가 아래에 나와 있습니다. 해당 방법에 대한 관련 코드는 GitHub에서도 확인할 수 있습니다.

3. Advanced Ensemble Learning techniques

위에서 설명한 앙상블 방법은 수십 년 동안 사용되었습니다. 그러나 연구의 발전으로 다양한 사용 사례에 대해 훨씬 더 강력한 앙상블 기술이 개발되었습니다.

예를 들어 퍼지 앙상블은 “동적 중요성” 개념을 사용하는 앙상블 기법의 한 종류입니다.

분류자에 주어진 “가중치”는 고정되어 있지 않습니다. 전체 데이터 세트의 성능을 확인하는 대신 모든 샘플에 대한 기여 모델의 신뢰도 점수를 기반으로 수정됩니다. 그들은 널리 사용되는 가중 평균 확률 방법보다 훨씬 더 나은 성능을 보입니다. 논문 코드는 Paper-1, Paper-2 및 Paper-3.에서도 확인할 수 있습니다.

최근 인기를 얻고 있는 또 다른 장르의 앙상블 기법은 “스냅샷 앙상블”입니다.

이 기사 전체의 토론에서 알 수 있듯이 앙상블 학습은 여러 모델을 훈련시키는 비용을 수반합니다.

특히 딥 러닝에서는 전이 학습을 하더라도 비용이 많이 드는 작업입니다. 따라서 본 논문에서 제안하는 이 앙상블 학습 방법은 하나의 딥 러닝 모델만 훈련하고 다른 훈련 에포크에서 모델 스냅샷을 저장합니다.

이러한 모델의 앙상블은 테스트 데이터에 대한 최종 앙상블 예측 프레임워크를 생성합니다.

그들은 모델 스냅샷의 다양성을 보장하기 위해 일반적인 딥 러닝 모델 훈련 체제에 몇 가지 수정을 제안했습니다. 앙상블이 성공하려면 이러한 서로 다른 에포크에서 저장된 모델 가중치가 상당히 달라야 합니다.

4. Applications of Ensemble Learning

앙상블 학습은 딥 러닝에서 상당히 일반적인 전략이며 수많은 문제를 해결하는 데 적용되었습니다. 컴퓨터가 디지털 이미지 또는 비디오에서 높은 수준의 의미 정보를 학습해야 하는 복잡한 패턴 인식 작업을 처리하는 데 도움이 되었습니다. 예를 들어 관심 대상 및 이미지 분류 주위에 경계 상자를 형성해야 하는 대상 감지와 같은 경우입니다.

4.1. Disease detection

단순하고 빠른 예후를 위한 질병의 분류 및 위치화는 X-Ray 및 CT 스캔에서 심혈관 질환 감지와 같이 Ensemble 학습에 의해 지원되었습니다.

AI chest X-ray annotation analysis

4.2. Remote Sensing

물리적 접촉 없이 대상 영역의 물리적 특성을 모니터링하는 원격 센싱(Remote Sensing)은 서로 다른 센서에서 획득한 데이터의 해상도가 다르기 때문에 데이터 분포의 일관성이 떨어지기 때문에 어려운 작업입니다.

산사태 감지 및 장면 분류와 같은 작업도 Ensemble Learning의 도움으로 수행되었습니다.

Construction land cover mapping with annotated vehicles

4.3. Fraud Detection

디지털 사기의 탐지는 프로세스를 자동화하는 데 매우 미세한 정밀도가 필요하기 때문에 중요하고 어려운 작업입니다. Ensemble Learning은 신용 카드 사기 및 인상 사기를 탐지하는 데 그 효능이 입증되었습니다.

4.4. Speech emotion recognition

앙상블 학습은 특히 다국어 환경의 경우 음성 감정 인식에도 적용됩니다. 이 기술을 사용하면 하나의 분류기를 선택하고 특정 언어 말뭉치의 정확도를 손상시키는 대신 모든 분류기의 효과를 결합할 수 있습니다.

Emotion recognition using

Ensemble Learning: Key Takeaways

Ensemble Learning은 여러 전문가(분류기)의 의견을 받아 예측을 수행하는 표준 기계 학습 기술입니다.

앙상블 학습의 필요성은 데이터의 희소성/과잉, 문제의 복잡성, 계산 리소스의 제약 등과 같이 데이터 중심 및 알고리즘 중심일 수 있는 여러 문제 상황에서 발생합니다.

수십 년에 걸쳐 발전된 여러 방법은 그러한 많은 문제를 해결하는 데 유용성이 입증되었습니다. 그럼에도 불구하고 전통적인 앙상블의 경고를 해결하기 위해 연구원에 의해 새로운 앙상블 접근 방식이 개발되고 있습니다.

[머신 러닝] 앙상블 (Ensemble) 방법의 이해

1. 앙상블 (Ensemble) 방법

다양한 분야의 머신 러닝 문제를 챌린지의 형태로 해결하는 플랫폼인 Kaggle에서는 복잡한 딥 러닝 알고리즘보다 간단한 머신 러닝 모델을 앙상블 방법을 기반으로 결합한 알고리즘이 우승하는 것을 많이 볼 수 있다. 머신 러닝에서 앙상블은 단어 그대로 여러 단순한 모델을 결합하여 정확한 모델을 만드는 방법이다. 만약 머신 러닝 기술을 이용하여 실세계의 문제를 해결하고자 한다면 앙상블 방법을 반드시 이용할 수 있어야하며, 이는 앞서 설명한 바와 같이 Kaggle 챌린지에서 수 없이 증명되었다.

2. 가장 기본적인 앙상블 방법: 투표 기반 앙상블

강력한 성능에 비해 의외로 앙상블 방법의 개념은 매우 단순하다. 앙상블 개념의 핵심 개념은 다양한 종류의 여러 estimator를 결합하여 더 좋은 estimator를 만드는 것이다. 앙상블 방법의 종류는 estimator들을 어떻게 결합할 것인지에 의해 결정된다. 가장 단순한 앙상블 방법으로는 그림 2와 같이 투표를 기반으로 base estimator들을 결합하여 최종 estimator를 만드는 것이 있다.

그림 2. 투표 기반 앙상블 방법.

투표 기반 앙상블 방법에서는 다수의 예측이 곧 최종 예측이 되기 때문에 그림 2의 예시에서는 2가 아니라 1이라는 값이 최종 예측으로 선택되었다.

3. 투표 기반 앙상블 방법에 대한 이론적인 이해

이산확률분포를 이용하면 투표 기반 앙상블로 만들어진 최종 estimator의 오답률을 쉽게 계산해볼 수 있다. 만약 $N$개의 estimator들이 갖는 평균 정확도가 $p$이고 estimator들이 서로 독립적이라면, 투표를 기반으로 이러한 estimator들을 결합한 최종 estimator의 오답률 $P_e$는 다음과 같이 계산된다.

$$P_e = \sum_{k=\text{ceil}(N/2)}^{N}\binom{N}{k}(1-p)^k p^{(N-k)} \tag{1}$$

식 (1)에서 $k$를 $\text{ceil}(N/2)$부터 시작하는 이유는 과반수 이상의 estimator들이 오답을 내놓았을 때만 최종 estimator가 오답을 발생시키기 때문이다. 식 (1)이 의미하는 중요한 사실은 $p > 0.5$일 때 $N$이 증가할수록 $P_e$는 점점 감소한다는 것이다. 예를 들어, 그림 3은 정확도 $p$가 0.65일 때 $N$의 증가에 따른 $P_e$를 보여준다.

그림 3. 결합된 base estimator의 수에 따른 최종 estimator의 오답률

그림 3에서 볼 수 있듯이 평균 0.65의 정확도를 갖는 estimator를 11개 결합할 경우, 이론적으로 기존 오답률의 절반 수준에 해당하는 오답률 0.15를 얻을 수 있다. 주의할 점은 만약 정확도가 0.4밖에 되지 않는 estimator를 11개 결합한 경우에는 최종 estimator의 오답률이 0.75로 증가하기 때문에 반드시 어느 정도 정확한 estimator들을 결합해야 한다. 투표 이외에도 최대/최소를 이용한 결합이나 평균값을 이용한 방법 등 다양한 앙상블 방법이 존재한다. 이러한 방법에 대해 최종 estimator의 오답률에 대한 유도는 Combining Pattern Classifiers: Methods and Algorithms에 자세히 설명되어 있다.

키워드에 대한 정보 딥 러닝 앙상블

다음은 Bing에서 딥 러닝 앙상블 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 213-딥 러닝의 정확도 향상을위한 네트워크 앙상블

  • microscopy
  • python
  • image processing

213-딥 #러닝의 #정확도 #향상을위한 #네트워크 #앙상블


YouTube에서 딥 러닝 앙상블 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 213-딥 러닝의 정확도 향상을위한 네트워크 앙상블 | 딥 러닝 앙상블, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  Soy Tu Hogar Codigo Promocional | Yo Soy Tu Hogar - Majo Solis(Out Of Hiding En Español) Letra 2382 좋은 평가 이 답변

Leave a Comment