Eu entendi que Floresta Aleatória e Árvores Extremamente Randomizadas diferem no sentido de que as divisões das árvores na Floresta Aleatória são determinísticas, ao passo que são aleatórias no caso de árvores extremamente aleatórias (para ser mais preciso, a próxima divisão é a melhor divisão entre as divisões uniformes aleatórias nas variáveis selecionadas para a árvore atual). Mas eu não entendo totalmente o impacto dessas divisões diferentes em várias situações.
- Como eles se comparam em termos de viés / variância?
- Como eles se comparam em presença de variáveis irrelevantes?
- Como eles se comparam na presença de variáveis correlacionadas?
Comentários
Resposta
O Extra- (Randomizado) -Árvores (ET) artigo contém uma análise de polarização-variância. Na página 16, você pode ver uma comparação com vários métodos, incluindo RF em seis testes (árvore c lassificação e regressão três).
Ambos os métodos são quase iguais, com o ET sendo um pouco pior quando há um grande número de feições ruidosas (em conjuntos de dados de alta dimensão).
Dito isso, contanto que a seleção de recursos (talvez manual) seja quase ideal, o desempenho é quase o mesmo, no entanto, ET “s podem ser computacionalmente mais rápidos.
Do próprio artigo:
A análise do algoritmo e a determinação do valor ótimo de K em várias variantes do problema de teste mostraram que o valor é, em princípio, dependente das especificações do problema, em particular o proporção de atributos irrelevantes . […] A análise de tendência / variância mostrou que as Extra-Árvores funcionam diminuindo a variância e, ao mesmo tempo, aumentando a tendência . […] Quando a randomização é aumentada acima do nível ideal, a variância diminui ligeiramente, enquanto o viés aumenta frequentemente de forma significativa.
Sem bala de prata como sempre.
Pierre Geurts, Damien Ernst, Louis Wehenke. “Árvores extremamente aleatórias”
Comentários
- Qualquer referência (empírica ou teórica) sobre o ET ser um pouco pior quando há um número alto de ruído recursos? Ou isso é baseado na experiência?
- Na minha experiência, o oposto é verdadeiro: Extra-Trees se sai melhor com muitos recursos ruidosos. Com a ressalva de que você deve ter uma grande floresta (muitos estimadores, n_estimators em sklearn) e ajustar o número de recursos considerados em cada divisão (max_features em sklearn) para que isso funcione. Uma única Extra-Tree irá ajustar mais do que uma única árvore aleatória da floresta, mas se você tiver muitas Extra-Tree, elas tenderão a overfit de maneiras diferentes e não overfit. Costumo obter melhorias substanciais de até 3.000 estimadores.
- Como @ramhiser apontou, o ET parece manter um desempenho superior na presença de recursos ruidosos. Você pode adicionar algumas referências à sua resposta?
- As árvores nas árvores extras são sempre um ‘ toco ‘ (apenas uma divisão) ?? Ler outros artigos dá essa impressão.
Resposta
ExtraTreesClassifier é como um irmão de RandomForest, mas com 2 importantes diferenças.
Nós somos construir várias árvores de decisão. Para construir várias árvores, precisamos de vários conjuntos de dados. A prática recomendada é que não treinamos as árvores de decisão no conjunto de dados completo, mas treinamos apenas na fração dos dados (cerca de 80%) para cada árvore. Em uma floresta aleatória, desenhamos observações com substituição. Portanto, podemos repetir observações em uma floresta aleatória. Em um ExtraTreesClassifier, estamos desenhando observações sem substituição, então não teremos repetição de observações como em uma floresta aleatória.
A divisão é o processo de conversão de um nó pai não homogêneo em 2 nós filho homogêneos (melhor possível). Em RandomForest, ele seleciona a melhor divisão para converter o pai nos dois nós filhos mais homogêneos. Em um ExtraTreesClassifier, ele seleciona uma divisão aleatória para dividir o nó pai em dois nós filhos aleatórios.
Vejamos alguns métodos de combinação ordenados de alta a baixa variância, terminando em ExtraTreesClassifier.
1.Árvore de decisão (alta variação)
Uma única árvore de decisão geralmente superajustes os dados com os quais está aprendendo porque aprende com apenas um caminho de decisões. As previsões de uma única árvore de decisão geralmente não fazem previsões precisas sobre novos dados.
2. Floresta aleatória (variação média)
Os modelos de floresta aleatória reduzem o risco de sobreajuste introduzindo aleatoriedade por:
- construção de várias árvores (n_estimators)
- observações de desenho com substituição (ou seja, uma amostra inicializada)
- nós de divisão na melhor divisão entre um subconjunto aleatório dos recursos selecionados em cada nó . A divisão é o processo para converter o nó pai não homogêneo em 2 nós filho homogêneos (melhor possível).
3. Árvores extras (baixa variação)
Árvores extras são como uma floresta aleatória, pois constrói várias árvores e divide nós usando subconjuntos aleatórios de recursos, mas com duas diferenças principais: ele não inicializa observações (o que significa que faz amostras sem substituição) e os nós são divididos em divisões aleatórias, não nas melhores divisões. Portanto, em resumo, ExtraTrees:
- constrói várias árvores com bootstrap = False por padrão, o que significa que as amostras sem substituição
- nós são divididos com base em divisões aleatórias entre um subconjunto aleatório dos recursos selecionados em cada nó
Em Árvores extras, a aleatoriedade não vem da inicialização dos dados, mas sim das divisões aleatórias de todas as observações. ExtraTrees tem o nome de (árvores extremamente aleatórias).
Comentários
- [Bootstrapping] ( en .wikipedia.org / wiki / Bootstrapping_ (estatísticas) está amostrando com substituição.
Resposta
Muito obrigado pelas respostas! Como eu ainda tinha dúvidas, fiz algumas simulações numéricas para ter mais informações sobre o comportamento desses dois métodos.
- Extra árvores parecem manter um desempenho superior na presença de recursos ruidosos.
A imagem abaixo mostra o desempenho (avaliado com validação cruzada) conforme colunas aleatórias irrelevantes para o destino são adicionadas ao conjunto de dados. alvo sendo apenas uma combinação linear das três primeiras colunas.
-
Quando todas as variáveis são relevantes, ambos os métodos parecem atingir o mesmo desempenho ce,
-
Árvores extras parecem três vezes mais rápidas do que a floresta aleatória (pelo menos, na implementação do scikit learn)
Fontes
Link para o artigo completo: floresta aleatória versus árvores extras .
Comentários
- Do seu artigo vinculado: ” Em azul são apresentados os resultados da floresta aleatória e em vermelho para as árvores extras. ”
Resposta
A resposta é que depende. Eu sugiro que você experimente floresta aleatória e árvores extras em seu problema. Experimente grande floresta (1000 – 3000 árvores / estimadores, n_estimators em sklearn) e ajuste o número de recursos considerados em cada divisão (max_features em sklearn), bem como as amostras mínimas por divisão (min_samples_split em sklearn) e a profundidade máxima da árvore ( max_depth em sklearn). Dito isso, você deve ter em mente que sobreajuste pode ser uma forma de sobreajuste.
Aqui estão dois problemas em que trabalhei pessoalmente e onde árvores extras provaram ser úteis com dados muito ruidosos:
Uma previsão eficiente de distúrbio de proteína distribuída com amostras coladas
uniform split
?