랜덤 포레스트 방법론을 선형 회귀에 적용 할 수 있습니까?


14

랜덤 포레스트는 원래 훈련 데이터의 부트 스트랩 샘플 (입력 변수와 관측 값의 샘플)을 사용하여 각 트리가 생성되는 의사 결정 트리의 앙상블을 만들어 작동합니다.

선형 회귀 분석에 유사한 프로세스를 적용 할 수 있습니까? 각 k 회귀에 대해 랜덤 부트 스트랩 샘플을 사용하여 k 선형 회귀 모델 생성

모형과 같은 "무작위 회귀"를 작성하지 않는 이유는 무엇입니까?

감사. 내가 근본적으로 오해하는 것이 있다면 알려주십시오.


부트 스트랩 집계 트리를 사용하면 전체 회귀 함수는 추가하는 모든 트리마다 점점 더 복잡해집니다. 반면에 부트 스트랩 집계 형식의 선형 함수를 부트 스트랩으로 집계 한 a_0 + a_1 * x_1 + ... + a_d * x_d경우 결과 부트 된 평균 선형 함수 (부트 스트랩 집계 후)는 여전히 시작하는 것과 동일한 선형 기능 형태 (예 : '기본 학습자')를 갖습니다.
Andre Holzner

1
@Andre Holzner-당신이 말하는 것은 사실이지만, 그러나 ...이 무작위 포레스트를 수행하는 것은 실제로 라이딩과 비슷한 클래스에서 정규화의 한 형태입니다. 나는 당신에게 비밀을 말할 것입니다. 회귀 트리는 실제로 선형 모델입니다-스플라인과 비슷한 클래스. 내 베이지안 모자를 착용하면 무작위 포레스트 규칙은 베이지안 맥락에서 사용 된 "스파이크 및 슬래브"와 대략 일치 할 것입니다.
probabilityislogic

@probabilityislogic, 설명 할 수 있습니까?
Simon Kuang

트리를 선형 모델 로 생각할 수 있습니다 . Z t 는 각각의 관측치가 트리 t에 속하는 터미널 노드를 나타내는 설계 행렬 이고 , θ t 는 터미널 노드 예측의 대응 벡터이다. 모든 나무는이 방법으로 설명 할 수있다 - 나무를 선택하는 것은의 공간 selectionin 표준 선형 모델에 해당 Z의 t 가있는 - 2 N 내가 (여기서 생각 가능 "터미널 노드"cconfigurations N 훈련 샘플 크기입니다). y=Ztθt+eZttθtZt2nn
확률 론적

답변:


5

랜덤 포레스트가 구축 된 방법론이 분산 (부트 스트랩 샘플 + 랜덤 서브 스페이스 방법으로 구축 된 카트)을 도입하여 독립적으로 만들기 때문에 본 답변에 부분적으로 동의하지 않습니다. 직교 트리를 가지면 예측의 평균이 (젠슨의 불평등 때문에) 평균 트리의 예측보다 나은 경향이 있습니다 (많은 경우). 이 치료법을 적용 할 때 CART에 특권이 있지만이 방법은 모든 모델에 적용되며 선형 모델도 예외는 아닙니다. 정확히 당신이 찾고있는 R 패키지가 있습니다. 그것은 주제에 대한 그것들과 참고 문헌을 조정하고 해석하는 방법에 대한 훌륭한 튜토리얼을 제공합니다 : Random Generalized Linear Models .


14

머신 러닝 전문 용어로 @ziggystar의 응답을 넣으려면 부트 스트랩 집계 기술 (예 : 랜덤 포레스트)의 기본 개념은 "무작위"또는 "불안정성"요소가있는 데이터에 많은 저 바이어스, 고 분산 모델을 맞추는 것입니다. 임의 포리스트의 경우 부트 스트랩을 통해 트리의 각 노드를 분할하는 임의의 기능 집합을 선택하여 불안정성을 추가합니다. 이 시끄럽지 만 바이어스가 낮은이 나무를 평균화하면 개별 트리의 높은 분산이 완화됩니다.

회귀 / 분류 트리는 "저 바이어스, 고 분산"모델 인 반면 선형 회귀 모델은 일반적으로 "고 바이어스, 저 분산"과 반대입니다. 따라서 선형 모델에서 종종 직면하는 문제는 편차를 줄이는 것이 아니라 바이어스를 줄이는 것입니다. 부트 스트랩 집계는이 작업을 수행하기위한 것이 아닙니다.

또한 문제는 부트 스트랩이 일반적인 선형 모델에서 충분한 "무작위"또는 "불안정성"을 제공하지 못할 수 있다는 것입니다. 각 리프는 일반적으로 소수의 데이터 포인트 만 보유하므로 회귀 트리는 부트 스트랩 샘플의 무작위성에 더 민감 할 것으로 예상합니다. 또한 각 노드에서 변수의 하위 집합으로 트리를 분할하여 회귀 트리를 확률 적으로 확장 할 수 있습니다. 왜 중요한지 이전 질문을 참조하십시오. 왜 임의 포리스트가 임의의 기능을 기준으로 분할됩니까?

이미 말했듯이, 당신은 확실히 선형 모델에서 부트 스트랩을 사용할 수 있습니다 [LINK] , 이것은 특정 상황에서 매우 도움이 될 수 있습니다. 그러나 동기 부여는 부트 스트랩 집계 기술과 크게 다릅니다.


링크와 응답에 감사드립니다. 임의성 방법이 "낮은 바이어스, 높은 분산"모델에 유용한 경우 반대 유형의 모델 "높은 바이어스, 낮은 분산"을 처리하는 방법이 있습니까?
Rick

바이어스가 적고 분산이 높은 모델이있는 경우 배깅과 같은 방법론은 바이어스가 약간 증가 할 때 분산을 줄일 수 있습니다. 바이어스가 높고 분산이 낮 으면 다항식 회귀 또는보다 일반적으로 커널 방법과 같이 바이어스가 낮고 분산이 높은 모델을 사용하십시오.
Joe

10

케이케이

그리고 의사 결정 트리 에서처럼 선형 모델로 "무작위"를하는 것이 매력적이지 않은 이유는 다음과 같습니다.

큰 샘플에서 생성 된 큰 의사 결정 트리는 데이터를 과적 합할 가능성이 매우 높으며 임의 포리스트 방법은 많은 작은 나무의 투표에 의존하여이 효과와 맞서게됩니다.

반면에 선형 회귀는 과적 합이 쉽지 않은 모델이므로 처음에 완전한 샘플에 대해 훈련해도 손상되지 않습니다. 회귀 변수가 많은 경우에도 정규화와 같은 다른 기술을 적용하여 과적 합을 방지 할 수 있습니다.


0

케이

엑스1,엑스2,...,엑스이자형()
1
θ=1{>0}
엑스나는=1θ=1θθ
나는에스 나는=아르 자형영형(나는  영형영형에스아르 자형 에스미디엄이자형 엑스(1)=...=엑스()=0)>0,
θ=1

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