logo

GBM em aprendizado de máquina

O aprendizado de máquina é uma das tecnologias mais populares para construir modelos preditivos para várias tarefas complexas de regressão e classificação. Máquina de aumento de gradiente (GBM) é considerado um dos algoritmos de boosting mais poderosos.

GBM em aprendizado de máquina

Embora existam tantos algoritmos usados ​​no aprendizado de máquina, o aprimoramento de algoritmos se tornou popular na comunidade de aprendizado de máquina em todo o mundo. A técnica de boosting segue o conceito de aprendizagem em conjunto e, portanto, combina vários modelos simples (alunos fracos ou estimadores básicos) para gerar o resultado final. O GBM também é usado como um método conjunto em aprendizado de máquina que converte alunos fracos em alunos fortes. Neste tópico, 'GBM em aprendizado de máquina' discutiremos algoritmos de aprendizado de máquina gradiente, vários algoritmos de reforço no aprendizado de máquina, a história do GBM, como ele funciona, várias terminologias usadas no GBM, etc. Mas antes de começar, primeiro entenda o conceito de reforço e vários algoritmos de reforço no aprendizado de máquina.

O que está impulsionando o aprendizado de máquina?

Boosting é uma das técnicas populares de modelagem de conjuntos de aprendizagem usadas para construir classificadores fortes a partir de vários classificadores fracos. Ele começa com a construção de um modelo primário a partir dos conjuntos de dados de treinamento disponíveis e, em seguida, identifica os erros presentes no modelo base. Após a identificação do erro, um modelo secundário é construído e, posteriormente, um terceiro modelo é introduzido neste processo. Desta forma, este processo de introdução de mais modelos continua até obtermos um conjunto completo de dados de treinamento pelo qual o modelo prevê corretamente.

AdaBoost (Adaptive boosting) foi o primeiro algoritmo de boosting a combinar vários classificadores fracos em um único classificador forte na história do aprendizado de máquina. Ele se concentra principalmente em resolver tarefas de classificação, como classificação binária.

Etapas para impulsionar algoritmos:

Existem algumas etapas importantes para impulsionar o algoritmo, como segue:

  • Considere um conjunto de dados com diferentes pontos de dados e inicialize-o.
  • Agora, dê peso igual a cada um dos pontos de dados.
  • Assuma esse peso como entrada para o modelo.
  • Identifique os pontos de dados que estão classificados incorretamente.
  • Aumente o peso dos pontos de dados na etapa 4.
  • Se você obtiver a saída apropriada, encerre este processo, caso contrário, siga as etapas 2 e 3 novamente.

Exemplo:

Suponhamos que temos três modelos diferentes com suas previsões e que funcionam de maneiras completamente diferentes. Por exemplo, o modelo de regressão linear mostra uma relação linear nos dados, enquanto o modelo de árvore de decisão tenta capturar a não linearidade nos dados, conforme mostrado na imagem abaixo.

string para char
GBM em aprendizado de máquina

Além disso, em vez de usar esses modelos separadamente para prever o resultado, se os usarmos na forma de séries ou combinações, obteremos um modelo resultante com informações corretas do que todos os modelos básicos. Em outras palavras, em vez de usar a previsão individual de cada modelo, se usarmos a previsão média desses modelos, seremos capazes de capturar mais informações dos dados. É conhecido como aprendizado em conjunto e o reforço também é baseado em métodos de conjunto em aprendizado de máquina.

Impulsionando Algoritmos em Aprendizado de Máquina

Existem principalmente 4 algoritmos de reforço no aprendizado de máquina. São os seguintes:

    Máquina de aumento de gradiente (GBM) Máquina de aumento de gradiente extremo (XGBM) GBM leve CatBoost

O que é GBM em aprendizado de máquina?

Gradient Boosting Machine (GBM) é um dos métodos de conjunto de aprendizado direto mais populares em aprendizado de máquina. É uma técnica poderosa para construir modelos preditivos para tarefas de regressão e classificação.

O GBM nos ajuda a obter um modelo preditivo na forma de um conjunto de modelos de previsão fracos, como árvores de decisão. Sempre que uma árvore de decisão funciona como um aluno fraco, o algoritmo resultante é chamado de árvores com gradiente reforçado.

Permite-nos combinar as previsões de vários modelos de aprendizagem e construir um modelo preditivo final com a previsão correta.

Mas aqui pode surgir uma questão: se estivermos aplicando o mesmo algoritmo, como múltiplas árvores de decisão podem fornecer melhores previsões do que uma única árvore de decisão? Além disso, como cada árvore de decisão captura informações diferentes dos mesmos dados?

ferramenta de cura gimp
GBM em aprendizado de máquina

Portanto, a resposta a essas perguntas é que um subconjunto diferente de recursos é utilizado pelos nós de cada árvore de decisão para selecionar a melhor divisão. Isso significa que cada árvore se comporta de maneira diferente e, portanto, captura sinais diferentes dos mesmos dados.

ciclo de programa java

Como funciona o GBM?

Geralmente, a maioria dos algoritmos de aprendizagem supervisionada são baseados em um único modelo preditivo, como regressão linear, modelo de regressão penalizada, árvores de decisão, etc. Mas existem alguns algoritmos supervisionados em ML que dependem de uma combinação de vários modelos juntos por meio do conjunto. Em outras palavras, quando vários modelos básicos contribuem com suas previsões, uma média de todas as previsões é adaptada por algoritmos de reforço.

As máquinas de aumento de gradiente consistem em 3 elementos, como segue:

  • Função de perda
  • Alunos fracos
  • Modelo aditivo

Vamos entender esses três elementos em detalhes.

1. Função de perda:

Porém, existe uma grande família de funções de perda em aprendizado de máquina que podem ser usadas dependendo do tipo de tarefa que está sendo resolvida. A utilização da função perda é estimada pela demanda de características específicas da distribuição condicional como robustez. Ao usar uma função de perda em nossa tarefa, devemos especificar a função de perda e a função para calcular o gradiente negativo correspondente. Assim que obtivermos essas duas funções, elas podem ser facilmente implementadas em máquinas de aumento de gradiente. No entanto, várias funções de perda já foram propostas para algoritmos GBM.

Classificação da função de perda:

Com base no tipo de variável de resposta y, a função de perda pode ser classificada em diferentes tipos como segue:

    Resposta contínua, y ∈ R:
    • Função de perda L2 gaussiana
    • Função de perda Laplace L1
    • Função de perda de Huber, δ especificado
    • Função de perda de quantil, α especificado
    Resposta categórica, y ∈ {0, 1}:
    • Função de perda binomial
    • Função de perda Adaboost
    Outras famílias de variáveis ​​de resposta:
    • Funções de perda para modelos de sobrevivência
    • Dados de contagem de funções de perda
    • Funções de perda personalizadas

2. Aluno Fraco:

Alunos fracos são os modelos básicos de aprendizado que aprendem com os erros do passado e ajudam na construção de um design de modelo preditivo forte para impulsionar algoritmos de aprendizado de máquina. Geralmente, as árvores de decisão funcionam como aprendizes fracos no aprimoramento de algoritmos.

Boosting é definido como a estrutura que trabalha continuamente para melhorar o resultado dos modelos básicos. Muitos aplicativos de aumento de gradiente permitem que você 'plugin' várias classes de alunos fracos à sua disposição. Conseqüentemente, as árvores de decisão são mais frequentemente usadas para alunos fracos (básicos).

mini barra de ferramentas do Excel

Como treinar alunos fracos:

O aprendizado de máquina usa conjuntos de dados de treinamento para treinar alunos básicos e, com base na previsão do aluno anterior, melhora o desempenho concentrando-se nas linhas dos dados de treinamento onde a árvore anterior apresentava os maiores erros ou resíduos. Por exemplo. árvores rasas são consideradas árvores de decisão fracas para o aluno, pois contêm algumas divisões. Geralmente, em algoritmos de boosting, árvores com até 6 divisões são mais comuns.

Abaixo está uma sequência de treinamento do aluno fraco para melhorar seu desempenho onde cada árvore está na sequência com os resíduos da árvore anterior. Além disso, estamos introduzindo cada nova árvore para que ela possa aprender com os erros da árvore anterior. São os seguintes:

  1. Considere um conjunto de dados e encaixe nele uma árvore de decisão.
    F1(x)=y
  2. Ajuste a próxima árvore de decisão com os maiores erros da árvore anterior.
    h1(x)=y?F1(x)
  3. Adicione esta nova árvore ao algoritmo adicionando ambas nas etapas 1 e 2.
    F2(x)=F1(x)+h1(x)
  4. Ajuste novamente a próxima árvore de decisão com os resíduos da árvore anterior.
    h2(x)=y?F2(x)
  5. Repita o mesmo que fizemos na etapa 3.
    F3(x)=F2(x)+h2(x)

Continue este processo até que algum mecanismo (ou seja, validação cruzada) nos diga para parar. O modelo final aqui é um modelo aditivo em etapas de b árvores individuais:

f(x)=B∑b=1fb(x)

Conseqüentemente, as árvores são construídas avidamente, escolhendo os melhores pontos de divisão com base em pontuações de pureza como Gini ou minimizando a perda.

3. Modelo Aditivo:

O modelo aditivo é definido como a adição de árvores ao modelo. Embora não devamos adicionar múltiplas árvores ao mesmo tempo, apenas uma única árvore deve ser adicionada para que as árvores existentes no modelo não sejam alteradas. Além disso, também podemos preferir o método de descida gradiente adicionando árvores para reduzir a perda.

Nos últimos anos, o método gradiente descendente tem sido utilizado para minimizar o conjunto de parâmetros como o coeficiente da equação de regressão e o peso em uma rede neural. Após calcular o erro ou perda, o parâmetro peso é utilizado para minimizar o erro. Mas recentemente, a maioria dos especialistas em ML prefere submodelos de aprendizagem fracos ou árvores de decisão como substitutos para esses parâmetros. Nele, temos que adicionar uma árvore ao modelo para reduzir o erro e melhorar o desempenho desse modelo. Desta forma, a previsão da árvore recém-adicionada é combinada com a previsão da série de árvores existente para obter uma previsão final. Este processo continua até que a perda atinja um nível aceitável ou não seja mais necessária melhoria.

Este método também é conhecido como descida gradiente funcional ou descida gradiente com funções.

MÁQUINA DE AUMENTO DE GRADIENTE EXTREMO (XGBM)

XGBM é a versão mais recente de máquinas de aumento de gradiente que também funciona de forma muito semelhante ao GBM. No XGBM, as árvores são adicionadas sequencialmente (uma de cada vez) que aprendem com os erros das árvores anteriores e as melhoram. Embora os algoritmos XGBM e GBM sejam semelhantes em aparência, ainda existem algumas diferenças entre eles, como segue:

  • O XGBM usa várias técnicas de regularização para reduzir o ajuste insuficiente ou excessivo do modelo, o que também aumenta o desempenho do modelo mais do que as máquinas de aumento de gradiente.
  • O XGBM segue o processamento paralelo de cada nó, enquanto o GBM não o faz, o que o torna mais rápido do que as máquinas de aumento de gradiente.
  • O XGBM nos ajuda a nos livrar da imputação de valores ausentes porque, por padrão, o modelo cuida disso. Ele aprende sozinho se esses valores devem estar no nó direito ou esquerdo.

Máquinas de reforço de gradiente leve (GBM leve)

Light GBM é uma versão mais atualizada da máquina de aumento de gradiente devido à sua eficiência e velocidade rápida. Ao contrário do GBM e do XGBM, ele pode lidar com uma enorme quantidade de dados sem qualquer complexidade. Por outro lado, não é adequado para pontos de dados em menor número.

Em vez do crescimento nivelado, o Light GBM prefere o crescimento foliar dos nós da árvore. Além disso, no GBM leve, o nó primário é dividido em dois nós secundários e posteriormente escolhe um nó secundário para ser dividido. Esta divisão de um nó secundário depende de qual dos dois nós apresenta maior perda.

propriedades ácidas em dbms
GBM em aprendizado de máquina

Conseqüentemente, devido à divisão em folhas, o algoritmo Light Gradient Boosting Machine (LGBM) é sempre preferido a outros onde uma grande quantidade de dados é fornecida.

IMPULSO DE GATO

O algoritmo catboost é usado principalmente para lidar com recursos categóricos em um conjunto de dados. Embora os algoritmos GBM, XGBM e Light GBM sejam adequados para conjuntos de dados numéricos, Catboost foi projetado para lidar com variáveis ​​​​categóricas em dados numéricos. Conseqüentemente, o algoritmo catboost consiste em uma etapa essencial de pré-processamento para converter características categóricas em variáveis ​​numéricas que não estão presentes em nenhum outro algoritmo.

Vantagens de algoritmos de reforço:

  • Os algoritmos de reforço seguem o aprendizado conjunto, o que permite que um modelo forneça uma previsão mais precisa que não pode ser superada.
  • Os algoritmos de reforço são muito mais flexíveis do que outros algoritmos, pois podem otimizar diferentes funções de perda e fornecer várias opções de ajuste de hiperparâmetros.
  • Não requer pré-processamento de dados porque é adequado tanto para variáveis ​​numéricas quanto categóricas.
  • Não requer imputação de valores ausentes no conjunto de dados, ele trata os dados ausentes automaticamente.

Desvantagens de algoritmos de reforço:

Abaixo estão algumas desvantagens de aumentar algoritmos:

  • Os algoritmos de reforço podem causar overfitting e também enfatizar demais os valores discrepantes.
  • O algoritmo de aumento de gradiente se concentra continuamente para minimizar os erros e requer várias árvores, portanto, é computacionalmente caro.
  • É um algoritmo demorado e que consome muita memória.
  • De natureza menos interpretativa, embora isto seja facilmente resolvido com várias ferramentas.

Conclusão:

Dessa forma, aprendemos algoritmos de otimização para modelagem preditiva em aprendizado de máquina. Além disso, discutimos vários algoritmos de boosting importantes usados ​​​​em ML, como GBM, XGBM, GBM leve e Catboost. Além disso, vimos vários componentes (função de perda, aluno fraco e modelo aditivo) e como o GBM funciona com eles. Como os algoritmos de reforço são vantajosos para implantação em cenários do mundo real, etc.