Floresta aleatória é um algoritmo de machine learning comumente usado, com marca registrada por Leo Breiman e Adele Cutler, que combina a saída de várias árvores de decisão para alcançar um único resultado. Sua facilidade de uso e flexibilidade incentivaram a sua adoção, pois lida tanto com problemas de classificação quanto de regressão.
Uma vez que o modelo de floresta aleatória é composto por várias árvores de decisão, seria útil começar por descrever o algoritmo de árvore de decisão resumidamente. As árvores de decisão começam com uma pergunta básica, como "devo navegar?" A partir daí, é possível fazer uma série de perguntas para determinar uma resposta, como "você pode perguntar uma série de perguntas para determinar uma resposta, como "as ondas são de longo período?" ou "o vento está soprando em alto mar?". Essas perguntas formam os nós de decisão na árvore, agindo como um meio de dividir os dados. Cada pergunta ajuda um indivíduo a chegar a uma decisão final, que seria indicada pelo nó folha. Observações que se enquadram nos critérios seguirão a ramificação "Sim" e aquelas que não se enquadram seguirão um caminho alternativo. As árvores de decisão buscam a melhor divisão para criar subconjuntos de dados e elas são geralmente treinadas por meio do algoritmo de árvore de classificação e regressão (CART). Métricas, como impureza de Gini, ganho de informação ou erro quadrático médio (MSE), podem ser utilizadas para avaliar a qualidade da divisão.
Esta árvore de decisão é um exemplo de um problema de classificação, em que os rótulo de classe são "navegar" e "não navegar".
Embora as árvores de decisão sejam algoritmos de aprendizado supervisionados comuns, elas podem ser propensas a problemas, como viés e super ajuste. No entanto, quando várias árvores de decisão formam uma combinação no algoritmo de floresta aleatória, elas preveem resultados mais precisos, principalmente quando as árvores individuais não estão correlacionadas entre si.
Os métodos de combinação de aprendizado são compostos por um conjunto de classificadores, por exemplo, árvores de decisão, e suas previsões são agregadas para identificar o resultado mais popular. Os métodos de combinação mais conhecidos são bagging, também conhecido como agregação de bootstrap, e boosting. Em 1996, Leo Breiman (link externo à ibm.com) (PDF, 810 KB) apresentou o método de bagging. Neste método, uma amostra aleatória de dados em um conjunto de treinamento é selecionada com uma substituição, significando que os pontos de dados individuais podem ser escolhidos mais de uma vez. Após gerar várias amostras de dados, esses modelos são treinados de forma independente e, de acordo com o tipo de tarefa, como por exemplo, regressão ou classificação, a média ou a maioria dessas previsões geram uma estimativa mais precisa. Essa abordagem é geralmente usada para reduzir a variância dentro de um conjunto de dados ruidoso.
O algoritmo de floresta aleatória é uma extensão do método de bagging, pois utiliza tanto o bagging quanto a aleatoriedade de recursos para criar uma floresta de árvores de decisão não correlacionadas. Aleatoriedade de recursos, também conhecido como bagging de recursos ou "o método de subespaço aleatório" (link externo à ibm.com) (PDF, 121 KB), gera um subconjunto aleatório de recursos, que garante baixa correlação entre as árvores decisão. Esta é uma principal diferença entre árvores de decisão e florestas aleatórias. Enquanto as árvores de decisão consideram todas as possíveis divisões de recursos, as florestas aleatórias selecionam apenas um subconjunto desses recursos.
Se voltarmos ao exemplo de "devo navegar?", as perguntas que posso perguntar para determinar a previsão podem não ser tão abrangentes quanto o conjunto de perguntas de outra pessoa. Considerando todas as potenciais variabilidades nos dados, podemos reduzir o risco de super ajuste, viés e variância geral, resultando em previsões mais precisas.
SPSS Modeler
Os algoritmos de floresta aleatória possuem três hiperparâmetros principais, os quais devem ser definidos antes do treinamento. Estes incluem o tamanho do nó, o número de árvores e o número de recursos amostrados. A partir daí, o classificador de floresta aleatória pode ser usado para resolver problemas de regressão ou classificação.
O algoritmo de floresta aleatória é composto por uma coleção de árvores de decisão, sendo que cada árvore na combinação é composta por uma amostra de dados extraída de um conjunto de treinamento com substituição, chamada de amostra bootstrap. Dessa amostra de treinamento, um terço dela é separado como dados de teste, conhecida como amostra out-of-bag (OOB), a qual iremos abordar mais tarde. Outra instância de aleatoriedade é então injetada por meio do bagging de recursos, incluindo mais diversidade ao conjunto de dados e reduzindo a correlação entre as árvores de decisão. Dependendo do tipo de problema, a determinação da previsão irá variar. Para uma tarefa de regressão, as árvores de decisão individuais terão suas médias calculadas, e para uma tarefa de classificação, um voto da maioria, ou seja, a variável categórica mais frequente, produzirá a classe prevista. Por fim, a amostra OOB é então utilizada para validação cruzada, finalizando esse previsão.
Existem uma série de vantagens e desafios importantes que o algoritmo de floresta aleatória apresenta quando usado para problemas de classificação ou regressão. Alguns destes incluem:
O algoritmo de floresta aleatória foi aplicado em uma série de setores, permitindo-lhes tomar melhores decisões de negócios. Alguns dos casos de uso mais comuns incluem:
O IBM SPSS Modeler oferece análise preditiva para ajudá-lo a descobrir padrões de dados, obter precisão preditiva e melhorar a tomada de decisão.
Saiba como organizações em todo o mundo usam o SPSS Modeler para preparação e descoberta de dados, análise preditiva, gerenciamento e implementação de modelos e ML para monetizar ativos de dados.
Saiba como uma rede neural cuidadosamente projetada com uma estrutura de floresta aleatória pode ter melhor capacidade de generalização.