AI 101
๊ทธ๋๋์ธํธ ๋ถ์คํ ์ด๋ ๋ฌด์์ธ๊ฐ?

데이터 과학 경쟁에서 매우 유용한 기계 학습 모델의 한 유형은 그래디언트 부스팅 모델입니다. 그래디언트 부스팅은 기본적으로 약한 학습 모델을 강한 학습 모델로 변환하는 과정입니다. 그러나 이것이 정확히 어떻게 이루어지는지 살펴보겠습니다. 그래디언트 부스팅 알고리즘과 그래디언트 부스팅 모델이 약한 학습자를 강한 학습자로 변환하는 방법을 더 잘 이해하기 위해 자세히 살펴보겠습니다.
그래디언트 부스팅 정의
이 기사에서는 그래디언트 부스팅이 무엇인지에 대한 良好的 직관을 제공하기 위해 알고리즘의 기초가 되는 수학적 설명을 많이 다루지 않도록 하겠습니다. 그래디언트 부스팅이 높은 수준에서 작동하는 방식에 대한 감을 얻은 후, 가능하다면 더 깊이 들어가서 그래디언트 부스팅을 가능하게 하는 수학을 탐구하도록 khuyến khich합니다.
학습자를 “부스팅”하는 것이 무엇을 의미하는지 정의해 보겠습니다. 약한 학습자는 학습 모델의 속성을 조정하여 강한 학습자로 변환됩니다. 정확히 어떤 학습 알고리즘이 부스팅되고 있나요?
부스팅 모델은 또 다른 일반적인 기계 학습 모델인 결정 트리를增强합니다.
결정 트리 모델은 데이터셋을 더 작은 부분으로 나누고, 부분이 더 이상 나눌 수 없을 때, 노드와 잎이 있는 트리가 생성됩니다. 결정 트리의 노드는 데이터 포인트에 대한 결정이 다른 필터링 기준을 사용하여 이루어지는 곳입니다. 결정 트리의 잎은 분류된 데이터 포인트입니다. 결정 트리 알고리즘은 숫자 및 범주형 데이터를 모두 처리할 수 있으며, 트리의 분할은 특정 변수/기능을 기반으로 합니다.

부스팅 모델이 훈련되는 방식의 일러스트레이션.
사진: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)
부스팅 알고리즘의 한 유형은 AdaBoost 알고리즘입니다. AdaBoost 알고리즘은 결정 트리 모델을 훈련시키고 모든 관찰에 동일한 가중치를 할당하여 시작합니다. 첫 번째 트리가 정확도에 대해 평가된 후, 다른 관찰에 대한 가중치가 조정됩니다. 분류하기 쉬운 관찰의 가중치는 낮추고, 분류하기 어려운 관찰의 가중치는 높입니다. 조정된 가중치를 사용하여 두 번째 트리가 생성되며, 두 번째 트리의 예측이 첫 번째 트리의 예측보다 더 정확하도록 합니다.
모델은 이제 원래 트리와 새로운 트리의 예측(또는 트리 1 + 트리 2)을 포함합니다. 새로운 모델의 분류 정확도가 다시 평가됩니다. 계산된 오류에 따라 세 번째 트리가 생성되고, 가중치가 다시 조정됩니다. 이 프로세스는 지정된 반복 수만큼 계속되며, 최종 모델은 이전에 생성된 모든 트리의 예측의 가중 합을 사용하는 앙상블 모델입니다.
위에서 설명한 프로세스는 결정 트리와 기본 예측기를 사용하지만, 부스팅 접근법은 다양한 모델(예: 표준 분류기 및 회귀 모델)과 함께 수행될 수 있습니다. 이해해야 할 주요 개념은 순차적으로 생성된 후속 예측기가 이전 예측기의 오류에서 학습한다는 것입니다.
부스팅 알고리즘의 주요 이점은 다른 기계 학습 모델에 비해 현재 예측을 찾는 데 시간이 덜 걸린다는 것입니다. 그러나 부스팅 알고리즘을 사용할 때 주의가 필요합니다. 부스팅 알고리즘은 과적합에 취약하기 때문입니다.
그래디언트 부스팅
이제 가장 일반적인 부스팅 알고리즘 중 하나를 살펴보겠습니다. 그래디언트 부스팅 모델(GBM)은 높은 정확도를 가지고 있으며, AdaBoost에서 사용되는 일반 원리를增强합니다.
그래디언트 부스팅 모델과 AdaBoost의 주요 차이점은 GBM이 데이터 포인트를 잘못 식별하는 학습자를 계산하는 방법이 다르다는 것입니다. AdaBoost는 가중치가 많이 할당된 데이터 포인트를 조사하여 모델이 어디에서 성능이 낮은지 계산합니다. 반면, GBM은 학습자의 정확도를 결정하기 위해 기울기를 사용하며, 모델에 손실 함수를 적용합니다. 손실 함수는 모델의 데이터셋 적합성의 정확도를 측정하고, 오류를 계산하며, 오류를 줄이기 위해 모델을 최적화하는 방법입니다. GBM은 사용자가 원하는 목표에 따라 지정된 손실 함수를 최적화할 수 있도록 합니다.
가장 일반적인 손실 함수인 평균 제곱 오차(MSE)를 예로 들어 보겠습니다. 경사 하강법은 미리 정의된 학습률을 사용하여 예측을 업데이트하며, 손실이 최소화되는 값을 찾으려고 합니다.
더 분명하게 하기 위해:
새 모델 예측 = 출력 변수 – 이전 불완전한 예측.
보다 통계적인 의미에서, GBM은 모델의 잔차에서 관련 패턴을 찾으려고 하며, 모델을 해당 패턴에 맞게 조정하여 잔차를 0에 가깝게 만듭니다. 모델의 예측에 회귀를 수행하면 잔차는 0(완벽한 피팅) 주위에 분포하며, GBM은 이러한 패턴을 찾고 모델을 해당 패턴 주위에서 업데이트합니다.
다시 말해, 예측은 잔차의 합이 0에 가능한 한 가까워지도록 업데이트됩니다. 즉, 예측된 값은 실제 값과 매우 가까워집니다.
다른 손실 함수(예: 로그 손실 함수)도 GBM에서 사용될 수 있다는 점에 주목하십시오. MSE는 단순성을 위해 위에서 선택되었습니다.
그래디언트 부스팅 모델의 변형
그래디언트 부스팅 모델은 탐욕적인 알고리즘으로 데이터셋에 과적합되기 쉽습니다. 이것은 여러 가지 방법으로 방지할 수 있으며, GBM의 성능을 향상시킬 수 있습니다.
GBM은 4가지 방법으로 조절될 수 있습니다. 축소, 트리 제약, 스토캐스틱 그래디언트 부스팅 및 패널티 학습입니다.
축소
앞서 언급했듯이, GBM에서 예측은 순차적으로 합산됩니다. “축소”에서는 전체 합에 대한 각 트리의 추가가 조정됩니다. 학습 속도를 늦추는 가중치가 적용되며, 모델의 강건성과 성능을 일반적으로 향상시키기 위해 더 많은 트리가 모델에 추가되어야 합니다. 그러나 모델을 훈련하는 데 더 오래 걸립니다.
트리 제약
트리를 다양한 방법(예: 트리의 깊이를 더 많이 추가하거나 트리의 노드 또는 잎의 수를 증가시키기)으로 제약하면 모델이 과적합하기 더 어려워집니다. 분할당 최소 관찰 수에 제약을 가하는 것도 비슷한 효과를 낸다. 다시 말해, 모델을 훈련하는 데 더 오래 걸립니다.
랜덤 샘플링
개별 학습자는 훈련 데이터셋의 랜덤한 하위 샘플을 기반으로 스토캐스틱 프로세스를 통해 생성될 수 있습니다. 이것은 트리 사이의 상관관계를 줄여 과적합을 방지하는 효과가 있습니다. 트리를 생성하기 전에 데이터셋을 하위 샘플링하거나 트리에서 분할을 고려하기 전에 하위 샘플링할 수 있습니다.
패널티 학습
트리의 구조를 제한함으로써 모델을 제약하는 것 외에도 회귀 트리를 사용하는 것이 가능합니다. 회귀 트리는 각 잎에 숫자 값이 첨부되어 있으며, 이러한 값은 일반적인 정규화 함수(예: L1 및 L2 정규화)로 조정될 수 있습니다.












