선형 회귀에 대한 그라디언트 부스팅-왜 작동하지 않습니까?


35

그라디언트 부스팅에 대해 배우면서 메서드가 빌드 및 앙상블 모델을 만드는 데 사용하는 "약한 분류기"의 속성과 관련된 제약에 대해 들어 보지 못했습니다. 그러나 선형 회귀를 사용하는 GB의 응용 프로그램을 상상할 수 없었으며 실제로 테스트를 수행했을 때 작동하지 않습니다. 나는 제곱 잔차의 합의 기울기로 가장 표준적인 접근법을 테스트하고 후속 모델을 함께 추가했습니다.

명백한 문제는 첫 번째 모형의 잔차가 더 이상 적합 할 회귀선이없는 방식으로 채워진다는 것입니다. 또 다른 관찰은 후속 선형 회귀 모델의 합계를 단일 회귀 모델로도 표현할 수 있으며 (모든 절편과 해당 계수를 더함) 모델이 어떻게 개선 될 수 있는지 상상할 수 없습니다. 마지막 관측치는 선형 회귀 (가장 일반적인 접근법)는 제곱 잔차의 합을 손실 함수로 사용한다는 것입니다. 이는 GB가 사용하는 것과 같습니다.

또한 학습 속도를 낮추거나 각 반복에 대해 예측 변수의 하위 집합 만 사용하는 것에 대해 생각했지만 결국 단일 모델 표현으로 요약 될 수 있으므로 개선되지 않을 것으로 생각합니다.

내가 여기서 무엇을 놓치고 있습니까? 선형 회귀는 그래디언트 부스팅과 함께 사용하기에 부적절한가요? 선형 회귀는 제곱 잔차의 합을 손실 함수로 사용하기 때문입니까? 약한 예측 변수에 그라디언트 부스팅에 적용 할 수있는 특정 제약 조건이 있습니까?


직감적으로 나는 당신이 분류기를 사용해서는 안된다고 생각하는 경향이 있습니다. 예를 들어 선형 함수의 합은 선형 함수입니다.
user18764

나는 이것이 오래되었다는 것을 알고 있지만, 부스팅 단계는 현재 잔차와 기본 학습자 (이 경우 선형 회귀) 사이의 손실 함수를 학습 속도로 곱한 것을 최소화한다는 것입니다. 기본 학습자가 mse를 최소화하는 동안 부스터가 사용하는 손실 함수는 동일한 MAPE 일 수 있습니까?
David Waterworth

답변:


35

내가 여기서 무엇을 놓치고 있습니까?

나는 당신이 정말로 아무것도 놓치고 있다고 생각하지 않습니다!

또 다른 관찰은 후속 선형 회귀 모델의 합계를 단일 회귀 모델로도 표현할 수 있으며 (모든 절편과 해당 계수를 더함) 모델이 어떻게 개선 될 수 있는지 상상할 수 없습니다. 마지막 관측치는 선형 회귀 (가장 일반적인 접근법)는 제곱 잔차의 합을 손실 함수로 사용한다는 것입니다. 이는 GB가 사용하는 것과 같습니다.

이 설정에서 선형 회귀가 선형 회귀를 높이는 것보다 우수하다는 증거에 대한 간단한 스케치를 제공 한 것 같습니다.

pedantic하기 위해 두 가지 방법 모두 다음 최적화 문제를 해결하려고합니다.

β^=argminβ(yXβ)t(yXβ)

선형 회귀는 선형 방정식에 대한 해를 찾아서 직접 해결할 수 있음을 관찰합니다.

XtXβ=Xty

이렇게하면 모든 가능성 중에서 최상의 가치 인 자동으로 제공됩니다 .β

약한 분류 기가 단일 변수인지 다중 변수 회귀인지 여부에 관계없이 부스팅은 일련의 계수 벡터 합니다. 최종 모델 예측은 관찰 한 바와 같이 합이며 전체 선형 회귀와 동일한 기능 형태를 갖습니다.β1,β2,

Xβ1+Xβ2++Xβn=X(β1+β2++βn)

이러한 각 단계는 제곱 오차의 합을 추가로 줄이기 위해 선택됩니다. 그러나 우리 는 전체 선형 회귀를 시작하여이 함수 형태 내에서 가능한 최소 제곱 오차 합계를 찾을 수있었습니다 .

이 상황에서 부스팅을 방지 할 수있는 방법은 암시적인 정규화가 될 수 있습니다. 아마도 (나는 이것을 가지고 놀지 않았다) 교차 선형 검증과 함께 그라디언트 부스터의 초기 정지 기능을 사용하여 전체 선형 회귀의 부족을 막을 수 있습니다. 이렇게하면 회귀를 정규화하고 과적 합을 도울 수 있습니다. 이 설정에서 능선 회귀 및 탄성 그물과 같은 매우 효율적이고 잘 알려진 옵션을 가지고 있기 때문에 이것은 특히 실용적이지 않습니다.

주변에 간결한 기능이 없으면 부스팅이 빛납니다. 의사 결정 트리를 높이면 회귀 / 분류기의 기능적 형태가 데이터에 맞게 느리게 진화하여 종종 손과 눈으로 상상할 수없는 복잡한 모양을 만들 수 있습니다. 간단한 기능적 형태 필요한 경우, 부스팅은 그것을 찾는 데 도움이되지 않을 것입니다 (또는 적어도 그것을 찾는 데 비효율적 인 방법 일 것입니다).


2
나는 대답을 좋아하지만 약간의 비판적 인 회귀의 는 최고의 선형 편향 추정량입니다. 불편 함을 줄이면 특히 높은 다중 공선 성, 결국에는 피할 수없는 일에서 조금 더 잘 할 수 있습니다. β
Jonathan Lisic

그것은 매우 좋고 명확한 대답입니다. 확인 / 설명 감사합니다 매튜!
Matek

"부스팅은 주변에 간결한 기능적 형태가 없을 때 빛난다."이것이 내가 찾고있는 해답이다. 내 질문에 대한 대답은 '그렇지만 기본 학습자로 선형 모델을 사용하는 사람은 아무도 없습니까
Haitao Du

5

최소 제곱 투영 행렬은

X(XTX)1XT

이를 사용하여 예측 된 값 를 직접 얻을 수 있습니다 . 예 :y^

y^=X(XTX)1XTy

회귀에 적합하고 잔차를 계산한다고 가정 해 봅시다.

e=yy^=yX(XTX)1XTy

그런 다음이 회귀 벡터 e를 다음 회귀 분석에서 새로운 종속 변수로 사용합니다. 투영 행렬을 다시 사용하여이 두 번째 회귀의 예측을 직접 계산하고이 새로운 예측을 .y^2

y^2=X(XTX)1XTe=X(XTX)1XT(yX(XTX)1XTy)=X(XTX)1XTyX(XTX)1XTX(XTX)1XTy=X(XTX)1XTyX(XTX)1XTy=0

그 이유는 초기 회귀에서의 잔차 벡터 e가 X 공간과 직교하는 것입니다. 즉, 는 y에서 X 공간으로의 직교 투영입니다 (문서에서이를 시각화 한 멋진 그림을 찾을 수 있습니다) ).y^

이것은 회귀를 피팅 한 다음 첫 번째 회귀의 잔차에 새로운 회귀를 피팅하는 간단한 접근 방식은 X가 e와 완전히 관련이 없기 때문에 아무런 의미가 없습니다.

나는 위의 파생물에 해당하는 새로운 줄이 실제로 없다고 말했기 때문에 이것을 씁니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.