분류를위한 그라디언트 부스팅 트리 : 초보자 가이드

소개

기계 학습 알고리즘은 정확도를 높이기 위해 모델을 피팅하고 예측하는 것 이상을 필요로합니다. 오늘날 업계 또는 경쟁에서 대부분의 우승 모델은 더 나은 성능을 위해 Ensemble Techniques를 사용하고 있습니다. 그러한 기술 중 하나가 Gradient Boosting 입니다.

이 기사는 주로 Gradient Boosting Trees가 분류 문제에서 작동하는 방식을 이해하는 데 중점을 둡니다. 또한이 방법과 관련된 몇 가지 중요한 매개 변수, 장단점에 대해서도 논의합니다. 그 전에 Ensemble 메서드에 대한 간략한 개요를 살펴 보겠습니다.

앙상블 기법이란 무엇입니까?

편향 및 분산 — 모델을 구축하는 동안 우리의 목표는 분산과 편향을 모두 최적화하는 것이지만 실제 시나리오에서는 하나가 다른 하나의 비용으로 발생합니다. 트레이드 오프를 이해하고 사용 사례에 적합한 것이 무엇인지 파악하는 것이 중요합니다.

앙상블 은 약한 예측 자 모음을 함께 결합하면 개별 예측 자보다 훨씬 더 나은 성능을 발휘하는 최종 예측을 제공한다는 아이디어를 기반으로합니다. 앙상블은 두 가지 유형이 있습니다.

i) Bagging Bootstrap Aggregation 또는 Bagging은 여러 개의 독립적 인 예측 변수가 대체 된 샘플을 가져와 구축되는 ML 알고리즘입니다. 그런 다음 개별 결과를 평균 (회귀) 또는 과반수 투표 (분류)로 결합하여 최종 예측을 도출합니다. 이 공간에서 널리 사용되는 알고리즘은 Random Forest입니다.

ii) 부스팅 — 부스팅은 약한 학습자가 강한 학습자로 변환되는 ML 알고리즘입니다. 약한 학습자는 훈련 데이터에 대한 분포에 관계없이 항상 우연보다 약간 더 잘 수행하는 분류기입니다. 부스팅에서 예측은 순차적이며 각 후속 예측자는 이전 예측 자의 오류로부터 학습합니다. GBT (Gradient Boosting Trees)는이 범주에서 일반적으로 사용되는 방법입니다.

그림 1. 배깅 (독립적 예측 자) 대 부스팅 (순차적 예측 자)

바이어스와 분산을 줄이기위한이 두 가지 방법의 성능 비교 — Bagging은 분산을 줄이는 데 도움이되는 최종 모델에 상관 관계가없는 트리가 많이 있습니다. 부스팅은 순차 트리를 만드는 과정에서 분산을 줄입니다. 동시에 잔차를 줄임으로써 실제 값과 예측 값 사이의 간격을 연결하는 데 초점을 맞추므로 편향도 감소합니다.

그림 2. Gradient Boosting 알고리즘

Gradient Boosting이란 무엇입니까?

다양한 약한 예측 변수 (일반적으로 의사 결정 트리)를 결합하여 추가 예측 모델을 생성하는 기술입니다.

Gradient Boosting Tree는 회귀 및 분류 모두에 사용할 수 있습니다. 여기서는 이진 결과 모델을 사용하여 GBT의 작동을 이해합니다.

Gradient Boosting Tree를 사용한 분류

흉통, 혈액 순환 및 동맥 차단을 기반으로 한 사람이 심장 질환을 앓고 있는지 예측하려고한다고 가정 해 보겠습니다. 다음은 샘플 데이터 세트입니다.

그림 3. 샘플 데이터 세트

I. 초기 예측 — 모든 개인에 대한 초기 예측을 나타내는 리프로 시작합니다. 분류를 위해 이것은 종속 변수의 log (odds) 와 같습니다 . 심장병이있는 사람이 4 명,없는 사람이 2 명이므로 log (odds)는-

다음으로 로지스틱 함수를 사용하여 이것을 확률로 변환합니다.

확률 임계 값을 0.5로 고려하면 초기 예측은 모든 개인이 실제 사례가 아닌 심장병에 걸린다는 것을 의미합니다.

II. 잔차 계산 — 이제 다음 공식을 사용하여 각 관측치에 대한 잔차를 계산합니다.

잔여 = 실제 값 — 예상 값

여기서 실제 값은 심장 질환이있는 경우 1이고 그렇지 않은 경우 0이며 예측 값 = 0.7입니다.

잔차를 계산 한 후 최종 테이블은 다음과 같습니다.

그림 4. 계산 된 잔차가있는 샘플 데이터 세트

III. 잔차 예측 — 다음 단계는 흉통, 혈액 순환 및 동맥 차단을 사용하여 잔차를 예측하는 의사 결정 트리를 구축하는 것입니다.

다음은 구성된 샘플 트리입니다.

그림 5. 의사 결정 트리 — 트리를 구성하는 동안 최대 깊이가 2로 제한되었습니다.

잔차의 수가 잎의 수보다 많기 때문에 일부 잔차가 동일한 잎에있는 것을 볼 수 있습니다.

각 잎에서 예측 된 잔차를 어떻게 계산합니까?

초기 예측은 로그 (홀수)로 이루어졌으며 잎은 확률에서 파생됩니다. 따라서 log (odds) 측면에서 예측 잔차를 얻기 위해 일부 변환을 수행해야합니다. 가장 일반적인 변환은 다음 공식을 사용하여 수행됩니다.

이 공식을 첫 번째 잎에 적용하면 다음과 같이 예측 된 잔차를 얻습니다.

마찬가지로 다른 잎에 대한 예측 잔차를 계산하면 의사 결정 트리는 마침내 다음과 같이 보일 것입니다.

그림 6. 수정 된 의사 결정 트리

IV. 심장병에 걸릴 새로운 확률 얻기 — 이제 데이터 세트의 각 샘플을 새로 형성된 의사 결정 트리의 노드를 통해 전달해 보겠습니다. 각 관찰에 대해 얻은 예측 잔차는 이전 예측에 추가되어 환자에게 심장 질환이 있는지 여부를 얻습니다.

이러한 맥락에서, 우리는라는 hyperparameter 소개 학습 속도 . 예측 잔차에이 학습률을 곱한 다음 이전 예측에 추가합니다.

이 학습률이 필요한 이유는 무엇입니까?

과적 합을 방지합니다. 학습률을 도입하려면 더 많은 의사 결정 트리를 구축해야하므로 최종 솔루션을 향해 더 작은 단계를 수행해야합니다. 이러한 작은 증분 단계는 전체 분산이 더 낮은 비슷한 편향을 달성하는 데 도움이됩니다.

새로운 확률 계산-
데이터 세트의 두 번째 관측치를 고려해 보겠습니다. Good Blood Circulation = "예"다음에 차단 된 동맥 = "예"가 그 사람에 대해이기 때문에 예측 잔차가 1.43 인 첫 번째 잎에서 끝납니다.

학습률이 0.2라고 가정하면이 관찰에 대한 새로운 로그 (홀수) 예측은 다음과 같습니다.

다음으로, 우리는이 새로운 log (odds)를 확률 값으로 변환합니다.

나머지 관측에 대해서도 유사한 계산이 수행됩니다.

V. 새 잔차 구하기 — 모든 관측치에 대한 예측 확률을 얻은 후 실제 값에서 이러한 새 예측 값을 빼서 새 잔차를 계산합니다.

그림 7. 새로운 예측 확률을 사용하여 계산 된 잔차가있는 샘플 데이터 세트

이제 잔차가 있으므로 III 단계에서 설명한대로 다음 의사 결정 트리를 구축하는 데이 잎을 사용할 것입니다.

VI. 잔차가 0에 가까운 값으로 수렴되거나 반복 횟수가 알고리즘을 실행하는 동안 하이퍼 파라미터로 지정된 값과 일치 할 때까지 III ~ V 단계를 반복합니다.

VII. 최종 계산 — 모든 나무에 대한 출력 값을 계산 한 후 사람이 심장 질환을 앓고 있다는 최종 로그 (확률) 예측 은 다음과 같습니다.

여기서 예측 잔차의 첨자는 i = 1,2,3,… 인 i 번째 트리를 나타냅니다.

다음으로, 우리는이 로그 (홀수) 예측을 로지스틱 함수에 연결하여 확률로 변환해야합니다.

분류 결정을 내리기 위해 공통 확률 임계 값 0.5를 사용하여 최종 예측 확률이 0.5보다 크면 "예"가되고 그렇지 않으면 "아니오"가됩니다.

이 단계가 분류를위한 GBT 작업의 직관을 이해하는 데 도움이 되었기를 바랍니다!

이제이 방법의 몇 가지 중요한 매개 변수, 장단점을 기록해 두겠습니다.

중요한 매개 변수

GBT를 사용하여 모델을 구성하는 동안 모델 성능 향상을 위해 다음 값을 조정할 수 있습니다.

  • 나무 수 ( n_estimators ; def : 100 )
  • 학습률 ( learning_rate ; def : 0.1 ) — 앞에서 설명한대로 각 트리의 기여도를 조정합니다. 학습률과 트리 수 사이에는 절충안이 있습니다. 일반적으로 사용되는 학습률 값은 0.1에서 0.3 사이입니다.
  • 최대 깊이 ( max_depth; def : 3 ) — 각 추정 자의 최대 깊이입니다. 의사 결정 트리의 노드 수를 제한합니다.

장점

  • 미분 가능한 손실 함수에 대해 작동하는 일반화 된 알고리즘입니다.
  • 다른 알고리즘보다 훨씬 우수한 예측 점수를 제공하는 경우가 많습니다.
  • 누락 된 데이터를 처리 할 수 ​​있습니다. 대치가 필요하지 않습니다.
  • 이 방법은 특이 치에 민감합니다 . 특이 치는 특이 치가 아닌 것보다 잔차가 훨씬 더 크기 때문에 그래디언트 부스팅은 해당 포인트에 지나치게 많은주의를 집중합니다. 평균 제곱 오차 (MSE) 대신 평균 절대 오차 (MAE)를 사용하여 오차를 계산하면 후자가 더 큰 차이에 더 많은 가중치를 부여하므로 이러한 이상 값의 영향을 줄이는 데 도움이 될 수 있습니다. 매개 변수 '기준' 은이 기능을 선택하는 데 도움이됩니다.
  • 나무의 수가 너무 많으면 과적 합되기 쉽습니다. 'n_estimators' 매개 변수 는 모델이 과적 합을 시작하기 전에 중지 할 좋은 지점을 결정하는 데 도움이 될 수 있습니다.
  • 계산에는 오랜 시간이 걸릴 수 있습니다. 따라서 대규모 데이터 세트로 작업하는 경우 모델을 학습하는 동안 항상 데이터 세트의 샘플 (목표 변수에 대한 승산 비 유지)을 취해야합니다.

오늘날 GBT가 널리 사용되고 있지만 많은 실무자들은 여전히이를 복잡한 블랙 박스로 사용하고 미리 빌드 된 라이브러리를 사용하여 모델을 실행합니다. 이 기사의 목적은 복잡한 프로세스를 더 간단한 단계로 나누고 GBT 작업의 직관을 이해하는 데 도움이되는 것입니다. 게시물이 목적을 달성하기를 바랍니다! :)

참고 문헌

Suggested posts

중요하지만 종종 간과되는 데이터 과학 및 분석 기술

중요하지만 종종 간과되는 데이터 과학 및 분석 기술

이제 데이터 과학 및 분석에 들어가는 데 필요한 기술 기술을 배울 수있는 방법이 그 어느 때보 다 많았습니다. 온라인 과정, Kaggle 대회, YouTube 자습서, 스택 오버플로가있는 금광 등이 있습니다. 현장에 침입하려는 사람들은 종종 "X 데이터 작업을 수행하려면 어떤 프로그래밍 기술이 필요한가요?", "어떤 기계 학습 기술을 배워야합니까?", "기술을 구축하려면 어떤 프로젝트를 수행해야합니까?"와 같은 질문을 자주합니다. / 포트폴리오?”.

데이터 포인트가 얼마나 극단적입니까?

특이 치 및 모델 선택

데이터 포인트가 얼마나 극단적입니까?

이상치 및 모델 선택 회귀를 실행할 수있는 것은 하나이지만 올바른 모델과 올바른 데이터를 선택할 수 있다는 것은 또 다른 문제입니다. 곡선의 맨 끝에있는 데이터 포인트가 실수로 여분의 제로 (인간 오류)를 기록한 사람 또는 블랙 스완 이벤트 (드물지만 중요한 이벤트)에서 가져온 것임을 어떻게 알 수 있습니까? 회귀 모델에 유지하면서 여전히 작동하는 예측을 가질 수 있습니까? 이 기사에서 알아 보자.

Related posts

Spotify의 마법 성분 : 기계 학습

Spotify의 마법 성분 : 기계 학습

면책 조항 :이 기사는 Spotify와 관련이 없으며 Spotify 및 현재 관련이 없을 수있는 과거 구조에 대한 확인되지 않은 정보로 구성 될 수 있습니다. 음악은 표현의 한 형태, 예술의 형태, 전체적인 문화 활동입니다.

2021 년 2 월에 읽을 4 가지 딥 러닝 논문

2021 년 2 월에 읽을 4 가지 딥 러닝 논문

신경 과학에서 자동 분화, 신경망 이론 및 신경 과정의 과소 적합에 이르기까지 현재 추구되고있는 다양한 딥 러닝 연구 흐름에 대한 더 나은 개요를 얻고 싶으십니까? 합리적으로 통과하기에는 열려있는 arXiv 탭이 너무 많습니까? 전체 동영상을 볼 시간이 너무 적습니까? 논문의 핵심 아이디어와 개념에 대한 간략한 요약 만 있다면. 그런 다음 '머신-러닝-콜라주'시리즈를 소개하게되어 기쁩니다.

내부의 관심 네트워크 그래프

수학에서 NumPy까지 단계별 가이드

내부의 관심 네트워크 그래프

그래프 신경망 (GNN)은 그래프 데이터에서 학습 할 수있는 표준 도구 상자로 등장했습니다. GNN은 콘텐츠 추천 또는 신약 발견과 같은 다양한 분야에서 영향이 큰 문제를 개선 할 수 있습니다.

분할에 대한 고정 2 부 : Python으로 이미지 분할을 수행하는 방법

분할에 대한 고정 2 부 : Python으로 이미지 분할을 수행하는 방법

안녕하세요! 이미지 분할에 대한이 짧은 시리즈의 첫 번째 부분을 읽지 않았다면 여기에서 읽으십시오. 이전 이야기에서 임계 값 및 색상 분할에 대해 논의 했으므로 2 부에서는 색도 분할과 이미지 차이에 중점을 둘 것입니다.