본문 바로가기

Study/Hands-On Machine Learning

[Book] 7. 앙상블 학습과 랜덤 포레스트

Book Title : Hands-On Machine Learning with Scikit-Learn, Keras & TF

지은이 : 오렐리아 제롱

옮긴이 : 박해선

출판사 : 한빛미디어

코드 출처

https://github.com/rickiepark/handson-ml2

 

GitHub - rickiepark/handson-ml2: 핸즈온 머신러닝 2/E의 주피터 노트북

핸즈온 머신러닝 2/E의 주피터 노트북. Contribute to rickiepark/handson-ml2 development by creating an account on GitHub.

github.com

7. 앙상블 학습과 랜덤 포레스트

앙상블

  • 무작위로 선택된 수천 명의 사람에게 복잡한 질문을 하고 대답을 모아 결정하는 것이 한 명의 전문가의 답보다 좋음.
  • 이를 대중의 지혜(wisdom of the crowd)라고 함
  • 이와 비슷하게 일련의 예측기 여러개로붜 예측을 수집하면 가장 좋은 모델 하나보다 더 좋은 예측을 얻을 수 있음.
  • 앙상블 방식에는 Bagging, Boosting, Stacking이 있음
Hard Voting(직접 투표)
  • 각 분류기의 예측을 모아서 가장 많이 선택된 클래스를 예측하는 것
Sotf Voting(간접 투표)
  • 모든 분류기가 클래스의 확률을 예측할 수 있으면, 개별 분류기의 예측을 평균 내어 확률이 가장 높은 클래스를 예측하는 것

Bagging(bootstrap aggregating)

  • 훈련 세트에서 중복을 허용하여 샘플링 하는 방식
Pasting
  • 훈련 세트에서 중복을 허용하지 않고 샘플링 하는 방식
Bagging vs Pasting
전반적으로 배깅이 더 나은 모델을 만들기 때문에 일반적으로 선호한다고 함
하지만, 시간과 CPU파워에 여유가 있으면 교차 검증으로 두 개의 방식 모두 사용해서 더 나은 쪽 선택할 것

랜덤 포레스트 vs 엑스트라 트리

  • 극단적으로 무작위한 트리의 랜덤 포레스트를 엑스트라 트리라고 부르며, 편향을 늘어나지만 대신 분산을 낮춤
  • 랜덤 포레스트보다 엑스트라 트리가 빠름
  • 자세한 차이점은 그저께 포스팅을 참고

ExtraTreesClassifier vs RandomForestClassifier 차이점

 

[Study] ExtraTreesClassifier vs RandomForestClassifier 차이점

사이킷런에서는 Tree 기반 앙상블 모델인 ExtraTreesClassifier와 RandomForestClassifier를 제공합니다. 앙상블 모델 앙상블 방식에는 Bagging, Boosting, Stacking 등이 있는데 RandomForestClassifier는 Baggin..

junnyhi.tistory.com

Boosting(부스팅)

  • 원래는 가설 부스팅(hypothesis boosting)이라고 불렸으며, 약한 학습기를 여러 개 연결하여 강한 학습기를 만드는 앙상블 방법
  • 대표적으로 AdaBoosting과 GradientBoosting이 있음

자세한 차이점은 아래 포스팅을 참고

[Study] AdaBoosting vs GradientBoosting 차이점

 

[Study] AdaBoosting vs GradientBoosting 차이점

사이킷런에서는 앙상블 모델인 AdaBoostingClassifier와 GradientBoostingClassifier를 지원합니다 본 포스팅은 둘의 차이점이 궁금해 공부하며 정리한 포스팅이며, 다른 훌륭한 분들의 블로그를 많이 참조했

junnyhi.tistory.com

 

Stacking(스태킹)

  • stacked generalization의 줄임말
  • 각기 다른 분류기들이 예측한 데이터를 다시 training set으로  마지막 예측기(Blender 혹은 메타 학습기)를 학습시켜 최종 예측을 하는 것

Q. oob 평가의 장점은?

oob 평가를 사용하면 배경 앙상블의 각 예측기가 훈련에 포함되지 않은 샘플을 사용해 평가됨.
이는 추가적인 검증 세트가 없어도 편향되지 않게 앙상블을 평가하도록 도와줌
결론적으로 훈련에 더 많은 샘플을 사용할 수 있어서 앙상블의 성능은 조금 더 향상할 것​

'Study > Hands-On Machine Learning' 카테고리의 다른 글

[Book] 9. 비지도 학습(군집)  (0) 2022.05.01
[Book] 8. 차원 축소  (0) 2022.04.30
[Book] 6. 결정 트리  (0) 2022.04.23
[Book] 5. 서포트 벡터 머신  (0) 2022.04.21
[Book] 4. 모델 훈련  (0) 2022.04.20