티스토리 뷰

728x90

안녕하세요. 은행 IT 운영부 이지성과장입니다.

오늘은 최적의 모델을 자동으로 찾아주는 앙상블 (ensemble) 기법에 대해서 알아보도록 하겠습니다.

 

앙상블의 사전적 정의는 '2인 이상이 하는 노래나 연주' 라고 네이버 사전에 등재되어 있습니다.

 

 

네, 앙상블기법은 위 사전적 정의와 비슷하게 하나의 모델의 결과 보다는 여러 개의 모델을 동시에 테스트하여 비교, 통합을 통해 더 좋은 모델을 만들 수 있다는 생각을 기반으로 합니다.

 

예를들어, 수학문제 7-3=? 라는 문제를 동시에 5명이 풀었다고 가정해 봅시다. 이중 3명은 답을 4로, 2명은 답을 3으로 제출하였습니다. 다수결 원칙으로 답이 4일 확률이 더 높을 알 수 있습니다. 앙상블 기법이 무엇인지, 이제 좀 감이 오시죠??

 

이러한 앙상블 기법의 대표적인 기법인 배깅와 부스팅에 대해서 알아보려 합니다.

 

<1> 배깅(Bagging, Bootstrap Aggregating)

 

출처: https://blog.naver.com/jinty/221720587524

 

배깅은 위 그림처럼 modeling1, modeling2 ... modeling n개를 생성하고 , 결과를 취합하여 최적의 모델을 만들어 냅니다.

 

1) 추출을 반복하여 n개의 데이터 생성

2) 각 데이터를 각각 모델링 하여 모델 생성

3) 단일 모델을 결합하여 배깅 모델 생성

 

쉽게말씀드리면, 중창단에서 100의 후보 중에서 소프라노 5명을 선발할 때, 무작위 그룹을 만들어 소리를 들어보고 평균적으로 가장 좋은 그룹을 찾는 방식입니다.

 

 

<2> 부스팅(Boosting)

 

출처: https://blog.naver.com/jinty/221720587524

 

반면 부스팅은 n번 모델에 대한 평가가 수행된다는 점은 동일하나, 큰 차이점은 1모델의 결과가 2번 모델에 영향을 줍니다. 2번 모델의 테스트 결과가 3번의 모델생성에 또 영향을 주는 그런 방식입니다.

 

1) Row data에 동일가중치로 모델 생성

2) 생성된 모델로 인한 오분류 데이터 수집

3) 오분류 데이터에 높은 가중치 부어

4) 과정 반복을 통하여 모델의 정확도 향상

 

 

정리하자면,

-    Bagging은 여러 번의 sampling을 통해 분산을 줄여 모델의 변동성을 감소시키는 방법

-    Boosting은 잘못 분류된 데이터에 집중해 모델의 정확도를 향상시키는 방법

이 되겠습니다.

 

 

사용자 입장에서 raw data와 모델을 생성하는 기법만 정의가 되면, 나머지는 자동으로 최적의 모델을 찾아주는 배깅, 부스팅 기법을 사용하면, 큰 수고 없이 쉽게 최적의 모델을 찾을 수 있습니다. 이런 것이 바로 머신러닝의 묘미가 아닐까 싶습니다.

 

이런 이유에서인지 앙상블 기법을 이용한 다양한 해석과 시도가 논문으로 집필되고 있습니다.

관심이 있으신분은 RISS에 접속하셔서 관련 논문을 보시면, 흥미로운 논문들이 많습니다.

 

[링크] : https://www.riss.kr/

 

 

 

다음 포스팅에는 앙상블 기법을 R을 통해 코딩해보고 이해해 보는 시간을 갖도록 해보겠습니다.

아직 6월임에도 불구하고 더위가 금방 찾아왔습니다. 건강에 유의하시고, 마지막은 명언으로 마무리 지으려 합니다.

긍정적인 생각과 행동으로 화이팅 하시기 바랍니다. ^^;

 

 

“생각하는 대로 살지 않으면, 사는 대로 생각하게 된다.”-폴발레리

 

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함