Florestas aleatórias e seleção de arquiteturas

Concluído

A experimentação com arquiteturas é muitas vezes um foco chave da construção de modelos modernos eficazes. Fizemo-lo a um nível básico com árvores de decisão, mas o único limite para isso é a nossa imaginação e, talvez, a memória do nosso computador. Na verdade, pensar mais amplamente em árvores de decisão resultou em uma arquitetura de modelo altamente popular que reduz a tendência de suas árvores de decisão 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 juntas para estimar qual rótulo uma amostra deve ser atribuída. Por exemplo, se fôssemos treinar uma floresta aleatória para prever vencedores de medalhas, poderíamos treinar 100 árvores de decisão diferentes. Para fazer uma previsão, usaríamos todas as árvores de forma independente. Estes efetivamente "votariam" se o atleta ganharia uma medalha, fornecendo uma decisão final.

Como é treinada uma floresta aleatória?

As florestas aleatórias são construídas com base na ideia de que, embora uma única árvore de decisão seja altamente tendenciosa, ou sobreadequada, se treinarmos várias árvores de decisão, elas serão tendenciosas de maneiras diferentes. Isso requer que cada árvore seja treinada de forma independente e cada uma em um conjunto de treinamento ligeiramente diferente.

Para treinar uma única árvore de decisão, um certo número de amostras – atletas em nosso cenário – são extraídas do conjunto completo de treinamento. Cada amostra pode ser selecionada mais de uma vez, e isso ocorre aleatoriamente. A árvore é então treinada da maneira padrão. Este processo é repetido para cada árvore. Como cada árvore recebe uma combinação diferente de exemplos de treinamento, cada árvore acaba treinada, e tendenciosa, de forma diferente das outras.

Vantagens da floresta aleatória

O desempenho de florestas aleatórias é muitas vezes impressionante e, portanto, as comparações geralmente são melhor feitas contra 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 que você faça isso em apenas algumas linhas de código. Florestas aleatórias também são rápidas de treinar e não precisam de grandes conjuntos de dados para ter um bom desempenho. Isso os separa das redes neurais, que muitas vezes podem levar minutos ou dias para treinar, exigem experiência substancial e muitas vezes exigem conjuntos de dados muito grandes. As decisões arquitetônicas para florestas aleatórias são, embora mais complexas do que modelos como a regressão linear, muito mais simples do que as redes neurais.

Desvantagens da floresta aleatória

A grande 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 geralmente contêm tantas árvores que fazê-lo é praticamente impossível.

Como posso personalizar essas arquiteturas?

Como vários modelos, as florestas aleatórias têm várias opções arquitetônicas. O mais fácil de considerar é o tamanho da floresta: quantas árvores estão envolvidas, juntamente com o tamanho dessas árvores. Por exemplo, seria possível solicitar uma floresta para prever vencedores de medalhas contendo 100 árvores, cada uma com uma profundidade máxima de seis nós. Isso significa que a decisão final sobre se um atleta ganhará uma medalha deve ser tomada com no máximo seis declarações "se".

Como já aprendemos, aumentar o tamanho de uma árvore (em termos de profundidade ou número de folhas) torna mais provável que ela sobreajuste os dados sobre os quais ela é treinada. Esta limitação também se aplica a florestas aleatórias. No entanto, com florestas aleatórias, podemos combater isso aumentando o número de árvores, assumindo que cada árvore será enviesada de uma maneira diferente. Também podemos restringir cada árvore a apenas um certo número de características, ou não permitindo que folhas sejam criadas quando isso faria apenas uma diferença marginal no desempenho do treinamento. A capacidade de uma floresta aleatória fazer boas previsões não é infinita. Em algum momento, aumentar o tamanho e o número de árvores não dá mais nenhuma melhoria devido à variedade limitada de dados de treinamento que temos.