Blog: Carreira na Área de Dados

 

Fala, galera! Nesse blog irei contar um pouco sobre minha trajetória: dificuldades, cursos, parte técnica, soft skills, experiências no mercado de trabalho e muito mais!

Bootstrap em Machine Learning

Aug 19, 2024
Bootstrap

Esses dias estive falando sobre Teorema de Limite Central e também de bootstrap.
Bootstrap é um conceito bem importante na Estatística e é utilizado em algoritmos de Machine Learning, como por exemplo nas árvores de decisão. Você sabia?

 

O Que é o Bootstrap?

Antes de mergulharmos no bootstrap especificamente para árvores de decisão, vamos entender o que é o bootstrap em termos mais gerais. Bootstrap é uma técnica estatística que envolve a criação de várias amostras a partir de um único conjunto de dados original, com reposição. Em outras palavras, você pega o seu conjunto de dados, seleciona aleatoriamente alguns exemplos (com reposição, ou seja, pode escolher o mesmo exemplo mais de uma vez), e cria uma nova amostra do mesmo tamanho da original. Isso é feito várias vezes, gerando diversas amostras diferentes.

Mas por que alguém faria isso? O objetivo do bootstrap é estimar a variabilidade de uma estatística (como a média ou o desvio padrão) de uma maneira que não dependa de suposições rígidas sobre a distribuição dos dados. Ele é especialmente útil quando você não pode fazer essas suposições ou quando seu conjunto de dados é pequeno. É como se você estivesse “simulando” a repetição do experimento várias vezes, o que ajuda a entender melhor a incerteza das suas estimativas.

 

Introduzindo o Bagging

Agora que você entende o que é bootstrap, vamos falar sobre bagging. Bagging, ou Bootstrap Aggregating, é uma técnica que combina o bootstrap com o conceito de agregação para melhorar a precisão e a estabilidade dos modelos preditivos, especialmente aqueles que têm alta variância, como as árvores de decisão.

Vamos colocar dessa forma: imagine que você tem várias árvores de decisão, mas cada uma delas pode ter uma performance um pouco diferente dependendo dos dados de treinamento que você usou. Como as árvores de decisão são muito sensíveis a variações nos dados de treinamento (um fenômeno conhecido como alta variância), uma pequena mudança nos dados pode resultar em uma árvore muito diferente.

O bagging resolve isso treinando várias árvores de decisão, cada uma em um conjunto de dados diferente criado via bootstrap. Depois, ele combina as previsões de todas essas árvores (por exemplo, tirando uma média ou usando a maioria das votações) para fazer a previsão final. Isso ajuda a reduzir a variância do modelo final, tornando-o mais robusto e menos propenso a overfitting.

 

Por Que Usar Bagging com Árvores de Decisão?

Talvez você esteja se perguntando: “Mas por que eu deveria me preocupar com isso?” A resposta está na performance do modelo. Como mencionei antes, as árvores de decisão, apesar de serem intuitivas e fáceis de interpretar, podem ser bastante instáveis. Isso significa que se você dividir seu conjunto de dados original em duas partes e treinar uma árvore de decisão em cada parte, é bem possível que você acabe com duas árvores bem diferentes. Essa instabilidade é problemática, pois significa que seu modelo pode não generalizar bem para novos dados.

O bagging vem para o resgate ao “suavizar” essas variações. Ao treinar várias árvores de decisão em diferentes amostras bootstrap e depois agregá-las, você obtém um modelo final que é muito mais estável e preciso. Essa abordagem é tão eficaz que é a base de algoritmos poderosos como o Random Forest, que nada mais é do que um conjunto de árvores de decisão treinadas com bagging e uma pitada de aleatoriedade extra na escolha das características usadas para dividir os nós das árvores.

 

Como Funciona na Prática?

Vamos ver como isso funciona na prática. Suponha que você tenha um conjunto de dados com 100 observações. Para aplicar o bagging, você geraria, digamos, 10 novos conjuntos de dados, cada um com 100 observações selecionadas aleatoriamente com reposição do conjunto original. Cada uma dessas amostras bootstrap pode ter observações repetidas e algumas observações do conjunto original podem nem aparecer.

Depois, você treina uma árvore de decisão em cada um desses 10 novos conjuntos de dados. Como cada árvore foi treinada em dados ligeiramente diferentes, elas podem fazer previsões diferentes. Por fim, você combina as previsões dessas árvores. Se for um problema de classificação, você pode usar a votação da maioria; se for um problema de regressão, pode tirar a média das previsões. Esse processo reduz a variância do modelo e melhora sua capacidade de generalização.

 

Vantagens e Desvantagens do Bagging

Como qualquer técnica, o bagging tem suas vantagens e desvantagens. A principal vantagem é a redução da variância, o que resulta em modelos mais estáveis e precisos. Além disso, como o bagging é fácil de implementar e funciona bem com árvores de decisão (e muitos outros modelos), é uma técnica bastante popular em machine learning.

Por outro lado, uma desvantagem é que o bagging pode aumentar o tempo de treinamento, especialmente se você estiver trabalhando com um grande número de árvores ou se o conjunto de dados for muito grande. Também pode resultar em um modelo final que é mais difícil de interpretar, já que ele é a combinação de muitas árvores. Se a interpretabilidade é crucial para você, talvez seja necessário equilibrar a precisão com a simplicidade.

 

Conclusão

Em resumo, o bootstrap e o bagging são ferramentas poderosas no arsenal de um cientista de dados. Eles ajudam a criar modelos mais estáveis e precisos, especialmente quando combinados com árvores de decisão, que são naturalmente propensas a alta variância. Ao entender e aplicar essas técnicas, você pode melhorar significativamente a performance dos seus modelos preditivos, tornando-os mais robustos e confiáveis.

Espero que essa explicação tenha esclarecido suas dúvidas sobre o uso de bootstrap e bagging em árvores de decisão. Se você tiver mais perguntas ou quiser discutir outras técnicas, estou aqui para continuar essa conversa!

NEWSLETTER

Quer ficar por dentro de novidades, dicas e conteúdos da área de dados?

Inscreva-se, então, em nossa newsletter e não perca as novidades do blog.

Você está seguro. Nunca te mandaremos spams ou venderemos seu contato.