Florestas aleatórias e seleção de arquiteturas

Concluído

Em geral, a experimentação com arquiteturas é um foco fundamental da criação de modelos modernos eficazes. Isso foi feito de maneira mais básica com as árvores de decisão, mas o único limite para isso é sua imaginação e, talvez, a memória do seu computador. Na verdade, pensar mais amplamente sobre as árvores de decisão resultou em uma arquitetura de modelo muito popular que reduz a tendência delas de sobreajustar os dados.

O que é uma floresta aleatória?

Uma floresta aleatória é uma coleção de árvores de decisão que são usadas em conjunto para estimar qual rótulo um exemplo deve receber. Por exemplo, se formos treinar uma floresta aleatória para prever os atletas que ganharam medalhas, poderemos treinar 100 árvores de decisão diferentes. Para fazer uma previsão, usaremos todas as árvores de maneira independente. Elas efetivamente “votarão” se o atleta ganhará uma medalha, fornecendo uma decisão final.

Como uma floresta aleatória é treinada?

As florestas aleatórias são criadas com base na ideia de que, embora uma só árvore de decisão seja altamente parcial ou sobreajustada, se treinarmos várias árvores de decisão, elas serão parciais de maneiras diferentes. Isso exige que cada árvore seja treinada de modo independente, e cada uma em um conjunto de treinamento ligeiramente diferente.

Para treinar uma só árvore de decisão, um certo número de exemplos, os atletas neste cenário, são extraídos do conjunto de treinamento completo. Cada exemplo pode ser selecionado mais de uma vez, e isso ocorre aleatoriamente. Em seguida, a árvore é treinada da maneira padrão. Esse processo é repetido para cada árvore. Como cada árvore obtém uma combinação diferente de exemplos de treinamento, cada árvore acaba sendo treinada e ficando parcial de maneira diferente das outras.

Vantagens da floresta aleatória

O desempenho das florestas aleatórias costuma ser impressionante e, portanto, as comparações geralmente são feitas melhor em redes neurais, que são outro tipo de modelo popular e de alto desempenho. Ao contrário das redes neurais, os modelos de floresta aleatória são fáceis de treinar: as estruturas modernas fornecem métodos úteis que permitem fazer isso em apenas algumas linhas de código. As florestas aleatórias também são rápidas de serem treinadas e não precisam de conjuntos de dados grandes para ter um bom desempenho. Isso os diferencia das redes neurais, que geralmente podem levar minutos ou dias para serem treinadas, requerem grande experiência e costumam exigir conjuntos de dados muito grandes. As decisões de arquitetura para as florestas aleatórias são, embora mais complexas do que os modelos como a regressão linear, muito mais simples do que para as redes neurais.

Desvantagens da floresta aleatória

A principal desvantagem das florestas aleatórias é que elas são difíceis de entender. Especificamente, embora esses modelos sejam totalmente transparentes (cada árvore pode ser inspecionada e compreendida), eles costumam conter tantas árvores que fazer isso seria praticamente impossível.

Como posso personalizar essas arquiteturas?

Assim como vários modelos, as florestas aleatórias têm várias opções de arquitetura. A forma mais fácil de entender isso é considerar simplesmente o tamanho da floresta: quantas árvores estão envolvidas, além do tamanho delas. Por exemplo, é possível solicitar a uma floresta contendo 100 árvores, cada uma com uma profundidade máxima de seis nós, que preveja os atletas que ganharão uma medalha. Isso significa que a decisão final sobre se um atleta ganhará uma medalha precisa ser tomada com, no máximo, seis instruções if.

Como você já viu, aumentar o tamanho de uma árvore (em termos de profundidade ou número de folhas) torna mais provável o sobreajuste dos dados com base nos quais ela é treinada. Essa limitação também se aplica às florestas aleatórias. No entanto, com as florestas aleatórias, podemos combater isso aumentando o número de árvores, supondo que cada árvore será parcial de uma forma diferente. Também é possível restringir cada árvore a apenas um determinado número de características ou não permitir que folhas sejam criadas quando isso fizer apenas uma diferença pequena no desempenho do treinamento. A capacidade de uma floresta aleatória fazer boas previsões não é infinita. Em certo momento, aumentar o tamanho e o número de árvores não oferece mais aprimoramentos devido à variedade limitada de dados de treinamento existentes.