부본 그래디언트 부스팅이란 무엇입니까? - Unite.AI
Rescale 미팅 예약

AI 101

그래디언트 부스팅이란 무엇입니까?

mm
업데이트 on

데이터 과학 대회에서 매우 유용한 일반적인 유형의 기계 학습 모델은 그래디언트 부스팅 모델입니다. 그라디언트 부스팅 기본적으로 약한 학습 모델을 강력한 학습 모델로 변환하는 과정입니다. 그러나 이것이 정확히 어떻게 달성됩니까? 그래디언트 부스팅 알고리즘에 대해 자세히 살펴보고 더 나은 그래디언트 부스팅 모델이 어떻게 약한 학습자를 강한 학습자로 전환합니다.

그래디언트 부스팅 정의

이 기사는 알고리즘의 기초가 되는 수학의 많은 고장 없이 그래디언트 부스팅이 무엇인지에 대한 좋은 직관을 제공하는 것을 목표로 합니다. 그래디언트 부스팅이 높은 수준에서 작동하는 방식에 대해 이해했다면 더 깊이 들어가 이를 가능하게 하는 수학을 탐구하는 것이 좋습니다.

학습자를 "강화"한다는 것이 무엇을 의미하는지 정의하는 것으로 시작하겠습니다. 약한 학습자는 학습 모델의 속성을 조정하여 강한 학습자로 전환됩니다. 정확히 어떤 학습 알고리즘이 향상되고 있습니까?

부스팅 모델은 또 다른 일반적인 기계 학습 모델을 보강하여 작동합니다. 결정 트리.

A 의사 결정 트리 모델은 데이터 세트를 점점 더 작은 부분으로 분할하여 기능하며, 하위 집합을 더 이상 분할할 수 없으면 결과는 노드와 잎이 있는 트리입니다. 의사결정 트리의 노드는 다양한 필터링 기준을 사용하여 데이터 포인트에 대한 결정이 이루어지는 곳입니다. 의사결정 트리의 잎은 분류된 데이터 포인트입니다. 의사결정 트리 알고리즘은 숫자 데이터와 범주형 데이터를 모두 처리할 수 있으며 트리의 분할은 특정 변수/특성을 기반으로 합니다.

부스팅 모델이 훈련되는 방식의 삽화.
사진: Wikimedia Commons, CC 4.0을 통한 SeattleDataBuy(https://commons.wikimedia.org/wiki/File:Boosting.png)

부스팅 알고리즘의 한 유형은 AdaBoost 알고리즘. AdaBoost 알고리즘은 결정 트리 모델을 교육하고 모든 관찰에 동일한 가중치를 할당하는 것으로 시작합니다. 첫 번째 트리의 정확도가 평가된 후 다른 관측치에 대한 가중치가 조정됩니다. 분류하기 쉬운 관측값은 가중치가 낮아지고 분류하기 어려운 관측값은 가중치가 증가합니다. 두 번째 트리의 예측이 첫 번째 트리의 예측보다 더 정확하도록 조정된 가중치를 사용하여 두 번째 트리가 생성됩니다.

이제 모델은 원래 트리와 새 트리(또는 트리 1 + 트리 2)에 대한 예측으로 구성됩니다. 분류 정확도는 새 모델을 기반으로 한 번 더 평가됩니다. 모델에 대해 계산된 오류를 기반으로 세 번째 트리가 생성되고 가중치가 한 번 더 조정됩니다. 이 프로세스는 주어진 반복 횟수 동안 계속되며 최종 모델은 이전에 구성된 모든 트리에서 만든 예측의 가중 합계를 사용하는 앙상블 모델입니다.

위에서 설명한 프로세스는 의사결정 트리와 기본 예측자/모델을 사용하지만 많은 표준 분류자 및 회귀자 모델과 같은 광범위한 모델을 사용하여 부스팅 접근 방식을 수행할 수 있습니다. 이해해야 할 주요 개념은 후속 예측자가 이전 예측자의 실수로부터 학습하고 예측자가 순차적으로 생성된다는 것입니다.

부스팅 알고리즘의 주요 이점은 다른 기계 학습 모델과 비교할 때 현재 예측을 찾는 데 시간이 덜 걸린다는 것입니다. 그러나 부스팅 알고리즘을 사용할 때는 과적합되기 쉬우므로 주의해야 합니다.

그라디언트 부스팅

이제 가장 일반적인 부스팅 알고리즘 중 하나를 살펴보겠습니다. 그래디언트 부스팅 모델(GBM)은 높은 정확도로 유명하며 AdaBoost에서 사용되는 일반 원칙을 강화합니다.

Gradient Boosting Model과 AdaBoost의 주요 차이점은 GBM이 데이터 포인트를 잘못 식별하는 학습자를 계산하는 다른 방법을 사용한다는 것입니다. AdaBoost는 가중치가 높은 데이터 포인트를 검사하여 모델의 성능이 저하되는 부분을 계산합니다. 한편 GBM은 그래디언트를 사용하여 학습자의 정확도를 결정하고 모델에 손실 함수를 적용합니다. 손실 함수는 데이터 세트에 대한 모델 적합도의 정확도를 측정하고 오류를 계산하고 해당 오류를 줄이기 위해 모델을 최적화하는 방법입니다. GBM을 사용하면 사용자가 원하는 목표에 따라 지정된 손실 기능을 최적화할 수 있습니다.

가장 일반적인 손실 함수를 취함 – 평균 제곱 오차(MSE) - 예로서, 그라데이션 하강 손실이 최소인 값을 찾는 것을 목표로 미리 정의된 학습 속도를 기반으로 예측을 업데이트하는 데 사용됩니다.

더 명확하게 하려면:

새 모델 예측 = 출력 변수 – 이전의 불완전한 예측.

보다 통계적인 의미에서 GBM은 모델의 잔차에서 관련 패턴을 찾고 패턴에 맞게 모델을 조정하고 잔차를 가능한 한 0에 가깝게 만드는 것을 목표로 합니다. 모델의 예측에 대해 회귀를 수행하는 경우 잔차는 XNUMX(완벽한 적합) 주위에 분포하고 GBM은 잔차 내에서 패턴을 찾고 이러한 패턴 주위에서 모델을 업데이트합니다.

즉, 모든 잔차의 합이 가능한 한 0에 가까워지도록 예측이 업데이트됩니다. 즉, 예측 값이 실제 값에 매우 가깝다는 의미입니다.

GBM은 다양한 다른 손실 함수(예: 대수 손실)를 사용할 수 있습니다. MSE는 단순화를 위해 위에서 선택되었습니다.

그래디언트 부스팅 모델의 변형

Gradient Boosting Models는 데이터 세트에 과적합되기 쉬운 욕심 많은 알고리즘입니다. 이것은 다음과 같이 보호할 수 있습니다. 여러 가지 방법 GBM의 성능을 향상시킬 수 있습니다.

GBM은 축소, 트리 제약, 확률적 경사 부스팅 및 페널티 학습의 네 가지 방법으로 규제할 수 있습니다.

수축

앞서 언급했듯이 GBM에서 예측은 순차적인 방식으로 함께 합산됩니다. "수축"에서는 전체 합에 대한 모든 나무의 추가가 조정됩니다. 알고리즘의 학습 속도를 늦추는 가중치가 적용되어 모델에 더 많은 트리를 추가해야 하므로 일반적으로 모델의 견고성과 성능이 향상됩니다. 트레이드 오프는 모델을 학습하는 데 시간이 더 오래 걸린다는 것입니다.

트리 제약

트리에 깊이를 추가하거나 트리의 노드 또는 리프 수를 늘리는 것과 같은 다양한 조정으로 트리를 제한하면 모델이 과적합되기 더 어려워질 수 있습니다. 분할당 최소 관찰 수에 제약을 가하면 비슷한 효과가 있습니다. 다시 한 번, 트레이드 오프는 모델을 훈련시키는 데 더 오래 걸린다는 것입니다.

랜덤 샘플링

개별 학습자는 훈련 데이터 세트의 무작위로 선택된 하위 샘플을 기반으로 확률적 프로세스를 통해 생성될 수 있습니다. 이는 과적합을 방지하는 트리 간의 상관 관계를 줄이는 효과가 있습니다. 데이터 세트는 트리를 생성하기 전에 또는 트리에서 분할을 고려하기 전에 서브스탬핑될 수 있습니다.

처벌 학습

트리 구조를 제한하여 모델을 제한하는 것 외에도 회귀 트리를 사용할 수 있습니다. 회귀 트리는 각 리프에 숫자 값이 첨부되어 있으며 이러한 값은 가중치 역할을 하며 L1 및 L2 정규화와 같은 일반적인 정규화 함수로 조정할 수 있습니다.

전문 분야의 블로거 및 프로그래머 기계 학습 깊은 학습 주제. 다니엘은 다른 사람들이 사회적 이익을 위해 AI의 힘을 사용하도록 돕기를 희망합니다.