SlideShare a Scribd company logo
1 of 10
Download to read offline
What is XGBoost?
최진
choijin9561@gmail.com
Kaggle & XGBoost
2016년에 작성된 논문 <XGBoost: A
Scalable Tree Boosting System>
2015년 29개의 kaggle winner
solution 중 17개가 XGBoost 사용함
Evolution of XGBoost
출처: https://towardsdatascience.com/understanding-adaboost-2f94f22d5bfe
Gradient Boosting(AdaBoost)의 기본 개념은,
여러 개의 weak classifier들을 결합하여 단일 strong classifier을 만드는 것
 하지만 느린 속도와 overfitting 문제가 발생함
What is XGBoost?
XGBoost는 ‘Gradient Boosting algorithm’의 주요 라이브러리 중 하나
Gradient Boosting의 느린 속도와 overfitting 문제 해결
XGBoost의 특징
• GBM보다는 빠른 속도
• CART(Classification And Regression Tree)를 기반으로 한다.
(즉, 분류화 회귀 둘 다 가능하다)
• 병렬 처리(Parallelization)를 사용하기 때문에 학습과 분류가 빠르다.
• 유연성이 좋다. 다양한 custom 최적화 옵션을 제공한다.
• 욕심쟁이 알고리즘 (Greedy-algorithm)을 사용하여 자동 가지치기가 가능하
다. (overfitting을 줄여줌)
Basic Concept of XGBoost
기존 의사결정나무(Decision Tree)의 주요 원리
여러 기준에 따라 단일 분류를 제대로 하였는지 확인
XGBoost의 기본 원리
tree 1, 2와 같이 단일이 아닌 다중 의사결정나무 이용하여 점수 계산
y(score) = a*tree1(x) + b*tree2(x) + error (단, a,b는 트리의 비중 / a>0, b>0)
Ex) 하얀색 앞치마를 한 여성 = -1 + 0.9 = -0.1로 구분이 모호함
이러한 경우에는 a,b값을 통해 트리 비중 나누기 b>a이면 tree2에 비중을 두고 계산
Math Formula of XGBoost
기본 Gradient Boosting의 방법대로, round가 지날수록(t) 모델의 에러를 줄여감
XGBoost에서는 위 목적함수(Obj)의 오메가를 이용하여 트리의 비중을 조절한다.
오메가는 리프 개수 (gamma) + 리프 스코어 (L2 norm of leaf weight)로 구성됨
이를 통해, 오메가는 모델(f_t)의 복잡도를 결정함을 알 수 있음
XGBoost Python Code
https://www.kaggle.com/jinameliachoi/xgboost
자료 출처
• XGBoost: A Scalable Tree Boosting System (Tianqi Chen & Carlos Guestrin /
University of Washington)
(http://dmlc.cs.washington.edu/data/pdf/XGBoostArxiv.pdf)
• XGBoost eXtreme Gradient Boosting github
(https://github.com/dmlc/xgboost)
• Understanding Gradient Boosting Machines
(https://towardsdatascience.com/understanding-gradient-boosting-machines-
9be756fe76ab)
• What is XGBOOST?
(https://www.kaggle.com/getting-started/145362)
• XGBoost 사용하기
(https://brunch.co.kr/@snobberys/137)

More Related Content

What's hot

Feature Engineering
Feature EngineeringFeature Engineering
Feature EngineeringHJ van Veen
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝찬웅 주
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것NAVER Engineering
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화BOAZ Bigdata
 
Intriguing properties of contrastive losses
Intriguing properties of contrastive lossesIntriguing properties of contrastive losses
Intriguing properties of contrastive lossestaeseon ryu
 
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)Myungjin Lee
 
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online SeriesAmazon Web Services Korea
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기Kwangsik Lee
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기정주 김
 
PR-043: HyperNetworks
PR-043: HyperNetworksPR-043: HyperNetworks
PR-043: HyperNetworksTaesu Kim
 
Layout lm paper review
Layout lm paper review Layout lm paper review
Layout lm paper review taeseon ryu
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스NAVER D2
 
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)Suhyun Park
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기CONNECT FOUNDATION
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeSANG WON PARK
 
Deep Learning for Personalized Search and Recommender Systems
Deep Learning for Personalized Search and Recommender SystemsDeep Learning for Personalized Search and Recommender Systems
Deep Learning for Personalized Search and Recommender SystemsBenjamin Le
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101DaeMyung Kang
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 

What's hot (20)

Feature Engineering
Feature EngineeringFeature Engineering
Feature Engineering
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [중고책나라] : 실시간 데이터를 이용한 Elasticsearch 클러스터 최적화
 
Intriguing properties of contrastive losses
Intriguing properties of contrastive lossesIntriguing properties of contrastive losses
Intriguing properties of contrastive losses
 
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
지식그래프 개념과 활용방안 (Knowledge Graph - Introduction and Use Cases)
 
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
 
PR-043: HyperNetworks
PR-043: HyperNetworksPR-043: HyperNetworks
PR-043: HyperNetworks
 
Layout lm paper review
Layout lm paper review Layout lm paper review
Layout lm paper review
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
 
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
코딩 테스트 및 알고리즘 문제해결 공부 방법 (고려대학교 KUCC, 2022년 4월)
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflake
 
XGBoost (System Overview)
XGBoost (System Overview)XGBoost (System Overview)
XGBoost (System Overview)
 
Deep Learning for Personalized Search and Recommender Systems
Deep Learning for Personalized Search and Recommender SystemsDeep Learning for Personalized Search and Recommender Systems
Deep Learning for Personalized Search and Recommender Systems
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 

What is XGBoost?

  • 2. Kaggle & XGBoost 2016년에 작성된 논문 <XGBoost: A Scalable Tree Boosting System> 2015년 29개의 kaggle winner solution 중 17개가 XGBoost 사용함
  • 4. 출처: https://towardsdatascience.com/understanding-adaboost-2f94f22d5bfe Gradient Boosting(AdaBoost)의 기본 개념은, 여러 개의 weak classifier들을 결합하여 단일 strong classifier을 만드는 것  하지만 느린 속도와 overfitting 문제가 발생함
  • 5. What is XGBoost? XGBoost는 ‘Gradient Boosting algorithm’의 주요 라이브러리 중 하나 Gradient Boosting의 느린 속도와 overfitting 문제 해결 XGBoost의 특징 • GBM보다는 빠른 속도 • CART(Classification And Regression Tree)를 기반으로 한다. (즉, 분류화 회귀 둘 다 가능하다) • 병렬 처리(Parallelization)를 사용하기 때문에 학습과 분류가 빠르다. • 유연성이 좋다. 다양한 custom 최적화 옵션을 제공한다. • 욕심쟁이 알고리즘 (Greedy-algorithm)을 사용하여 자동 가지치기가 가능하 다. (overfitting을 줄여줌)
  • 6. Basic Concept of XGBoost 기존 의사결정나무(Decision Tree)의 주요 원리 여러 기준에 따라 단일 분류를 제대로 하였는지 확인
  • 7. XGBoost의 기본 원리 tree 1, 2와 같이 단일이 아닌 다중 의사결정나무 이용하여 점수 계산 y(score) = a*tree1(x) + b*tree2(x) + error (단, a,b는 트리의 비중 / a>0, b>0) Ex) 하얀색 앞치마를 한 여성 = -1 + 0.9 = -0.1로 구분이 모호함 이러한 경우에는 a,b값을 통해 트리 비중 나누기 b>a이면 tree2에 비중을 두고 계산
  • 8. Math Formula of XGBoost 기본 Gradient Boosting의 방법대로, round가 지날수록(t) 모델의 에러를 줄여감 XGBoost에서는 위 목적함수(Obj)의 오메가를 이용하여 트리의 비중을 조절한다. 오메가는 리프 개수 (gamma) + 리프 스코어 (L2 norm of leaf weight)로 구성됨 이를 통해, 오메가는 모델(f_t)의 복잡도를 결정함을 알 수 있음
  • 10. 자료 출처 • XGBoost: A Scalable Tree Boosting System (Tianqi Chen & Carlos Guestrin / University of Washington) (http://dmlc.cs.washington.edu/data/pdf/XGBoostArxiv.pdf) • XGBoost eXtreme Gradient Boosting github (https://github.com/dmlc/xgboost) • Understanding Gradient Boosting Machines (https://towardsdatascience.com/understanding-gradient-boosting-machines- 9be756fe76ab) • What is XGBOOST? (https://www.kaggle.com/getting-started/145362) • XGBoost 사용하기 (https://brunch.co.kr/@snobberys/137)