Quando evitar a Random Forest?

25

Sabe-se que as florestas aleatórias têm um desempenho razoavelmente bom em uma variedade de tarefas e são conhecidas como o homem de couro dos métodos de aprendizagem . Existem tipos de problemas ou condições específicas nas quais se deve evitar o uso de uma floresta aleatória?

tSchema
fonte
8
Oi. "PLS é o homem de couro de ...", "Bootstrap é o homem de couro de ...", "Floresta aleatória é o homem de couro de ..." <- eu aconselho você a suspeitar de tais alegações. Foi apenas um comentário :)
Stéphane Laurent

Respostas:

24

Pensando na linguagem específica da citação, um homem de couro é uma ferramenta múltipla: uma única peça de hardware com muitos pequenos dispositivos enfiados nela. É um alicate, uma faca, uma chave de fenda e muito mais! Em vez de ter que carregar cada uma dessas ferramentas individualmente, o couro é um item único que você pode prender nas calças para que esteja sempre à mão. Isso é conveniente , mas a desvantagem é que cada uma das ferramentas componentes não é a melhor em seu trabalho. O abridor de latas é difícil de usar, as brocas de chave de fenda geralmente têm o tamanho errado e a faca pode realizar pouco mais do que talhar. Se a execução de qualquer uma dessas tarefas for crítica, você será melhor atendido com uma ferramenta especializada: uma faca de verdade, uma chave de fenda ou um par de alicates.

Uma floresta aleatória pode ser pensada nos mesmos termos. A floresta aleatória produz fortes resultados em uma variedade de conjuntos de dados e não é incrivelmente sensível aos parâmetros de ajuste. Mas não é perfeito. Quanto mais você souber sobre o problema, mais fácil será criar modelos especializados para acomodar seu problema específico.

Existem alguns casos óbvios em que florestas aleatórias terão dificuldade:

  • Escassez - Quando os dados são muito escassos, é muito plausível que, para alguns nós, a amostra inicializada e o subconjunto aleatório de recursos colaborem para produzir um espaço invariante. Não existe uma divisão produtiva, portanto é improvável que os filhos desse nó sejam úteis. O XGBoost pode fazer melhor nesse contexto.

  • Os dados não estão alinhados ao eixo - Suponha que exista um limite de decisão diagonal no espaço de dois recursos, x1 1 e x2 . Mesmo que essa seja a única dimensão relevante para seus dados, será necessário um modelo de floresta aleatória comum muitas divisões para descrever esse limite diagonal. Isso ocorre porque cada divisão é orientada perpendicularmente ao eixo de x1 1 ou x2 . (Isso deve ser intuitivo porque um modelo de floresta aleatória comum está dividindo a forma x1 1>4.) A floresta de rotação, que executa uma projeção PCA no subconjunto de recursos selecionados para cada divisão, pode ser usada para superar isso: as projeções em uma base ortogonal reduzirão, em princípio, a influência da propriedade alinhada ao eixo, porque as divisões não será mais alinhado ao eixo na base original.

    Esta imagem fornece outro exemplo de como as divisões alinhadas ao eixo influenciam as decisões aleatórias da floresta. O limite de decisão é um círculo na origem, mas observe que esse modelo de floresta aleatória em particular desenha uma caixa para aproximar o círculo. Há várias coisas que podemos fazer para melhorar esse limite; o mais simples inclui reunir mais dados e construir mais árvores. insira a descrição da imagem aqui

  • As florestas aleatórias basicamente funcionam apenas em dados tabulares,isto é, não existe uma relação forte e qualitativamente importante entre os recursos, no sentido de os dados serem uma imagem ou as observações sendo conectadas em rede em um gráfico. Essas estruturas geralmente não são bem aproximadas por muitas partições retangulares. Se seus dados vivem em uma série temporal, ou são uma série de imagens, ou vivem em um gráfico, ou têm alguma outra estrutura óbvia, a floresta aleatória terá muito dificuldade em reconhecer isso. Não tenho dúvida de que os pesquisadores desenvolveram variações no método para tentar acomodar essas situações, mas uma floresta aleatória de baunilha não capta necessariamente essas estruturas de uma maneira útil. A boa notícia é que você normalmente sabe quando é esse o caso, ou seja, sabe que possui imagens, séries temporais ou gráficos para trabalhar,
Sycorax diz restabelecer Monica
fonte
Acho que florestas aleatórias de baunilha têm o potencial de reconhecer partições não retangulares. Podemos ter características quadráticas, por exemplo, e reconhecer limites como x ^ 2 <c.
Aniruddha Acharya
2
@AniruddhaAcharya eu disse "luta", não falha. Minha resposta aqui deixa claro que os recursos quadráticos não são um problema intransponível. Porém, diagonais ou quadráticas ou outros tipos de divisão não alinhados exigirão que as árvores se dividam nessas características repetidamente de maneira retangular para aproximar uma diagonal / curva. Você pode ver esse efeito no gráfico deste post: observe os cantos afiados. RF está usando um quadrado para aproximar um círculo.
Sycorax diz Restabelecer Monica
Eu quis dizer que alimentar os recursos quadráticos (e de outra ordem superior) com RF reduziria a luta na modelagem de partições não retangulares. Por exemplo, os RFs podem usar 2 quadráticos para aproximar o círculo em vez de usar um quadrado. Embora eu concorde que não é tão fácil quanto os modelos que incorporam a interação entre variáveis, acho que não é tão difícil porque os RFs não estão restritos ao uso de limites nos recursos brutos.
Aniruddha Acharya
11
@AniruddhaAcharya Se você sabe que termos quadrados são o modelo certo, não precisa de floresta aleatória: basta adicionar termos quadrados a um modelo linear. A RF é uma boa maneira de aproximar funções arbitrárias, especialmente quando elas têm funções de decisão alinhadas ao eixo.
Sycorax diz Restabelecer Monica
Por que a engenharia de recursos (termos quadráticos) sugerida por @AniruddhaAcharya não é uma etapa útil a ser usada em conjunto com as RFs? Sim, esses recursos podem ser adicionados a um modelo linear: mas o último não fornece o comportamento de combinar as contribuições de muitos resultados que são otimizados individualmente para diferentes subconjuntos dos recursos.
javadba
22

Cantos afiados. Exatidão.

Eles usam métodos de difusão. Eles se encaixam bem em coisas irregulares. Eles não se encaixam bem em itens elaborados e altamente detalhados quando o tamanho da amostra é baixo. Eu imagino que eles não se saem bem em dados de séries temporais multivariadas - quando algo aqui depende dessa coisa lá à distância.

As florestas com aumento de gradiente podem se encaixar ou se sobrepor, mas podem receber erros substancialmente mais baixos para os mesmos dados.

" Leathermen " não existem. Não há "balas de prata". Existem caixas de ferramentas. Conheça suas ferramentas e cuide bem delas para que elas possam cuidar de você. Desconfie de "quando você é um martelo, todo problema parece um prego", especialmente quando você não tem uma biblioteca densa na sua caixa de ferramentas.

Até você conhecer bem o problema, é fácil imaginar que algo possa resolvê-lo ou sua ferramenta favorita pode resolvê-lo. A sabedoria sugere aprofundar-se na compreensão do problema e familiarizar-se com suas ferramentas.

Adicionado: se você tiver recursos de computação ou margem de tempo suficientes para usar outra coisa. O RF não é apenas rápido para treinar, mas rápido para executar. Uma estrutura reforçada muito profunda é menos disso. Você tem que ter a sobrecarga para apoiar isso.

EngrStudent - Restabelecer Monica
fonte
2
Para ser o advogado do diabo aqui: nada " ajustará bem as coisas elaboradas e altamente detalhadas quando o tamanho da amostra for baixo " .
usεr11852 diz Reinstate Monic
5

Esta é a primeira vez que eu realmente respondo a uma pergunta, portanto, não me prenda a isso .. mas acho que posso responder sua pergunta:

Se você está realmente interessado apenas no desempenho do modelo e não em algo como a floresta aleatória de interpretabilidade, muitas vezes é um algoritmo de aprendizado muito bom, mas apresenta um desempenho um pouco pior nos seguintes casos:

1.) Quando a dimensionalidade (número de características) é muito alta em relação ao número de amostras de treinamento, nesses casos, uma regressão linear regularizada ou SVM seria melhor.

2.) No caso, há representações de ordem superior / estruturas convolucionais nos dados, como, por exemplo, problemas de visão computacional. Nesses casos de visão computacional, uma rede neural convolucional supera uma floresta aleatória (em geral, se houver conhecimento que possa ser incorporado ao aprendizado, isso é uma coisa melhor).

Dito isto, a floresta aleatória é um bom ponto de partida. Uma das pessoas que eu admiro por suas habilidades de aprendizado de máquina sempre começa com o aprendizado de uma floresta aleatória e um regressor linear regularizado.

No entanto, se você deseja o melhor desempenho possível, acredito que hoje em dia as redes neurais aka. O Deep Learning parece uma abordagem muito atraente. Mais e mais vencedores em sites de desafio de dados como o Kaggle usam modelos de Aprendizado Profundo para a competição. Outro profissional das redes neurais é que elas podem lidar com um número muito grande de amostras (> 10 ^ 6, pode-se treiná-las usando descida de gradiente estocástico, alimentando bits de dados por vez). Pessoalmente, acho isso um profissional muito atraente para o Deep Learning.

MJW
fonte
2
Boa resposta, mas seu último ponto não está correto: o treinamento em mini-lotes pode ser implementado para todos os algoritmos comuns de aprendizado de máquina, veja, por exemplo, h2o .
Jubo
Oke, interessante, eu não sabia disso. Você está dizendo que, usando esses métodos, é possível treinar uma árvore (de decisão) usando o aprendizado em mini-lote / SGD e, assim, construir uma única árvore com base na divisão majoritária dos dados totais do treinamento (digamos 65%)?
MJW
11
Acho que a floresta aleatória ainda deve ser boa quando o número de recursos é alto - apenas não use muitos recursos ao mesmo tempo ao criar uma única árvore e, no final, você terá uma floresta de classificadores independentes que coletivamente devem ( espero) fazer bem.
Alexey Grigorev
Tanto quanto eu entendo, o h2o usa o paradigma de redução de mapa para o treinamento de minibatch. Árvores únicas (CART) não são implementadas como tal no h2o (mas suponho que uma árvore não podada seja um caso especial de floresta aleatória com apenas uma árvore e a escolha máxima de preditores?).
Jubo
2
Qual é a justificativa para (1)? Você faz uma reclamação, mas não fornece nenhum argumento de apoio.
Sycorax diz Restabelecer Monica 01/01
0

Primeiro, a Floresta Aleatória não pode ser aplicada aos seguintes tipos de dados:

  • imagens
  • audio
  • texto (depois que os dados de pré-processamento ficarem escassos e a RF não funcionar bem com dados esparsos)

Para o tipo de dados tabulares, é sempre bom verificar Floresta Aleatória porque:

  • requer menos preparação e pré-processamento de dados do que as redes neurais ou SVMs. Por exemplo, você não precisa fazer o dimensionamento de recursos.
  • Para o treinamento de floresta aleatória, você pode simplesmente usar parâmetros padrão e definir o número de árvores ( quanto mais árvores na RF, melhor ). Quando você compara a floresta aleatória às redes neurais , o treinamento é muito fácil (não é necessário definir arquitetura nem ajustar o algoritmo de treinamento). A floresta aleatória é mais fácil de treinar do que as redes neurais.
pplonski
fonte