Uma introdução simples às florestas aleatórias
Quando a relação entre um conjunto de variáveis preditoras e uma variável de resposta é muito complexa, frequentemente usamos métodos não lineares para modelar a relação entre elas.
Um desses métodos são as árvores de classificação e regressão (geralmente abreviadas como CART), que usam um conjunto de variáveis preditoras para criar árvores de decisão que predizem o valor de uma variável de resposta.
A vantagem das árvores de decisão é que elas são fáceis de interpretar e visualizar. O problema é que eles tendem a sofrer de alta variância . Ou seja, se dividirmos um conjunto de dados em duas metades e aplicarmos uma árvore de decisão a ambas as metades, os resultados poderão ser muito diferentes.
Uma forma de reduzir a variância das árvores de decisão é utilizar um método conhecido como bagging , que funciona da seguinte forma:
1. Pegue b amostras inicializadas do conjunto de dados original.
2. Crie uma árvore de decisão para cada amostra de bootstrap.
3. Calcule a média das previsões de cada árvore para obter um modelo final.
A vantagem desta abordagem é que um modelo agrupado geralmente fornece uma melhoria na taxa de erro de teste em comparação com uma única árvore de decisão.
A desvantagem é que as previsões da coleta de árvores ensacadas podem ser altamente correlacionadas se houver um preditor muito forte no conjunto de dados. Nesse caso, a maioria ou todas as árvores ensacadas usarão esse preditor para a primeira divisão, resultando em árvores semelhantes entre si e com previsões altamente correlacionadas.
Portanto, quando calculamos a média das previsões de cada árvore para chegar a um modelo final, é possível que este modelo não reduza realmente a variância em comparação com uma única árvore de decisão.
Uma maneira de contornar esse problema é usar um método conhecido como florestas aleatórias .
O que são florestas aleatórias?
Semelhante ao ensacamento, as florestas aleatórias também coletam amostras inicializadas de um conjunto de dados original.
No entanto, ao construir uma árvore de decisão para cada amostra de bootstrap, cada vez que uma divisão em uma árvore é considerada, apenas uma amostra aleatória de m preditores é considerada candidata à divisão entre o conjunto completo de p preditores.
Então aqui está o método completo que as florestas aleatórias usam para criar um modelo:
1. Pegue b amostras inicializadas do conjunto de dados original.
2. Crie uma árvore de decisão para cada amostra de bootstrap.
- Ao construir a árvore, cada vez que uma divisão é considerada, apenas uma amostra aleatória de m preditores é considerada candidata à divisão do conjunto completo de p preditores.
3. Calcule a média das previsões de cada árvore para obter um modelo final.
Usando este método, a coleção de árvores em uma floresta aleatória é decorada em relação às árvores produzidas pelo ensacamento.
Portanto, quando tomamos as previsões médias de cada árvore para chegar a um modelo final, ele tende a ter menos variabilidade e resulta em uma taxa de erro de teste mais baixa do que um modelo empacotado.
Ao usar florestas aleatórias, geralmente consideramos os preditores m = √ p como candidatos divididos cada vez que dividimos uma árvore de decisão.
Por exemplo, se tivermos p = 16 preditores no total em um conjunto de dados, geralmente consideramos apenas m = √16 = 4 preditores como potenciais candidatos para cada divisão.
Nota técnica:
Curiosamente, se escolhermos m = p (ou seja, considerarmos todos os preditores como candidatos em cada divisão), isso será simplesmente equivalente a usar bagging.
Estimativa de erros fora da sacola
Semelhante ao ensacamento, podemos calcular o erro de teste de um modelo de floresta aleatório usando estimativa fora do saco .
Pode ser mostrado que cada amostra bootstrap contém aproximadamente 2/3 das observações do conjunto de dados original. O terço restante das observações não utilizadas para ajustar a árvore são chamadas de observações out-of-bag (OOB) .
Podemos prever o valor da i-ésima observação no conjunto de dados original obtendo a previsão média de cada uma das árvores nas quais essa observação era OOB.
Podemos usar esta abordagem para fazer uma previsão para todas as n observações no conjunto de dados original e assim calcular uma taxa de erro, que é uma estimativa válida do erro de teste.
A vantagem de usar esta abordagem para estimar o erro do teste é que ela é muito mais rápida do que a validação cruzada k-fold , especialmente quando o conjunto de dados é grande.
As vantagens e desvantagens das florestas aleatórias
As florestas aleatórias oferecem as seguintes vantagens :
- Na maioria dos casos, as florestas aleatórias oferecerão uma melhoria na precisão em relação aos modelos empacotados e especialmente às árvores de decisão única.
- Florestas aleatórias são robustas a valores discrepantes.
- Nenhum pré-processamento é necessário para usar florestas aleatórias.
No entanto, as florestas aleatórias têm as seguintes desvantagens potenciais:
- Eles são difíceis de interpretar.
- Eles podem ser computacionalmente intensivos (ou seja, lentos) para utilizar grandes conjuntos de dados.
Na prática, os cientistas de dados normalmente usam florestas aleatórias para maximizar a precisão preditiva, portanto, o fato de não serem facilmente interpretáveis geralmente não é um problema.