Random forest é um algoritmo de aprendizado de máquina amplamente utilizado, registrado por Leo Breiman e Adele Cutler, que combina a saída de múltiplas decision trees para alcançar um único resultado. Sua facilidade de uso e flexibilidade impulsionaram sua adoção, pois lida com problemas de classificação e regression.
Como o modelo de random forest (floresta aleatória) é composto por várias árvores de decisão, vale a pena começar com uma breve descrição do algoritmo de árvore de decisão. As árvores de decisão começam com uma pergunta básica, como: “Devo surfar?”. A partir daí, você pode fazer uma série de perguntas para determinar uma resposta, como: “São ondas de longa duração?” ou “O vento está soprando para o mar?”. Essas perguntas formam os nós de decisão na árvore, atuando como um meio de dividir os dados. Cada pergunta ajuda um indivíduo a chegar a uma decisão final, que seria denotada pelo nó folha. Observações que atendem aos critérios seguirão o ramo “Sim“, enquanto aquelas que não atendem seguirão o caminho alternativo. As árvores de decisão buscam encontrar a melhor divisão para subconjuntos de dados, e geralmente são treinadas pelo 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 usadas para avaliar a qualidade da divisão.
Esta decision tree é um exemplo de um problema de classificação, onde os rótulos de classe são "surfar" e "não surfar".
Embora as decision trees sejam algoritmos de aprendizado supervisionado comuns, elas podem estar sujeitas a problemas, como viés e overfitting. No entanto, quando múltiplas decision trees formam um conjunto no algoritmo de random forest, elas preveem resultados mais precisos, particularmente quando as trees individuais não estão correlacionadas entre si.
Métodos de aprendizado de conjunto são compostos por um conjunto de classificadores (p. ex., árvores de decisão) e suas previsões são agregadas para identificar o resultado mais popular. Os métodos de conjunto mais conhecidos são bagging (também conhecido como agregação bootstrap) e boosting. Em 1996, Leo Breiman (link externo ao site ibm.com) introduziu o método bagging. Nele, uma amostra aleatória de dados em um conjunto de treinamento é selecionada com substituição, o que significa que os pontos de dados individuais podem ser escolhidos mais de uma vez. Após a geração de várias amostras de dados, esses modelos são então treinados de forma independente, e dependendo do tipo de tarefa (p. ex., regressão ou classificação), a média ou a maioria dessas previsões resulta em uma estimativa mais precisa. Essa abordagem é muito usada para reduzir a variância em um conjunto de dados com ruído.
O algoritmo random forest é uma extensão do método bagging, pois utiliza tanto bagging quanto aleatoriedade de características para criar uma floresta não correlacionada de árvores de decisão. A aleatoriedade de características, também conhecida como “feature bagging” ou “método do subespaço aleatório” (link externo ao site ibm.com), gera um subconjunto aleatório de características, o que garante baixa correlação entre as árvores de decisão. Essa é uma diferença fundamental entre árvores de decisão e random forests. Enquanto as árvores de decisão consideram todas as possíveis divisões de características, as random forests selecionam apenas um subconjunto dessas características.
Se voltarmos à questão do "devo surfar?", por exemplo, as perguntas que posso fazer para determinar a previsão podem não ser tão abrangentes quanto o conjunto de perguntas de outra pessoa. Ao considerar toda a variabilidade potencial nos dados, podemos reduzir o risco de overfitting, viés e variância geral, resultando em previsões mais precisas.
Os algoritmos de random forest têm três principais hiperparâmetros, que precisam ser definidos antes do treinamento. Estes incluem o tamanho dos nós, o número de trees e o número de características amostradas. A partir daí, o classificador de random forest pode ser usado para resolver problemas de regression ou classificação.
O algoritmo de random forest é composto por uma coleção de decision trees, e cada tree no conjunto é formada por uma amostra de dados retirada de um conjunto de treinamento com reposição, chamada de amostra bootstrap. Dessa amostra de treinamento, um terço é reservado como dados de teste, conhecidos como amostra out-of-bag (oob), sobre os quais voltaremos mais tarde. Outra instância de aleatoriedade é então introduzida através do feature bagging, adicionando mais diversidade ao conjunto de dados e reduzindo a correlação entre as decision trees. Dependendo do tipo de problema, a determinação da previsão varia. Para uma tarefa de regression, será feita a média das decision trees individuais. Para uma tarefa de classificação, a maioria dos votos (ou seja, a variável categórica mais frequente) resultará na classe prevista. Por fim, a amostra oob é usada para validação cruzada, finalizando essa previsão.
Existem várias vantagens e desafios importantes que o algoritmo de random forest apresenta quando usado para problemas de classificação ou regression. Alguns deles incluem:
O algoritmo de random forest tem sido aplicado em vários setores, permitindo que eles tomem decisões de negócios mais informadas. Alguns casos de uso são:
O IBM® Granite é nossa família de modelos de IA abertos, de alto desempenho e confiáveis, personalizados para a empresa e otimizados para escalar suas aplicações de IA. Explore as opções de linguagem, código, séries temporais e proteções.
Entrevistamos duas mil organizações a respeito de suas iniciativas de IA para descobrir o que está funcionando, o que não está e como se preparar.
Explore abordagens de aprendizado supervisionado, como máquinas de vetores de suporte e classificadores probabilísticos.
Aprenda conceitos fundamentais e desenvolva suas habilidades com laboratórios práticos, cursos, projetos guiados, avaliações e muito mais.
Saiba como selecionar o modelo de base de IA mais adequado para seu caso de uso.
Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.
Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.