Machine Learning/기법

[ML] 머신러닝 Machine Learning 앙상블 Ensemble

파송송 2023. 1. 17. 20:56
728x90

배경

  • No Free Lunch Theorem
    • 모든 상황에서 우월한 성능을 내는 알고리즘은 존재하지 않음
    • 문제의 목적, 데이터 형태등을 종합적으로 고려하여 최적의 알고리즘을 선택할 필요가 있음

Do we Need Hundreds of Classifiers to solve Real World Classification problems?

  • 위의 배경을 입증하는 논문으로 각 121개의 dataset에 대한 179개의 알고리즘에 rank를 매긴 것
    • Random Forest, SVM 계열의 모델이 상대적으로 높은 Rank를 차지함
    • 하나의 알고리즘이 우월한 경우는 없음
    • 그러나 일반적으로 안정적인 성능을 보이는 알고리즘은 존재함

단일 알고리즘 보다 여러 알고리즘을 결합하면 성능이 향상되는 경우가 많다.

> 서로 다른 사고방식 체계를 가지고 있어서 상호 보완이 가능하다.


앙상블 Ensemble

https://pasongsong.tistory.com/112

-> Bias와 Variance에 대한 설명

  • 다수의 모델을 학습하여 오류를 감소 시키는 것
  • 오류는 감소 시키는 방법은 3가지가 있음
    • overfitting일 때, Variance를 낮춘다.(Bagging, Random Forest)
    • Underfittung일 때, Bias를 낮춘다.(Boosting)
    • 둘 다 낮추는 것 (Mixture of Experts) -> control이 어려워 자주 쓰진 않음

다양성결합을 어떻게 할 것인가

 

Diversity

  • A team: 홍길동 30명
  • B team: AI 전공자 30명
  • C team: 다양한 학과 30명

퀴즈쇼에 나간다고 하였을 때 정답률의 순서가 C > B > A 순으로 크게 나올 것이다

 

이는 다양성을 확보하여 다양한 시선에서 문제를 해결하였기 때문!

앙상블에서는 다양성이 결합보다 중요한 문제로 생각된다.

 

  • 동일한 모델을 사용하는 것은 의미가 없음
  • 개별 모델을 서로 적절하게 달라야 앙상블 효과를 볼 수 있으며 어느 정도 좋은 성능을 가지면서 서로 다양한 형태를 가지는 것이 이상적임

 

효과

  • 이론적으로 각 모델이 서로 독립이라고 했을 때 M개의 개별 모델의 평균 오류의 1/M 수준으로 오류가 감소함
    • 모델이 서로 독립인 경우은 거~~~~의 없음
    • \( E_{Ensemble}= \frac{1}{M} E_{avg} \)
      • 이론 상, M=20, E=0.1 이라고 했을 때 앙상블을 쓰면 E=0.005로 에러가 떨어짐
  • 현실적으로 독립인 경우가 거의 없기 때문에 최소한 같거나 낮은 오류를 나타내는 것을 증명함
    • \( [{ \sum_{m=1}^{M}  \epsilon _{m}(x) }]^{2} \leq M  \sum_{m=1}^{M}  \epsilon _{m}(x)^{2} =  [ \frac{1}{M} \sum_{m=1}^{M}  \epsilon_{m}(x)]^{2}  \leq  \frac{1}{M}  \epsilon_{m}(x)^{2} \)
    • \( E_{Ensemble} \leq E_{avg} \)
  • 개별 모델의 1등보다 대부분 우수한 성능을 지님(증명은 하지 못함)

 

728x90