경사 부스팅 (선택적 단위)

회귀 문제에서는 예측과 라벨의 차이로 부호 있는 오차를 정의하는 것이 좋습니다. 하지만 다른 유형의 문제에서는 이 전략을 사용하면 결과가 좋지 않은 경우가 많습니다. 더 나은 전략은 다음과 같습니다.

  • 신경망에 사용되는 손실 함수와 유사한 손실 함수를 정의합니다. 예를 들어 분류 문제의 엔트로피 (로그 손실이라고도 함)가 있습니다.
  • 약한 모델을 학습하여 강한 모델 출력에 따른 손실의 경사를 예측합니다.

공식적으로, y가 라벨이고 p 가 예측인 손실 함수 L(y,p)가 주어지면 i 단계에서 약한 모델을 학습하는 데 사용되는 가상 응답 zi 는 다음과 같습니다.

zi=L(y,Fi)Fi

각 항목의 의미는 다음과 같습니다.

  • Fi 는 강력한 모델의 예측입니다.

위의 예는 회귀 문제입니다. 목표는 숫자 값을 예측하는 것입니다. 회귀의 경우 제곱 오차는 일반적인 손실 함수입니다.

L(y,p)=(yp)2

이 경우 그라데이션은 다음과 같습니다.

z=L(y,Fi)Fi=(yp)2p=2(yp)=2 signed error

즉, 기울기는 2의 배수를 곱한 예시의 부호 있는 오류입니다. 축소로 인해 상수 계수는 중요하지 않습니다. 이 등가 관계는 제곱 오류 손실이 있는 회귀 문제에만 적용됩니다. 다른 지도 학습 문제 (예: 분류, 순위 지정, 백분위수 손실이 있는 회귀)의 경우 기울기와 부호 있는 오류는 상응하지 않습니다.

뉴턴의 방법 단계를 사용한 리프 및 구조 최적화

뉴턴의 방법은 경사하강법과 같은 최적화 방법입니다. 그러나 최적화하는 데 함수의 기울기만 사용하는 경사 하강과 달리 뉴턴의 방법은 최적화하는 데 함수의 기울기 (1차 미분)와 2차 미분을 모두 사용합니다.

경사하강의 단계는 다음과 같습니다.

xi+1=xidfdx(xi)=xif(xi)

다음과 같이 뉴턴의 방법을 사용합니다.

xi+1=xidfdx(xi)d2fd2x(xi)=xif(xi)f(xi)

원하는 경우 다음 두 가지 방법으로 뉴턴의 방법을 기울기 부스팅된 트리의 학습에 통합할 수 있습니다.

  1. 트리가 학습되면 뉴턴의 단계가 각 리프에 적용되고 값을 재정의합니다. 트리 구조는 변경되지 않으며 리프 값만 변경됩니다.
  2. 트리가 성장하는 동안 조건은 뉴턴 수식의 구성요소가 포함된 점수에 따라 선택됩니다. 트리의 구조가 영향을 받습니다.
YDF 코드
YDF에서:
  • YDF는 항상 리프에 뉴턴 단계를 적용합니다 (옵션 1).
  • use_hessian_gain=True를 사용하여 옵션 2를 사용 설정할 수 있습니다.