선형 기본 학습자는 부스팅에서 어떻게 작동합니까? 그리고 xgboost 라이브러리에서 어떻게 작동합니까?


9

XGBoost에서 선형 목적 함수 및 선형 부스트를 구현하는 방법을 알고 있습니다. 내 구체적인 질문은 알고리즘이 잔차 (또는 음의 구배)에 적합 할 때 각 단계에서 하나의 특징 (예 : 일 변량 모델) 또는 모든 특징 (다변량 모델)을 사용합니까?

XGBoost의 선형 부스트에 대한 문서를 참조하십시오.

편집 : 'booster'매개 변수를 'gblinear'로 설정하여 XGBoost에서 선형 부스트를 구현할 수 있습니다. 선형 부스팅에 대한 유용한 정보는 http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3885826/ 을 참조하십시오 . 나는 목적 함수 (선형 일 수도 있음)에 대해 말하지 않고 부스트에 대해 이야기하고 있습니다.

감사!


1
구현 방법을 모르지만 한 번에 하나의 기능 만 고려해야하는 이유는 없습니다.
Alexey Grigorev

@AlexeyGrigorev는 아마도 한 번에 많은 기능을 필요로 할 것입니다. 그러나 이러한 기능은 어떻게 선택됩니까? 선형 증폭을위한 특정 프로세스에 대한 모든 문서는 매우 명확합니다.
Escachator 2

답변:


17

당신에게 질문에 대한 짧은 답변 :

알고리즘이 잔차 (또는 음의 기울기)에 적합 할 때 각 단계에서 하나의 특징 (예 : 일 변량 모델) 또는 모든 특징 (다변량 모델)을 사용합니까?

알고리즘이 하나의 기능을 사용 중이거나 모든 기능이 설정에 따라 다릅니다. 아래 나열된 긴 대답에서 의사 결정 그루터기와 선형 학습자 예제 모두에서 모든 기능을 사용하지만 원하는 경우 기능의 하위 집합에 맞출 수도 있습니다. 샘플링 열 (기능)은 모델의 분산을 줄이거 나 모델의 "견고성"을 높이는 것으로 볼 수 있습니다. 특히 많은 피쳐가있는 경우.

에서 xgboost트리 기반 학습자의 경우 colsample_bytree각 반복에 맞게 기능을 샘플링하도록 설정할 수 있습니다 . 선형 기본 학습자의 경우 그러한 옵션이 없으므로 모든 기능에 적합해야합니다. 또한 xgboost 또는 일반적으로 그라디언트 부스팅에서 선형 학습자를 사용하는 사람은 그리 많지 않습니다.


부스팅에 대한 약한 학습자로서 선형에 대한 긴 대답 :

대부분의 경우 선형 학습자를 기본 학습자로 사용할 수 없습니다. 그 이유는 간단합니다. 여러 선형 모델을 함께 추가하면 선형 모델이됩니다.

우리의 모델을 향상시키는 것은 기본 학습자의 합입니다.

f(x)=m=1Mbm(x)

어디 M 증폭의 반복 횟수입니다. bm 에 대한 모델입니다 mth 되풀이.

예를 들어 기본 학습자가 선형이라면 2 반복 b1=β0+β1xb2=θ0+θ1x그런 다음

f(x)=m=12bm(x)=β0+β1x+θ0+θ1x=(β0+θ0)+(β1+θ1)x

간단한 선형 모델입니다! 다시 말해, 앙상블 모델은 기본 학습자와 "동일한 힘"을 갖습니다!

더 중요한 것은 선형 학습자를 기본 학습자로 사용하는 경우 선형 시스템을 해결하여 한 단계 만 수행하면됩니다. XTXβ=XTy 부스팅에서 여러 번 반복하지 않아도됩니다.


따라서 사람들은 선형 모델 이외의 다른 모델을 기본 학습자로 사용하려고합니다. 두 개의 나무를 추가하는 것이 하나의 나무와 같지 않기 때문에 나무는 좋은 옵션입니다. 간단한 사례 : 의사 결정 그루터기 (1 개의 스플릿 만있는 트리)로 시연합니다.

간단한 이차 함수로 데이터를 생성하는 함수 피팅을하고 있습니다. f(x,y)=x2+y2. 여기에 채워진 등고선 접지 진실 (왼쪽)과 최종 결정 스텀프 부스팅 피팅 (오른쪽)이 있습니다.

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

이제 처음 네 번의 반복을 확인하십시오.

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

선형 학습자와는 달리 4 번째 반복 모델은 다른 매개 변수를 사용하여 한 번의 반복 (하나의 단일 결정 스텀프)으로 수행 할 수 없습니다.


지금까지 사람들이 왜 선형 학습자를 기본 학습자로 사용하지 않는지 설명했습니다. 그러나 사람들이 그렇게 할 수있는 것은 없습니다. 선형 학습자를 기본 학습자로 사용하고 반복 횟수를 제한하는 경우 선형 시스템을 푸는 것과 같지만 해결 과정에서 반복 횟수를 제한합니다.

같은 예이지만 3D 플롯에서 빨간색 곡선이 데이터이고 녹색 평면이 최종 적합입니다. 최종 모델은 선형 모델이며 z=mean(data$label)x, y 평면과 평행 한 모델 입니다. (이유는 우리의 데이터가 "대칭"이기 때문에 평면의 기울기가 손실을 증가시키기 때문입니다.) 이제 처음 4 번의 반복에서 발생한 결과를 확인하십시오. 적합 모형이 천천히 최적의 값 (평균)까지 올라갑니다.

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


마지막으로 선형 학습자는 널리 사용되지 않지만 사람들이 그것을 사용하거나 R 라이브러리에서 구현하는 것을 막을 수있는 것은 없습니다. 또한이를 사용하고 반복 횟수를 제한하여 모델을 정규화 할 수 있습니다.

관련 게시물 :

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

의사 결정이 선형 모델입니까?


1
나는 n 개의 나무의 조합이 나무라고 말하고 싶습니다.
Metariat

@Metariat NO !, 조합 나무는 나무가 아닙니다!. 나무의 경우 분할시 "T"모양이 표시됩니다. 그러나 그루터기를 강화하면 "#"모양이 나타납니다. 즉, 스플릿은 다른 스플릿과 교차합니다!
Haitao Du

당신은 n 나무의 예를 줄 수 있습니까? 나는 당신에게 동등한 나무를 줄 것입니다!
Metariat

@Metariat 죄송합니다. 지금은 시간이 없습니다. 그러나 의사 결정 트리에서 의사 결정 그루터기를 쉽게 생성 할 수는 없습니다. 내가 시간이되면이 질문으로 돌아올 것입니다.
Haitao Du

1
나는 n 개의 나무의 조합이 여전히 나무라는 것에 동의하지만이 나무는 상당히 커질 것입니다. 최악의 경우 잎 수는 모든 입력 트리에서 잎 수의 곱과 같으므로 그러한 나무의 복잡성은 비현실적입니다. 반면에 선형 함수의 경우 복잡성은 정확히 동일합니다.
Tomek Tarczynski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.