그라디언트 하강과 같이 그라디언트 향상은 어떻습니까?


9

그라디언트 부스팅 ( https://en.wikipedia.org/wiki/Gradient_boosting ) 에 대한 유용한 Wikipedia 항목을 읽고 있으며 가장 가파른 하강 단계 (의사 그라디언트라고도 함)로 잔차를 근사화하는 방법 / 이유를 이해하려고합니다. ). 가장 가파른 강하가 잔존물과 어떻게 연결 / 유사하는지에 대해 누구나 직감을 줄 수 있습니까? 대단히 감사합니다!

여기에 이미지 설명을 입력하십시오

답변:


11

우리가 다음과 같은 상황에 있다고 가정하십시오. 우리는 일부 데이터가 각각 숫자 또는 벡터가 될 수 있습니다, 우리는 함수를 결정하려는 그 관계에 근접 , 의미에서 그 최소 제곱 오류:{xi,yi}xiff(xi)yi

12i(yif(xi))2

작다.

이제 우리는 의 영역이 무엇인지에 대한 질문 을합니다. 도메인에 대한 타락한 선택은 교육 데이터의 요점 일뿐입니다. 이 경우 원하는 전체 도메인을 포함하여 정의 하고이를 수행 할 수 있습니다. 이 답변에 도달하는 방법에 대한 라운드는이 이산 공간을 도메인으로하여 경사 하강을 수행하는 것입니다. 이것은 관점에서 약간의 변화가 필요합니다. 손실을 점 true 와 예측 의 함수로 봅시다 (순간 는 함수가 아니라 예측 값입니다)ff(xi)=yy ff

L(f;y)=12(yf)2

그런 다음 예측과 관련하여 기울기를 가져옵니다.

fL(f;y)=fy

그런 다음 의 초기 값에서 시작하는 그라디언트 업데이트 는y0

y1=y0f(y0,y)=y0(y0y)=y

따라서이 설정으로 그라디언트 단계에서 완벽한 예측을 복구 할 수 있습니다.

물론 여기서의 결점은 우리가 훈련 데이터 포인트 이상의 것 이상으로 를 정의하기를 원한다는 것입니다. 이를 위해서는 훈련 데이터 세트 이외의 지점에서 손실 함수 또는 그레디언트를 평가할 수 없으므로 몇 가지 양보를해야합니다. f

큰 아이디어는 비슷하게하는 것입니다 . L

Start 에서 초기 추측으로 거의 항상 간단한 상수 함수 , 이것은 어디서나 정의됩니다. 이제 대한 초기 추측을 사용하여 훈련 데이터에서 손실 함수의 기울기를 평가하여 새로운 작업 데이터 세트를 생성하십시오 .ff(x)=f0f

W={xi,f0y}

Now approximate L 약한 학습자를 맞추면됩니다 . 근사값 을 얻습니다 . 우리는 작은 학습자에 적합하기 때문에 훈련 지점에서 정밀도를 잃었지만 형식으로 전체 도메인에 걸쳐 데이터 의 확장을 얻었습니다 .WFLWF(X)

Finally전체 도메인 에서 의 그래디언트 업데이트에서 대신 를 사용 하십시오.FLf0

f1(x)=f0(x)F(x)

우리 는 의 새로운 근사치 인 얻습니다 . 보다 약간 낫습니다 . 시작하고 만족할 때까지 반복하십시오.f1ff0f1

실제로 중요한 것은 손실의 기울기를 근사화하는 것입니다. 최소 제곱 최소화의 경우 이는 원시 잔차의 형태를 취하지 만 더 복잡한 경우에는 그렇지 않습니다. 그래도 기계는 적용됩니다. 훈련 데이터에서 손실 및 손실의 기울기를 계산하기위한 알고리즘을 구성 할 수있는 한,이 알고리즘을 사용하여 해당 손실을 최소화하는 함수를 근사화 할 수 있습니다.


예, 좋은 생각입니다. 주목할 것은, 예를 들어, 이항 손실을 최소화하기 위해 부스트하려는 경우 그러면 확장되는 기울기가 더 이상 존재하지 않습니다 자연스럽게 잔차와 관련이 있습니다.
iyilog(pi)+(1yi)log(1pi)
Matthew Drury

고마워 매튜 내가 고개를 끄는 한가지. 문헌에서 종종 모델 업데이트가 F (m + 1) = F (m) + , 여기서 h (m)은 약한 학습자입니다. 트리 기반 모델을 생각하고 있다면 회귀와 분류 모두에 대해 두 모델의 결과를 간단히 추가하여 주어진 데이터 포인트에 대한 예측을 실제적으로 업데이트한다는 의미입니까? 이진 분류를 시도하는 경우에도 작동합니까? 또는 + 부호가 문자 그대로 해석되어서는 안됩니까? αmh(m)
Wouter

더하기 부호는 문자 그대로입니다. 그러나 트리 기반의 약한 학습자의 경우 트리가 이항 데이터에 적합한 경우에도 모델 예측은 리프의 가중 평균으로 해석되어야합니다. 부스팅에서는 일반적으로 이항 데이터에 적합하지 않으며, 이전 단계의 예측에서 평가 된 가능성의 구배에 적합하며, 이는 값 이 아닙니다 . 0,1
Matthew Drury

1
@MatthewDrury 많은 문헌에서 우리는 을 직접 업데이트하지 않지만 직접 업데이트합니다 . 여기서 는 0에서 1입니다. f1f0F(x)f0αF(x)α
Haitao Du

@ hxd1011 네, 그렇습니다. 그래디언트 부스팅을 성공적으로 사용하는 데 절대적으로 정확합니다.
Matthew Drury
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.