randomForest에 대한 올바른 sampSize를 결정하기위한 공식 또는 규칙이 있습니까?


13

randomForest를 가지고 놀고 있는데 일반적으로 sampSize를 늘리면 성능이 향상됩니다. 최적의 sampSize가 무엇인지 제안하는 규칙 / 공식 / 등이 있습니까? 아니면 시행 착오입니까? 나는 그것을 표현하는 또 다른 방법을 추측한다; 너무 작은 sampSize 또는 너무 큰 (과적 합) 위험은 무엇입니까?


이 질문은 randomForest패키지 에서 임의 포리스트의 R 구현을 나타 냅니다. 이 기능 randomForest에는 sampSize설명서에 설명 된대로 매개 변수 가 있습니다.

그릴 샘플의 크기. 분류를 위해 sampsize가 지층 수의 길이의 벡터 인 경우 지층별로 샘플링을 계층화하고 sampsize의 요소는 지층에서 추출 할 숫자를 나타냅니다.

답변:


21

일반적으로 랜덤 포레스트의 샘플 크기는 관련된 "임의 정도"에 대한 제어 역할을하므로 바이어스-분산 트레이드 오프를 조정하는 방법으로 사용됩니다. 샘플 크기를 늘리면 "임의의 랜덤"포리스트가 만들어 지므로 오 버핏 경향이 있습니다. 표본 크기를 줄이면 산림 내 개별 트리의 변동이 증가하여 과적 합을 방지 할 수 있지만 일반적으로 모델 성능이 저하됩니다. 유용한 부작용은 샘플 크기가 작을수록 모델 학습에 필요한 시간이 단축된다는 것입니다.

가장 좋은 샘플 크기의 일반적인 경험 법칙은 "부트 스트랩 샘플"입니다. 샘플은 원래 데이터 세트와 크기는 같지만 대체로 선택되므로 일부 행은 선택되지 않고 다른 행은 두 번 이상 선택됩니다. 이는 일반적으로 거의 최적의 성능을 제공하며 표준 R 구현의 기본값입니다. 그러나 실제 응용 프로그램에서는 샘플 크기를 조정하면 성능이 향상 될 수 있습니다. 의심스러운 경우 교차 검증을 사용하여 적절한 표본 크기 (및 기타 모델 매개 변수)를 선택하십시오.


2

임의의 매개 변수 설정을 사용하여 밤새 4500 개의 임의 포리스트를 실행했습니다.

회귀 문제 Ysignal = x1^2+sin(x2*pi) + x3 * x4 + x5 라도 x정규 분포로부터 독립 샘플링, 평균 SD = 1 = 1

Ytotal = Ysignal + Yerror

어디 Yerror = rnorm(n.observations,sd=sd(Ysignal))*noise.factor

theoretical.explainable.variance"TEV" = var(Ysignal= / var(Ytotal)

randomForest.performance = explained.variance(OOB cross-validation) / TEV

회귀 문제에서 데이터 세트를 샘플링했으며 추가 된 노이즈 n.obsn.extra.dummy.variables1에서 20 사이의 1000에서 5000 사이 의 난수였습니다.

ntree 항상 1000

sample_replacement 항상 true

mtry5에서 25 n.obs noise.factor사이이며 0에서 9 사이로 제한됩니다.

samplesize.ratio 10 %에서 100 % 사이의 난수, 각 부트 스트랩의 비율 크기

모든 모델은 다음과 같이 훈련되었습니다 rfo = randomForest(x=X, y=Ytotal, <more args>)

는 50 % 미만일 때 낮아 지고 50 %보다 높으면 감소 할 때 일반적으로 증가율 randomForest.performance의 가장 높은 부분을 설명 할 수 있습니다.TEVsamplesizeTEVTEV

따라서, randomForest-modelfit예를 들어 15 % 의 보고서가 OOB-CV에 의한 분산을 설명하고 이것이 당신에게 적합한 모델 정밀도라면 sampsize, 주어진 관측치의 3 분의 1 로 낮추어 성능을 약간 높일 수 ntree > 1000있습니다.

사기 : 매우 시끄러운 데이터의 경우 최대 크기의 나무를 키워서 치우침을 낮추는 것보다 나무를 상관시키는 것이 좋습니다.


1

무작위 포리스트가 훈련 데이터에서와 같이 새로운 데이터에서도 잘 작동하기 위해서는 필요한 표본 크기가 엄청 나며, 종종 후보 기능 수의 200 배 입니다. 여기를 참조 하십시오 .


2
Harrell 박사는 OP가 데이터 세트의 전체 크기가 아니라 각각의 개별 트리를 구축하는 데 사용 된 리샘플링의 크기를 묻고 있다고 생각합니다.
Sycorax는 Reinstate Monica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.