회귀 문제에서는 부호 있는 오류를 예측과 라벨의 차이로 정의하는 것이 합리적입니다. 그러나 다른 유형의 문제에서는 이 전략으로 종종 결과가 좋지 않습니다. 경사 부스팅에서 사용되는 더 나은 전략은 다음과 같습니다.
- 신경망에 사용되는 손실 함수와 유사한 손실 함수를 정의합니다. 예를 들어 분류 문제의 엔트로피 (로그 손실이라고도 함)입니다.
- 강력한 모델 출력에 따른 손실의 경사를 예측하도록 약한 모델을 학습시킵니다.
공식적으로 손실 함수 $L(y,p)$(여기서 $y$ 는 라벨이고 $p$ 는 예측)인 경우 $i$ 단계에서 약한 모델을 학습시키는 데 사용되는 유사 응답 $z_i$ 는 다음과 같습니다.
각 매개변수는 다음과 같습니다.
- $F_i$ 는 강력한 모델의 예측입니다.
앞의 예는 회귀 문제입니다. 목표는 숫자 값을 예측하는 것입니다. 회귀의 경우 제곱 오차는 일반적인 손실 함수입니다.
이 경우 그라데이션은 다음과 같습니다.
즉, 기울기는 이 예의 인수가 2인 부호 있는 오차입니다. 축소로 인해 상수 요인은 중요하지 않습니다. 이 등가는 제곱 오차 손실이 있는 회귀 문제에만 적용됩니다. 다른 지도 학습 문제 (예: 분류, 순위 지정, 백분위 손실이 있는 회귀)의 경우 경사와 부호 있는 오차 사이에 등가가 없습니다.
뉴턴의 메서드 단계로 리프 및 구조 최적화
뉴턴의 메서드는 경사하강법과 같은 최적화 메서드입니다. 그러나 최적화할 함수의 경사만 사용하는 경사하강법과 달리, 뉴턴의 방법에서는 최적화를 위해 함수의 기울기 (1도함수)와 두 번째 도함수를 모두 사용합니다.
경사하강법은 다음과 같습니다.
그리고 뉴턴의 방법을 다음과 같이 정의합니다.
원하는 경우 다음과 같은 두 가지 방법으로 Newton의 메서드를 경사 부스트 나무 학습에 통합할 수 있습니다.
- 트리가 학습되면 각 리프에 뉴턴 단계가 적용되고 값을 재정의합니다. 트리 구조는 변경되지 않으며 리프 값만 변경됩니다.
- 트리가 성장하는 동안 조건은 뉴턴 공식의 구성요소가 포함된 점수에 따라 선택됩니다. 트리 구조가 영향을 받습니다.
- YDF는 항상 리프에 뉴턴 단계를 적용합니다 (옵션 1).
use_hessian_gain=True
를 사용하여 옵션 2를 사용 설정할 수 있습니다.