toco O que é aumento de gradiente? - Unite.AI
Entre em contato
Masterclass de IA:

AI 101

O que é aumento de gradiente?

mm
Atualização do on

Um tipo comum de modelo de aprendizado de máquina que conseguiu ser extremamente útil em competições de ciência de dados é o modelo de aumento de gradiente. Aumento de gradiente é basicamente o processo de converter modelos de aprendizagem fracos em modelos de aprendizagem fortes. No entanto, como exatamente isso é realizado? Vamos dar uma olhada mais de perto nos algoritmos de aumento de gradiente e entender como um modelo de aumento de gradiente converte alunos fracos em alunos fortes.

Definindo o reforço de gradiente

Este artigo visa dar a você uma boa intuição sobre o que é o aumento de gradiente, sem muitas falhas na matemática subjacente aos algoritmos. Depois de entender como o aumento de gradiente funciona em alto nível, você é incentivado a se aprofundar e explorar a matemática que torna isso possível.

Vamos começar definindo o que significa “impulsionar” um aluno. Os alunos fracos são convertidos em alunos fortes, ajustando as propriedades do modelo de aprendizagem. Exatamente qual algoritmo de aprendizado está sendo aprimorado?

Os modelos de reforço funcionam aumentando outro modelo comum de aprendizado de máquina, uma árvore de decisão.

A árvore de decisão o modelo funciona dividindo um conjunto de dados em porções cada vez menores e, uma vez que os subconjuntos não podem mais ser divididos, o resultado é uma árvore com nós e folhas. Os nós em uma árvore de decisão são onde as decisões sobre os pontos de dados são tomadas usando diferentes critérios de filtragem. As folhas de uma árvore de decisão são os pontos de dados que foram classificados. Os algoritmos de árvore de decisão podem lidar com dados numéricos e categóricos, e as divisões na árvore são baseadas em variáveis/recursos específicos.

Ilustração da forma como os modelos de reforço são treinados.
Foto: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Um tipo de algoritmo de boosting é o Algoritmo AdaBoost. Os algoritmos AdaBoost começam treinando um modelo de árvore de decisão e atribuindo um peso igual a cada observação. Depois que a primeira árvore foi avaliada quanto à precisão, os pesos para as diferentes observações são ajustados. Observações fáceis de classificar têm seus pesos diminuídos, enquanto observações difíceis de classificar têm seus pesos aumentados. Uma segunda árvore é criada usando esses pesos ajustados, com o objetivo de que as previsões da segunda árvore sejam mais precisas do que as previsões da primeira árvore.

O modelo agora consiste nas previsões para a árvore original e a nova árvore (ou Árvore 1 + Árvore 2). A precisão da classificação é avaliada mais uma vez com base no novo modelo. Uma terceira árvore é criada com base no erro calculado para o modelo e os pesos são novamente ajustados. Esse processo continua por um determinado número de iterações, e o modelo final é um modelo ensemble que usa a soma ponderada das previsões feitas por todas as árvores construídas anteriormente.

O processo descrito acima usa Árvores de Decisão e os preditores/modelos básicos, mas uma abordagem de reforço pode ser realizada com uma ampla variedade de modelos, como os muitos modelos padrão de classificadores e regressores. Os conceitos-chave a serem entendidos são que os preditores subsequentes aprendem com os erros cometidos pelos anteriores e que os preditores são criados sequencialmente.

A principal vantagem de impulsionar algoritmos é que eles levam menos tempo para encontrar as previsões atuais quando comparados a outros modelos de aprendizado de máquina. No entanto, é preciso ter cuidado ao empregar algoritmos de reforço, pois eles são propensos a superajuste.

Intensificação de Gradiente

Veremos agora um dos algoritmos de aumento mais comuns. Os modelos de aumento de gradiente (GBM) são conhecidos por sua alta precisão e aumentam os princípios gerais usados ​​no AdaBoost.

A principal diferença entre um modelo de aumento de gradiente e o AdaBoost é que os GBMs usam um método diferente de calcular quais alunos estão identificando erroneamente os pontos de dados. O AdaBoost calcula onde um modelo está com baixo desempenho examinando pontos de dados altamente ponderados. Enquanto isso, os GBMs usam gradientes para determinar a precisão dos alunos, aplicando uma função de perda a um modelo. As funções de perda são uma forma de medir a precisão do ajuste de um modelo no conjunto de dados, calculando um erro e otimizando o modelo para reduzir esse erro. Os GBMs permitem que o usuário otimize uma função de perda especificada com base no objetivo desejado.

Tomando a função de perda mais comum - Erro médio quadrático (MSE) - como um exemplo, Gradiente descendente é usado para atualizar previsões com base em uma taxa de aprendizado pré-definida, visando encontrar os valores onde a perda é mínima.

Para deixar mais claro:

Novas previsões de modelo = variáveis ​​de saída – antigas previsões imperfeitas.

Em um sentido mais estatístico, os GBMs visam encontrar padrões relevantes nos resíduos de um modelo, ajustando o modelo para se adequar ao padrão e trazer os resíduos o mais próximo possível de zero. Se você realizasse uma regressão nas previsões do modelo, os resíduos seriam distribuídos em torno de 0 (ajuste perfeito) e os GBMs encontrariam padrões nos resíduos e atualizariam o modelo em torno desses padrões.

Em outras palavras, as previsões são atualizadas para que a soma de todos os resíduos seja o mais próximo possível de 0, o que significa que os valores previstos estarão muito próximos dos valores reais.

Observe que uma ampla variedade de outras funções de perda (como perda logarítmica) pode ser usada por um GBM. MSE foi selecionado acima para fins de simplicidade.

Variações nos modelos de aumento de gradiente

Os modelos de aumento de gradiente são algoritmos gananciosos que tendem a se sobreajustar em um conjunto de dados. Isso pode ser protegido com vários métodos diferentes que podem melhorar o desempenho de um GBM.

GBMs podem ser regulados com quatro métodos diferentes: Shrinkage, Tree Constraints, Stochastic Gradient Boosting e Penalized Learning.

encolhimento

Como mencionado anteriormente, em GBMs as previsões são somadas de forma sequencial. Em “Shrinkage”, as adições de cada árvore à soma total são ajustadas. São aplicados pesos que diminuem a taxa de aprendizado do algoritmo, exigindo que mais árvores sejam adicionadas ao modelo, o que geralmente melhora a robustez e o desempenho do modelo. A desvantagem é que o modelo leva mais tempo para treinar.

Restrições de árvore

Restringir a árvore com vários ajustes, como adicionar mais profundidade à árvore ou aumentar o número de nós ou folhas na árvore, pode dificultar o superajuste do modelo. A imposição de uma restrição ao número mínimo de observações por divisão tem um efeito semelhante. Mais uma vez, a desvantagem é que o modelo levará mais tempo para treinar.

Amostragem Aleatória

Os alunos individuais podem ser criados por meio de um processo estocástico, com base em substamples selecionados aleatoriamente do conjunto de dados de treinamento. Isso tem o efeito de reduzir as correlações entre as árvores, o que protege contra o overfitting. O conjunto de dados pode ser subdividido antes de criar as árvores ou antes de considerar uma divisão na árvore.

Aprendizagem Penalizada

Além de restringir o modelo limitando a estrutura da árvore, é possível usar uma árvore de regressão. As árvores de regressão têm valores numéricos anexados a cada uma das folhas, que funcionam como pesos e podem ser ajustados com funções de regularização comuns, como regularização L1 e L2.

Blogueiro e programador com especialidades em Machine Learning e Aprendizagem profunda tópicos. Daniel espera ajudar outras pessoas a usar o poder da IA ​​para o bem social.