A Magia do Ensemble Learning

Olá, Habr! Convidamos Data Engineers e especialistas em Machine Learning para uma aula demo gratuita «Implantação de modelos de ML em um ambiente industrial usando recomendações online». Também publicamos um artigo de Luca Monno — Chefe de Análise Financeira da CDP SpA.

Um dos métodos de aprendizado de máquina mais úteis e simples é o Ensemble Learning. Ensemble Learning é um método que está na base do XGBoost, Bagging, Random Forest e muitos outros algoritmos.

No Towards Data Science há muitos ótimos artigos, mas escolhi duas histórias (primeiro e segundo), que eu mais gostei. Então, por que escrever mais um artigo sobre EL? Porque quero mostrar a vocês, como isso funciona em um exemplo simples, que me fez entender que não há mágica aqui.

Quando vi EL funcionando pela primeira vez (trabalhando com alguns modelos de regressão muito simples), não podia acreditar nos meus olhos, e ainda me lembro do professor que me ensinou esse método.

Eu tinha dois modelos diferentes (dois algoritmos de aprendizado fraco) com métricas out-of-sample R² iguais a 0,90 e 0,93, respectivamente. Antes de olhar o resultado, pensei que obteria um R² em algum lugar entre os dois valores originais. Em outras palavras, acreditava que o EL poderia ser usado para fazer com que o modelo funcionasse não tão mal quanto o pior, mas não tão bem quanto o melhor modelo poderia funcionar.

Para minha grande surpresa, os resultados da simples média das previsões deram um R² de 0,95. 

Primeiro, comecei a procurar o erro, mas depois pensei que poderia haver alguma mágica escondida!

O que é Ensemble Learning

Com EL é possível combinar as previsões de dois ou mais modelos para obter um modelo mais confiável e eficiente. Existem muitas metodologias para trabalhar com conjuntos de modelos. Aqui, abordarei duas das mais úteis para dar uma visão geral.

Com regressão pode-se fazer a média das métricas dos modelos existentes.

Com classificação pode-se permitir que os modelos escolham os rótulos. O rótulo que foi escolhido com mais frequência é o que será escolhido pelo novo modelo.

Por que EL funciona melhor

A principal razão pela qual o EL funciona melhor é que cada previsão tem um erro (sabemos disso pela teoria da probabilidade), e a combinação de duas previsões pode ajudar a reduzir o erro e, consequentemente, melhorar o desempenho (RMSE, R² etc.).

No próximo diagrama, vemos como dois algoritmos fracos operam em um conjunto de dados. O primeiro algoritmo tem um coeficiente angular maior do que o necessário, enquanto o segundo é quase igual a zero (talvez devido à regularização excessiva). Mas ensemble apresenta um resultado muito melhor. 

Se observarmos o indicador R², o primeiro e o segundo algoritmo de aprendizado terão valores de -0,01¹ e 0,22, respectivamente, enquanto o ensemble terá um valor de 0,73.

A Magia do Ensemble Learning

Existem várias razões pelas quais um algoritmo pode ser uma má modelo, mesmo em um exemplo tão básico quanto este: talvez você tenha optado por usar regularização para evitar o sobreajuste, ou decidiu não remover algumas anomalias, ou talvez tenha utilizado a regressão polinomial e ajustado um grau incorreto (por exemplo, usou um polinômio de segundo grau, enquanto nos dados de teste há uma clara assimetria que seria melhor atendida por um de terceiro grau).

Quando o EL funciona melhor

Vamos considerar dois algoritmos de aprendizado que trabalham com os mesmos dados.

A Magia do Ensemble Learning

Aqui, é possível ver que a combinação de dois modelos não melhorou muito o desempenho. Inicialmente, para os dois algoritmos de aprendizado, os valores de R² eram -0,37 e 0,22, respectivamente, e para o ensemble resultou em -0,04. Ou seja, o modelo EL obteve um valor médio de desempenho.

No entanto, há uma grande diferença entre esses dois exemplos: no primeiro exemplo, os erros dos modelos eram correlacionados negativamente, enquanto no segundo eram positivamente correlacionados (os coeficientes dos três modelos não foram avaliados, mas foram simplesmente escolhidos pelo autor como exemplo).

Portanto, o Ensemble Learning pode ser utilizado para melhorar o equilíbrio entre viés/variância em qualquer caso, mas quando os erros dos modelos não estão positivamente correlacionados, o uso do EL pode levar a um aumento de desempenho..

Modelos homogêneos e heterogêneos

Muito frequentemente, EL é utilizado em modelos homogêneos (como neste exemplo ou em florestas aleatórias), mas na verdade, você pode combinar diferentes modelos (regressão linear + rede neural + XGBoost) com diferentes conjuntos de variáveis explicativas. Isso provavelmente resultará em erros não correlacionados e aumentando o desempenho.

Comparação com diversificação de portfólio

EL funciona de forma análoga à diversificação na teoria de portfólio, mas isso é ainda melhor para nós. 

Na diversificação, você tenta reduzir a dispersão dos seus indicadores investindo em ações não correlacionadas. Um portfólio de ações bem diversificado terá um desempenho melhor do que a pior ação individual, mas nunca melhor do que a melhor.

Citanto Warren Buffett: 

“Diversificação é uma proteção contra a ignorância; para quem não sabe o que está fazendo, ela [diversificação] faz muito pouco sentido.”

No aprendizado de máquina, EL ajuda a reduzir a dispersão do seu modelo, mas isso pode levar à criação de um modelo com desempenho geral melhor do que o melhor modelo original.

Resumindo

Combinar vários modelos em um é um método relativamente simples que pode resolver o problema de viés de dispersão e melhorar o desempenho.

Se você tem dois ou mais modelos que funcionam bem, não escolha entre eles: use todos (mas com cautela)!

Está interessado em desenvolver nesta direção? Inscreva-se para uma aula Demo gratuita «Implantação de modelos de ML em um ambiente industrial usando recomendações online» e participe da reunião online com Andrei Kuznetsov — Engenheiro de Machine Learning na Mail.ru Group.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster