AI Fundamentals/LG Aimers 3기

[LG Aimers] Module 5.6(Supervised Learning 분류, 회귀) : Ensemble

Jae. 2023. 7. 18. 05:44
728x90

1. Ensemble Learning

 

  • 이미 사용하고 있거나 개발한 알고리즘의 간단한 확장
  • ML에서 알고리즘의 종류와 상관 없이 서로 다르거나, 같은 메커니즘으로 동작하는 다양한 머신러닝 모델을 묶어 함께 사용하는 방식
  • Supervised learning task에서 성능을 올릴 수 있는 방법
  • Ensemble (프랑스어)
    • 함께, 동시에, 한꺼번에 협력하여

 

 

  • Classifier
    • Classification Algorithm itself

 

 

  • Ensemble Methods
    • train data set을 s1,...,s_n으로 나눈다
    • 각 train data마다 model이 학습을 진행
    • 다수의 model이 각각 결정을 내린 후에 다수결로 예측 결과 제공

 

 

  • Advantages
    • 예측 성능을 안정적으로 향상 (다양한 model의 결정으로 최종 예측 결과를 제공, noise 등으로부터 안정적)
    • 쉽게 구현이 가능함 (여러개의 model 사용, 직접적으로 연합하여 적용하기 때문에 간편 사용 가능)
    • 모델 parameter의 tuning이 많이 필요 없음 (각 model이 독립적으로 작동하므로)

 

  • Disadvantages
    • 모델 자체로는 compact한 표현이 되기는 힘듦 (다양한 model들을 혼합하여 사용)

 

 

2. Bagging & Boosting

 

 

 

  • Baggingg (Bootstrapping + Aggregating)
    • 학습과정에서 training sample을 랜덤하게 나누어 선택해 학습
    • 다양한 classifier들이 random한 sample들로 다양하게 학습되므로 same model 이어도 다른 특성의 학습이 가능함
    • Model을 병렬적으로 학습할 수 있음 (각 subset이 다른 model에 영향을 미치지 않기 때문)
    • lower variance의 안정적인 성능을 제공하는데 유용한 방법
    • model이 복잡한 경우에 발생하는 overfitting하는 문제 대비 가능
      • sample을 random하게 선택하는 과정에서 data augmentation 가능
      • 간단한 model을 집합으로 사용할 수 있으므로 안정적인 성능

 

 

 

 

  • Bootstrapping
    • 다수의 sample data set을 생성해서 학습하는 방식
    • 해당 과정을 m번 반복하게 되면 : m개의 data set을 사용하는 효과 발생, noise에 robust하게 된다

 

  • Aggregating
    • 각 model의 결정을 합하여 최종 결정을 내리게 됨

 

 

 

 

  • Boosting
    • bagging과는 다르게 sequential하게 동작
    • 각 Classifier 에서 sample에 weight를 부여 (어떤 sample이 중요하고, 중요하지 않는지 판별) 후 다음 학습과정에 사용
    • 연속적으로 classifier의 결과를 적용 (이전에 동작한 classifier의 결과를 현재 classifier의 결과를 향상하는데 사용)

 

 

 

 

 

  • Weak Classifier의 Cascading
    • Weak Classifier : Bias가 높은 classifier
      •  strong classifier에 비해 성능이 낮아서 혼자서는 무엇을 하기 어려운 모델
    • 해당 model을 cascading하여 적용하면 연쇄적으로 적용되어 sequential한 특성을 가지고, classifier의 성능을 올릴 수 있음

 

 

 

 

  • Adaboost
    • 대표적인 Boosting Algorithm 
    • Base classifier에 의해서 오분류된 sample에 대해 보다 높은 가중치를 두어 다음 학습에 사용
    • 간단하게 구현 가능, 특정한 학습 algorithm에 구애받지 않음

 

 

 

 

 

  • Random Forest
    • Bagging과 Boosting을 활용하는 대표적인 algorithm
    • Deicision Tree의 집합
      • Bagging : 서로 다르게 학습된 decision tree의 결정으로 예측 수행
      • Boosting : 매 노드에서 결정이 이루어지므로 weak classifier의 sequential한 boosting시행

 

 

 

 

3. Model Performance Evaluation

 

 

 

  • SL에서 Model performance 측정
    • Model Accuracy 측정
    • $Accuracy = \frac {\sum (Confusion \: Matrix \: 대각성분)} {\sum (전체성분)}$
  • Confusion Matrix
    • 각 경우에 대해 오차가 얼마 있었는지 표현하는 방법

 

 

 

 

 

  • (Prediction의 TF 유무) (Predict) Error: 
    • prediction을 먼저 체크하고, 해당 prediction이 TF인지 확인 
    • False Positive Error
      • 실제로 sample이 negative지만, positive로 판정한 경우
    • False Negative Error
      • 실제로 sample이 positive지만, negative로 판정한 경우

 

 

  • Precision (P)
    • $\frac {TP} {TP+FP}$ 
    • 전체 암 판정을 받은 환자(Positive) 중 얼마나 정확하게 분류가 되어 그 중에 암 환자가 실제로 얼마나 있는지

 

  • Recall (R)
    • $\frac {TP} {TP+FN}$ 
    • 전체 암 환자 중 얼마나 해당 기계가 얼마나 많은 수의 암 환자를 판정해냈는지

 

 

  • Unbalanced Data Set의 경우에 accuracy 이외에도 precision과 recall 값을 동시에 봐야 성능을 제대로 측정 가능

 

 

 

 

  • ROC Curve
    • 서로 다른 Classifier의 성능을 측정하는데 사용하는 Curve
    • 왼쪽 상단으로 갈수록 성능이 좋은 Curve 
      • 동일 sensitivity에서 더 낮은 FPR을 제공하기 때문
    • $FPR = 1- TPR$
    • Sensitivity = Recall

 

 

 

 

  • Model의 성능은 우리가 풀고자 하는 문제에 따라 의존적으로 평가가 되어야 함
    • 왼쪽의 경우에는 Recall 값이, 오른쪽의 경우에는 Precision값이 더 높아야 함

 

 

 

 

4. Supervised Learning Applications

 

 

  • Object detection,  localization: R-CNN
  • CNN(image feature) & LSTM(sequential한 단어의 연속)
  • Semantic segmentation
  • Face recognition
  • Face detection, super-resolution

 

  • Large scaled labeled data set을 사용해야 하는 한계 존재
    • data augmentation
    • insufficient labels
    • domain adaptation
    • transfer learning

 

 

 

 

 

728x90