Fundamentos de IA

O que é Aprendizado de Ensemble?

mm
Adicione Unite.AI às suas fontes preferidas no Google

Uma das técnicas de aprendizado de máquina mais poderosas é o aprendizado de ensemble. O aprendizado de ensemble é o uso de múltiplos modelos de aprendizado de máquina para melhorar a confiabilidade e a precisão das previsões. No entanto, como o uso de múltiplos modelos de aprendizado de máquina leva a previsões mais precisas? Quais técnicas são usadas para criar modelos de aprendizado de ensemble? Vamos explorar as respostas a essas perguntas, analisando a lógica por trás do uso de modelos de ensemble e as principais maneiras de criá-los.

O que é Aprendizado de Ensemble?

Em resumo, o aprendizado de ensemble é o processo de treinar múltiplos modelos de aprendizado de máquina e combinar suas saídas. Os diferentes modelos são usados como base para criar um modelo preditivo ótimo. Combinar um conjunto diversificado de modelos de aprendizado de máquina individuais pode melhorar a estabilidade do modelo geral, levando a previsões mais precisas. Os modelos de aprendizado de ensemble são frequentemente mais confiáveis do que os modelos individuais, e, como resultado, eles muitas vezes ocupam o primeiro lugar em muitas competições de aprendizado de máquina.

Existem diferentes técnicas que um engenheiro pode usar para criar um modelo de aprendizado de ensemble. As técnicas de aprendizado de ensemble simples incluem coisas como calcular a média das saídas de diferentes modelos, enquanto existem métodos mais complexos e algoritmos desenvolvidos especialmente para combinar as previsões de muitos modelos/base de aprendizado.

Por que usar métodos de treinamento de ensemble?

Os modelos de aprendizado de máquina podem ser diferentes entre si por uma variedade de razões. Diferentes modelos de aprendizado de máquina podem operar em diferentes amostras dos dados da população, diferentes técnicas de modelagem podem ser usadas e uma hipótese diferente pode ser usada.

Imagine que você está jogando um jogo de trivia com um grande grupo de pessoas. Se você estiver em uma equipe sozinho, há certas áreas em que você terá conhecimento e muitas áreas em que você não terá conhecimento. Agora, suponha que você esteja em uma equipe com outras pessoas. Assim como você, elas terão algum conhecimento sobre suas próprias especialidades e nenhum conhecimento sobre outras áreas. No entanto, quando o conhecimento de vocês for combinado, vocês terão palpites mais precisos para mais campos e o número de áreas em que sua equipe não tem conhecimento diminuirá. Esse é o mesmo princípio que subjaz ao aprendizado de ensemble, combinando as previsões de diferentes membros da equipe (modelos individuais) para melhorar a precisão e minimizar erros.

Estatísticos provaram que, quando uma multidão de pessoas é solicitada a adivinhar a resposta certa para uma pergunta com uma variedade de respostas possíveis, todas as respostas formam uma distribuição de probabilidade. As pessoas que realmente conhecem a resposta certa escolherão a resposta certa com confiança, enquanto as pessoas que escolhem as respostas erradas distribuirão suas suposições entre a variedade de respostas erradas possíveis. Voltando ao exemplo do jogo de trivia, se você e seus dois amigos sabem que a resposta certa é A, todos os três votarão em A, enquanto as três outras pessoas em sua equipe que não sabem a resposta provavelmente votarão em B, C, D ou E. O resultado é que A tem três votos e as outras respostas provavelmente terão apenas um ou dois votos no máximo.

Todos os modelos têm algum tipo de erro. Os erros de um modelo serão diferentes dos erros produzidos por outro modelo, pois os modelos em si são diferentes pelas razões descritas acima. Quando todos os erros são examinados, eles não estarão agrupados em torno de uma resposta ou outra, mas sim espalhados. As suposições erradas são essencialmente distribuídas por todas as respostas erradas possíveis, cancelando-se mutuamente. Enquanto isso, as suposições corretas dos diferentes modelos estarão agrupadas em torno da resposta correta. Quando os métodos de treinamento de ensemble são usados, a resposta correta pode ser encontrada com maior confiabilidade.

Métodos de Treinamento de Ensemble Simples

Os métodos de treinamento de ensemble simples geralmente envolvem apenas a aplicação de técnicas estatísticas de resumo, como determinar a moda, a média ou a média ponderada de um conjunto de previsões.

A moda refere-se ao elemento mais frequentemente ocorrente dentro de um conjunto de números. Para obter a moda, os modelos de aprendizado individual retornam suas previsões e essas previsões são consideradas votos para a previsão final. Determinar a média das previsões é feito simplesmente calculando a média aritmética das previsões, arredondada para o número inteiro mais próximo. Finalmente, uma média ponderada pode ser calculada atribuindo diferentes pesos aos modelos usados para criar previsões, com os pesos representando a importância percebida daquele modelo. A representação numérica da previsão da classe é multiplicada ao lado de um peso de 0 a 1,0, as previsões ponderadas individuais são então somadas e o resultado é arredondado para o número inteiro mais próximo.

Métodos de Treinamento de Ensemble Avançados

Existem três técnicas avançadas de treinamento de ensemble principais, cada uma projetada para lidar com um tipo específico de problema de aprendizado de máquina. As técnicas de “bagging” são usadas para diminuir a variância das previsões de um modelo, com variância se referindo a quanto o resultado das previsões difere quando baseado nos mesmos dados. As técnicas de “boosting” são usadas para combater o viés dos modelos. Finalmente, o “stacking” é usado para melhorar as previsões em geral.

Os métodos de aprendizado de ensemble em si podem ser geralmente divididos em dois grupos diferentes: métodos sequenciais e métodos de ensemble paralelos.

Os métodos de ensemble sequenciais recebem o nome de “sequenciais” porque os modelos/base de aprendizado são gerados sequencialmente. No caso dos métodos sequenciais, a ideia essencial é que a dependência entre os modelos/base de aprendizado é explorada para obter previsões mais precisas. Exemplos mal rotulados têm seus pesos ajustados, enquanto exemplos bem rotulados mantêm os mesmos pesos. Todos os pesos são alterados e a precisão (espera-se) melhora a cada vez que um novo modelo/base de aprendizado é gerado.

Em contraste com os modelos de ensemble sequenciais, os métodos de ensemble paralelos geram os modelos/base de aprendizado em paralelo. Ao realizar o aprendizado de ensemble paralelo, a ideia é explorar o fato de que os modelos/base de aprendizado são independentes, pois a taxa de erro geral pode ser reduzida calculando a média das previsões dos modelos individuais.

Os métodos de treinamento de ensemble podem ser homogêneos ou heterogêneos. A maioria dos métodos de aprendizado de ensemble é homogênea, o que significa que eles usam um único tipo de modelo/algoritmo de aprendizado base. Em contraste, os conjuntos heterogêneos usam diferentes algoritmos de aprendizado, diversificando e variando os modelos para garantir que a precisão seja a mais alta possível.

Exemplos de Algoritmos de Aprendizado de Ensemble

Visualização do ensemble boosting. Foto: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Exemplos de métodos de ensemble sequenciais incluem AdaBoost, XGBoost e Gradient tree boosting. Todos esses são modelos de boosting. Para esses modelos de boosting, o objetivo é converter os modelos fracos e de baixo desempenho em modelos mais poderosos. Modelos como AdaBoost e XGBoost começam com muitos modelos fracos que performam apenas ligeiramente melhor do que adivinhação aleatória. À medida que o treinamento continua, pesos são aplicados aos dados e ajustados. Instâncias que foram classificadas incorretamente pelos modelos nas rodadas anteriores de treinamento recebem mais peso. Após esse processo ser repetido por um número desejado de rodadas de treinamento, as previsões são combinadas por meio de uma soma ponderada (para tarefas de regressão) e um voto ponderado (para tarefas de classificação).

O processo de aprendizado de bagging. Foto: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Um exemplo de modelo de ensemble paralelo é um classificador Random Forest, e Random Forests também é um exemplo de técnica de bagging. O termo “bagging” vem de “bootstrap aggregation”. Amostras são tiradas do conjunto de dados total usando uma técnica de amostragem conhecida como “amostragem bootstrap”, que são usadas pelos modelos/base de aprendizado para fazer previsões. Para tarefas de classificação, as saídas dos modelos/base de aprendizado são agregadas usando votação, enquanto elas são calculadas pela média para tarefas de regressão. Random Forests usa árvores de decisão individuais como seus modelos/base de aprendizado, e cada árvore no ensemble é construída usando uma amostra diferente do conjunto de dados. Um subconjunto aleatório de recursos também é usado para gerar a árvore. Isso leva a árvores de decisão individuais altamente randomizadas, que são todas combinadas para fornecer previsões confiáveis.

Visualização do ensemble stacking. Foto: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

Em termos de técnicas de ensemble stacking, múltiplos modelos de regressão ou classificação são combinados por meio de um modelo de nível superior, meta-modelo. Os modelos de nível inferior, base, são treinados sendo alimentados com o conjunto de dados completo. As saídas dos modelos/base de aprendizado são então usadas como recursos para treinar o meta-modelo. Os modelos de ensemble stacking são frequentemente heterogêneos em natureza.

Blogueiro e programador com especialidades em Machine Learning e Deep Learning tópicos. Daniel espera ajudar os outros a usar o poder da IA para o bem social.