Jooyoung Lee
기록 일지
Jooyoung Lee
  • 분류 전체보기 (27)
    • 임베디드 (9)
    • 딥러닝 (11)
      • ML (3)
      • Notions (4)
      • AI math (4)
      • 강의 리뷰 (0)
    • 논문 리뷰 (1)
    • 스터디 (1)
    • 컴퓨터 비전 (5)

블로그 메뉴

  • About me,
GitHub Contribution
Loading data ...
Jooyoung Lee

기록 일지

Ensemble (앙상블)
딥러닝/ML

Ensemble (앙상블)

2023. 2. 21. 08:59

Ensemble 모델은 여러 개의 기본 모델들을 조합하여 정확한 예측을 수행하는 머신러닝 기법

Ensemble 모델에는 여러 가지 방법이 있지만, 대표적으로는 아래와 같은 4가지 방법이 있다

 

  • 보팅 (Voting)
    • 여러 모델의 예측을 모아서 다수결로 최종 예측을 결정하는 방법이며, 여러 모델이 서로 다른 샘플에서 높은 정확도를 보일 때 효과적입니다.
  • 배깅 (Bagging)
    • 데이터셋을 여러 개로 나누어서 각 모델에게 다른 데이터셋을 학습하도록 하는 방법.
    • 각 모델이 다양한 관점에서 학습할 수 있으며, 이들의 예측을 평균내어 최종 예측을 결정 .
    • 대표적으로 랜덤 포레스트 (Random Forest)가 있습니다.
  • 부스팅 (Boosting)
    • 부스팅은 여러 모델이 연속적으로 학습하도록 하여, 이전 모델이 잘못 예측한 샘플에 더 집중하도록 하는 방법.
    • 약한 모델들을 강력한 모델로 합치는 효과를 가지며, 대표적으로 그래디언트 부스팅 (Gradient Boosting)과 XGBoost가 있습니다.
  • 스태킹 (Stacking)
    • 스태킹은 여러 모델의 예측값을 다시 입력으로 사용하여 새로운 모델을 학습시키는 방법.
    • 각 모델이 다른 관점에서 데이터를 학습하게 하여 더 강력한 예측을 수행할 수 있다.

Ensemble 모델을 구성할 때는 다음과 같은 점에 유의해야 합니다.

 

  1. 다양한 모델 선택
    모델 간에 상관관계가 작아지도록 서로 다른 모델을 사용하는 것이 중요합니다.
    예를 들어, 다양한 알고리즘과 하이퍼파라미터를 사용하여 서로 다른 모델을 만들 수 있습니다.
  2. 데이터 다양성
    모델 간의 다양성을 높이기 위해, 각 모델에게 학습할 데이터를 다르게 제공할 수 있습니다.
    이를 위해 배깅이나 부스팅과 같은 앙상블 기법을 사용할 수 있습니다.
  3. 모델 수 조절
    Ensemble 모델에 사용할 모델의 수를 적절히 조절하는 것이 중요합니다.
    모델 수가 너무 적으면 성능이 좋아지지 않을 수 있으며, 모델 수가 너무 많으면 학습 및 예측 속도가 느려지고,
    과적합 문제가 발생할 수 있습니다.
  4. 모델 조합
    Ensemble 모델에 사용할 모델을 조합하는 방법도 중요합니다.
    모델 간의 상관관계를 최소화하면서, 성능이 높은 모델끼리 조합하는 것이 좋습니다.
    이를 위해 보팅, 배깅, 부스팅, 스태킹 등 다양한 앙상블 기법을 사용할 수 있습니다.
  5. 모델 평가
    Ensemble 모델을 구성한 후에는 각 모델의 예측력을 평가하여, 성능이 좋은 모델들을 선택하고,
    나쁜 모델들은 제외하는 것이 좋습니다.이를 위해 교차 검증 등을 사용하여 모델의 성능을 평가할 수 있습니다.

'딥러닝 > ML' 카테고리의 다른 글

넘파이 (NumPy) - ndarray , 관련 함수들  (0) 2023.01.06
Machine Learning (with Python)  (0) 2023.01.06
    '딥러닝/ML' 카테고리의 다른 글
    • 넘파이 (NumPy) - ndarray , 관련 함수들
    • Machine Learning (with Python)
    Jooyoung Lee
    Jooyoung Lee
    Embedded software engineer

    티스토리툴바