Como encontrar valores ótimos para os parâmetros de ajuste no aumento de árvores?

9

Percebo que existem 3 parâmetros de ajuste no modelo de árvores de reforço, ou seja,

  1. o número de árvores (número de iterações)
  2. parâmetro de encolhimento
  3. número de divisões (tamanho de cada árvore constituinte)

Minha pergunta é: para cada um dos parâmetros de ajuste, como devo encontrar seu valor ideal? E qual método?

Observe que: o parâmetro de encolhimento e o número de árvores funcionam juntos, ou seja, um valor menor para o parâmetro de encolhimento leva a um valor mais alto para o número de árvores. E precisamos levar isso em conta também.

Estou particularmente interessado no método para encontrar o valor ideal para o número de divisões. Deve ser baseado em validação cruzada ou conhecimento de domínio sobre o modelo por trás?

E como essas coisas são realizadas no gbmpacote em R?

meu nome é Jeff
fonte

Respostas:

6

O pacote de intercalação em R é feito sob medida para isso.

Sua função de trem pega uma grade de valores de parâmetros e avalia o desempenho usando vários tipos de validação cruzada ou o bootstrap. O autor do pacote escreveu um livro, Modelagem Preditiva Aplicada , que é altamente recomendado. 5 repetições de 10 vezes a validação cruzada são usadas ao longo do livro.

Para escolher a profundidade da árvore, primeiro busco o conhecimento do assunto sobre o problema, ou seja, se você não espera nenhuma interação - restrinja a profundidade a 1 ou opte por um modelo paramétrico flexível (que é muito mais fácil de entender e interpretar). Dito isto, muitas vezes me vejo ajustando a profundidade da árvore, pois o conhecimento do assunto geralmente é muito limitado.

Eu acho que o pacote gbm ajusta o número de árvores para valores fixos de profundidade e encolhimento.

ErikL
fonte
O livro também inclui código R?
user1769197
Quero dizer trabalhou exemplo que inclui código de R então nós entendemos como os modelos são implementados computacionalmente e aplicada em um conjunto de dados
user1769197
11
Sim. Confira a página do livro applicpredictivemodeling.com para mais informações.
ErikL
1

Existem duas boas fontes para as árvores de regressão reforçada e o pacote gbm. Para obter uma explicação sobre o BRT e a otimização do número de árvores ( nt), taxa de aprendizado ( lr) e complexidade da árvore ( tc), consulte Um guia de trabalho para árvores de regressão reforçadas. Embora ele esteja focado na ecologia, acho que você não encontrará uma melhor introdução ao BRT. .

Para a implementação do BRT no pacote gbm, consulte Boosted Regression Trees para modelagem ecológica

Em resumo, uma regra prática é selecionar uma taxa de aprendizado que permita que o modelo de BRT ajuste pelo menos 1000 árvores; portanto, provavelmente você precisará de uma baixa taxa de aprendizado, talvez 0,001 para conseguir isso. Mas isso depende do tamanho dos seus dados, veja a fig. 2 e 3 no Guia de trabalho do BRT. Eu acho que uma maneira possível seria configurar diferentes modelos no BRT de acordo com o tamanho dos dados, por exemplo, combinar diferentes lr (0,1, 0,01, 0,001), tc (1, 3, 5, 7, 9, 20) com uma bolsa diferente .fracções (0,5, 0,7, 0,9) e escolha a melhor de acordo com o menor desvio ou a maior pontuação do ROC. Talvez tenha ajudado.

user3624251
fonte
11
Para referência, BRT_MODEL$self.statistics$correlation[[1]]é a correlação de teste com dados de treinamento, que é uma boa métrica de teste.
Dez93_2000 22/08/2014
parece um desenho estatístico de experimento para mim. : P
EngrStudent