Quais são os benefícios dos métodos Ensemble para a Aprendizagem com Máquina?
Ensembles são modelos preditivos que combinam previsões de dois ou mais outros modelos.
Métodos de aprendizagem de montagem são populares e a técnica go-to quando o melhor desempenho num projecto de modelação preditiva é o resultado mais importante.
Não obstante, nem sempre são a técnica mais apropriada para usar e os principiantes no campo da aprendizagem aplicada à máquina têm a expectativa de que os conjuntos ou um método de conjunto específico são sempre o melhor método a usar.
Os conjuntos oferecem dois benefícios específicos num projecto de modelação preditiva, e é importante saber quais são esses benefícios e como medi-los para assegurar que o uso de um conjunto é a decisão certa no seu projecto.
In this tutorial, you will discover the benefits of using ensemble methods for machine learning.
After reading this tutorial, you will know:
- A minimum benefit of using ensembles is to reduce the spread in the average skill of a predictive model.
- A key benefit of using ensembles is to improve the average prediction performance over any contributing member in the ensemble.
- The mechanism for improved performance with ensembles is often the reduction in the variance component of prediction errors made by the contributing models.
Let’s get started.
Why Use Ensemble Learning
Photo by Juan Antonio Segal, some rights reseved.
Tutorial Overview
This tutorial is divided into four parts; they are:
- Ensemble Learning
- Use Ensembles to Improve Robustness
- Bias, Variance, and Ensembles
- Use Ensembles to Improve Performance
Ensemble Learning
Um ensemble é um modelo de aprendizagem de máquina que combina as previsões de dois ou mais modelos.
Os modelos que contribuem para o conjunto, referidos como membros do conjunto, podem ser do mesmo tipo ou de tipos diferentes e podem ou não ser treinados com os mesmos dados de treinamento.
As previsões feitas pelos membros do conjunto podem ser combinadas usando estatísticas, tais como o modo ou média, ou por métodos mais sofisticados que aprendem o quanto confiar em cada membro e sob quais condições.
O estudo dos métodos de conjuntos realmente pegou nos anos 90, e essa década foi quando foram publicados trabalhos sobre os métodos mais populares e amplamente utilizados, tais como o ensacamento de núcleos, o boosting e os métodos de empilhamento.
No final dos anos 2000, a adoção de conjuntos pegou devido, em parte, ao seu enorme sucesso em competições de aprendizagem de máquinas, tais como o prêmio Netflix e, posteriormente, competições sobre Kaggle.
Nas últimas décadas, os múltiplos sistemas de classificação, também chamados sistemas de conjuntos, têm gozado de crescente atenção dentro da inteligência computacional e da comunidade de aprendizagem de máquinas.
– Página 1, Ensemble Machine Learning, 2012.
Os métodos de montagem aumentam grandemente o custo e a complexidade computacional. Este aumento vem da experiência e tempo necessários para treinar e manter vários modelos em vez de um único modelo. Isto força a pergunta:
- Por que devemos considerar o uso de um conjunto?
Existem duas razões principais para usar um conjunto sobre um único modelo, e elas estão relacionadas; elas são:
- Desempenho: Um conjunto pode fazer melhores previsões e alcançar melhor desempenho do que qualquer outro modelo que contribua com um único modelo.
- Robustez: Um conjunto reduz a propagação ou dispersão das previsões e do desempenho do modelo.
Ensembles são usados para alcançar um melhor desempenho preditivo num problema de modelagem preditiva do que um único modelo preditivo. A forma como isto é conseguido pode ser entendido como o modelo reduzindo a componente de variância do erro de previsão através da adição de viés (isto é, no contexto do trade-off de viés-variância).
pri>primente desenvolvido para reduzir a variância – melhorando assim a precisão de um sistema automatizado de tomada de decisão …
– Página 1, Ensemble Machine Learning, 2012.
Há outro benefício importante e menos discutido dos métodos de ensemble é a melhoria da robustez ou fiabilidade no desempenho médio de um modelo.
Estas são ambas preocupações importantes num projecto de aprendizagem de máquinas e, por vezes, podemos preferir uma ou ambas as propriedades de um modelo.
Vamos analisar mais de perto estas duas propriedades de modo a compreender melhor os benefícios da utilização da aprendizagem de conjuntos num projecto.
Utilizar conjuntos para melhorar a robustez
Num projecto de modelação preditiva, avaliamos frequentemente vários modelos ou pipelines de modelação e escolhemos um que tenha um bom ou melhor desempenho como modelo final.
O algoritmo ou gasoduto é então encaixado em todos os dados disponíveis e usado para fazer previsões em novos dados.
Temos uma ideia de quão bem o modelo irá funcionar em média a partir do nosso arnês de teste, tipicamente estimado usando a validação cruzada repetida k-fold como um padrão de ouro. O problema é que o desempenho médio pode não ser suficiente.
Uma precisão média ou erro de um modelo é um resumo do desempenho esperado, quando de fato, alguns modelos tiveram um desempenho melhor e outros pior em diferentes subconjuntos dos dados.
O desvio padrão é a diferença média entre uma observação e a média e resume a dispersão ou dispersão dos dados. Para uma medida de precisão ou erro de um modelo, pode dar-lhe uma ideia da dispersão do comportamento do modelo.
Olhar para as pontuações mínimas e máximas de desempenho do modelo dar-lhe-á uma ideia do pior e melhor desempenho que pode esperar do modelo, e isto pode não ser aceitável para a sua aplicação.
O conjunto mais simples é encaixar o modelo várias vezes nos conjuntos de dados de treino e combinar as previsões usando uma estatística resumida, tal como a média para a regressão ou o modo para a classificação. É importante notar que cada modelo precisa ser ligeiramente diferente devido ao algoritmo de aprendizagem estocástica, diferença na composição do conjunto de dados de treinamento ou diferenças no próprio modelo.
Isso reduzirá a dispersão nas previsões feitas pelo modelo. O desempenho médio provavelmente será aproximadamente o mesmo, embora o pior e o melhor dos casos sejam aproximados do desempenho médio.
Com efeito, suaviza o desempenho esperado do modelo.
Podemos nos referir a isto como a “robustez” no desempenho esperado do modelo e é um benefício mínimo de usar um método de conjunto.
Um conjunto pode ou não melhorar o desempenho da modelagem em relação a qualquer membro contribuinte, discutido mais adiante, mas no mínimo, deve reduzir a dispersão no desempenho médio do modelo.
Para mais informações sobre este tópico, veja o tutorial:
- Como Reduzir a Variância em um Modelo Final de Aprendizagem de Máquina
Bias, Variância e Ensembles
Modelos de aprendizagem de máquina para classificação e regressão aprendem uma função de mapeamento de entradas para saídas.
Este mapeamento é aprendido a partir de exemplos do domínio do problema, o conjunto de dados do treinamento, e é avaliado em dados não utilizados durante o treinamento, o conjunto de dados de teste.
Os erros feitos por um modelo de aprendizagem de máquina são frequentemente descritos em termos de duas propriedades: o viés e a variância.
O viés é uma medida de quão próximo o modelo pode capturar a função de mapeamento entre entradas e saídas. Ele captura a rigidez do modelo: a força da suposição que o modelo tem sobre a forma funcional do mapeamento entre entradas e saídas.
A variância do modelo é a quantidade que o desempenho do modelo muda quando ele se encaixa em diferentes dados de treinamento. Ele captura o impacto das especificidades dos dados no modelo.
Variância refere-se à quantidade que mudaria se o estimássemos usando um conjunto de dados de treinamento diferente.
– Página 34, Uma Introdução à Aprendizagem Estatística com Aplicações em R, 2014.
O viés e a variância do desempenho de um modelo estão ligados.
Idealmente, preferiríamos um modelo com baixo viés e baixa variância, embora na prática, isto seja muito desafiador. De fato, isto poderia ser descrito como o objetivo da aprendizagem aplicada à máquina para um determinado problema de modelagem preditiva.
A redução do viés pode ser facilmente alcançada através do aumento da variância. Por outro lado, a redução da variância pode ser facilmente alcançada aumentando o viés.
Isto é referido como um trade-off porque é fácil obter um método com viés extremamente baixo mas variância alta ou um método com variância muito baixa mas viés alto …
– Página 36, Uma Introdução à Aprendizagem Estatística com Aplicações em R, 2014.
alguns modelos têm naturalmente um viés elevado ou uma variância elevada, que pode ser frequentemente relaxada ou aumentada usando hiperparâmetros que alteram o comportamento de aprendizagem do algoritmo.
Os erros nas previsões feitas podem ser atribuídos à “variância”
Nem sempre é o caso, mas quando o é, esta redução na variância, por sua vez, leva a um melhor desempenho preditivo.
Provas teóricas e empíricas mostram que algumas técnicas de conjunto (como o ensacamento) atuam como um mecanismo de redução de variância, ou seja elas reduzem a componente de variância do erro. Além disso, resultados empíricos sugerem que outras técnicas de ensamblagem (como o AdaBoost) reduzem tanto o viés quanto as partes de variância do erro.
– Página 39, Pattern Classification Using Ensemble Methods, 2010.
Usar ensembles para reduzir as propriedades de variância dos erros de predição leva ao benefício chave de usar ensembles em primeiro lugar: melhorar o desempenho preditivo.
Utilizar conjuntos para melhorar o desempenho
A redução do elemento de variância do erro de previsão melhora o desempenho preditivo.
Utilizamos explicitamente a aprendizagem de conjuntos para buscar melhor desempenho preditivo, como menor erro na regressão ou alta precisão na classificação.
… há uma maneira de melhorar a precisão do modelo que é mais fácil e mais poderosa do que a seleção criteriosa do algoritmo: pode-se reunir modelos em conjuntos.
– Página 2, Ensemble Methods in Data Mining, 2010.
Este é o principal uso de métodos de aprendizagem de conjuntos e o benefício demonstrado através do uso de conjuntos pela maioria dos vencedores de concursos de aprendizagem de máquinas, tais como o prémio Netflix e concursos sobre Kaggle.
No Prêmio Netflix, um concurso correu por dois anos, no qual a primeira equipe a apresentar um modelo melhorando em 10% o sistema de recomendação interno do Netflix ganharia $1.000.000. a margem final foi obtida pesando as contribuições dos modelos de até 30 concorrentes.
– Página 8, Ensemble Methods in Data Mining, 2010.
Este benefício também foi demonstrado com concursos académicos, tais como soluções de topo para o famoso conjunto de dados ImageNet em visão computacional.
Um conjunto destas redes residuais atinge 3,57% de erro no conjunto de testes ImageNet. Este resultado ganhou o 1º lugar na tarefa de classificação do ILSVRC 2015.
– Aprendizagem Residual Profunda para o Reconhecimento de Imagens, 2015.
Quando usado desta forma, um conjunto só deve ser adotado se tiver um melhor desempenho em média do que qualquer membro contribuinte do conjunto. Se este não for o caso, então o membro contribuinte com melhor desempenho deve ser usado em vez disso.
Considerar a distribuição das notas esperadas calculadas por um modelo em um arnês de teste, como a validação cruzada de repetição k-fold, como fizemos acima ao considerar a “robustez” oferecida por um conjunto. Um conjunto que reduz a variância no erro, com efeito, irá deslocar a distribuição em vez de simplesmente diminuir a propagação da distribuição.
Isto pode resultar num melhor desempenho médio em comparação com qualquer modelo.
Este nem sempre é o caso, e ter esta expectativa é um erro comum cometido por principiantes.
É possível, e mesmo comum, que o desempenho de um conjunto não seja melhor do que o do membro com melhor desempenho do conjunto. Isto pode acontecer se o conjunto tiver um modelo de melhor desempenho e os outros membros não oferecerem qualquer benefício ou se o conjunto não for capaz de aproveitar eficazmente a sua contribuição.
Também é possível que um conjunto tenha um desempenho pior do que o do membro com melhor desempenho do conjunto. Isto também é comum em qualquer modelo tipicamente de melhor desempenho, cujas previsões são pioradas por um ou mais modelos de mau desempenho e o conjunto não é capaz de aproveitar eficazmente as suas contribuições.
Como tal, é importante testar um conjunto de métodos de conjunto e afinar o seu comportamento, tal como fazemos para qualquer modelo individual de aprendizagem da máquina.
Outras Leituras
Esta secção fornece mais recursos sobre o tema se estiver a procurar ir mais fundo.
Related Tutorials
- How to Reduce Variance in a Final Machine Learning Model
- How to Develop a Horizontal Voting Deep Learning Ensemble to Reduce Variance
Books
- Pattern Classification Using Ensemble Methods, 2010.
- Ensemble Methods, 2012.
- Ensemble Machine Learning, 2012.
- Ensemble Methods in Data Mining, 2010.
Articles
- Ensemble learning, Wikipedia.
- Ensemble learning, Scholarpedia.
Summary
In this post, you discovered the benefits of using ensemble methods for machine learning.
Especificamente, você aprendeu:
- Um benefício mínimo do uso de conjuntos é reduzir a dispersão na habilidade média de um modelo preditivo.
- Um benefício chave do uso de conjuntos é melhorar o desempenho da previsão média sobre qualquer membro contribuinte do conjunto.
- O mecanismo para melhorar o desempenho com conjuntos é frequentemente a redução da componente de variância dos erros de previsão feitos pelos modelos contribuidores.