Minhas perguntas são sobre florestas aleatórias. O conceito deste classificador bonito é claro para mim, mas ainda há muitas questões práticas de uso. Infelizmente, não encontrei nenhum guia prático de RF (estive procurando por algo como "Um Guia Prático para Treinamento de Máquinas Boltzman Restritas", de Geoffrey Hinton, mas para as Florestas Aleatórias!
Como se pode ajustar a RF na prática?
É verdade que um número maior de árvores é sempre melhor? Existe um limite razoável (exceto a capacidade comp, é claro) para aumentar o número de árvores e como estimar para um determinado conjunto de dados?
E a profundidade das árvores? Como escolher o razoável? Existe algum sentido em experimentar árvores de diferentes comprimentos em uma floresta e qual é a orientação para isso?
Existem outros parâmetros que vale a pena observar ao treinar RF? Algos para a construção de árvores individuais pode ser?
Quando eles dizem que os RF são resistentes ao excesso de ajuste, qual é a verdade?
Aprecio todas as respostas e / ou links para guias ou artigos que eu possa ter perdido durante a minha pesquisa.
fonte
Respostas:
Como eu não sou uma figura autoritária, considere estas breves notas do profissional:
Mais árvores é sempre melhor com retornos decrescentes. Árvores mais profundas são quase sempre melhor sujeitas a exigir mais árvores para um desempenho semelhante.
Os dois pontos acima são diretamente o resultado da troca de viés e variância. Árvores mais profundas reduzem o viés; mais árvores reduz a variação.
O hiperparâmetro mais importante é quantos recursos testar para cada divisão. Quanto mais recursos inúteis houver, mais recursos você deve tentar. Isso precisa de sintonia. Você pode ajustá-lo através de estimativas OOB se quiser apenas conhecer seu desempenho nos dados de treinamento e não houver geminação (~ medidas repetidas). Embora esse seja o parâmetro mais importante, o ideal ainda é geralmente bastante próximo dos padrões de sugestão originais (sqrt (p) ou (p / 3) para classificação / regressão).
Pesquisas bastante recentes mostram que você nem precisa fazer pesquisas divididas exaustivas dentro de um recurso para obter um bom desempenho. Apenas tente alguns pontos de corte para cada recurso selecionado e siga em frente. Isso torna o treinamento ainda mais rápido. (~ Florestas / árvores extremamente aleatórias).
fonte
mtry
são melhores, nenhuma prova ou evidência empírica é necessária para ver isso.Número de árvores : quanto maior, melhor: sim. Uma maneira de avaliar e saber quando parar é monitorar sua taxa de erro ao criar sua floresta (ou qualquer outro critério de avaliação que você possa usar) e detectar quando ela convergir. Você pode fazer isso no próprio conjunto de aprendizado ou, se disponível, em um conjunto de testes independente. Além disso, é preciso observar que o número de nós de teste em suas árvores é delimitado pelo número de objetos; portanto, se você tiver muitas variáveis e poucos objetos de treinamento, uma floresta maior será altamente recomendada para aumentar o chances de avaliar todos os descritores pelo menos uma vez em sua floresta.
Profundidade da árvore : existem várias maneiras de controlar a profundidade das suas árvores (limite a profundidade máxima, limite o número de nós, limite o número de objetos necessários para dividir, pare de dividir se a divisão não melhorar suficientemente o ajuste, ... ) Na maioria das vezes, é recomendável podar (limitar a profundidade) das árvores se você estiver lidando com dados ruidosos. Finalmente, você pode usar suas árvores totalmente desenvolvidas para calcular o desempenho de árvores mais curtas, pois elas são um "subconjunto" das árvores totalmente desenvolvidas.
Quantos recursos a serem testados em cada nó : valide cruzadamente suas experiências com uma ampla gama de valores (incluindo os recomendados), você deve obter uma curva de desempenho e poder identificar um valor máximo apontando qual é o melhor valor para esse parâmetro + Shea Parkes responde.
Shea Parkes mencionou as Extra-Trees, aqui está o artigo original que descreve em detalhes o método: http://orbi.ulg.ac.be/bitstream/2268/9357/1/geurts-mlj-advance.pdf
fonte