Fundamentos de IA

O que ÃĐ Gradient Boosting?

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

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 gradient boosting. Gradient boosting ÃĐ basicamente o processo de converter modelos de aprendizado fracos em modelos de aprendizado fortes. No entanto, como exatamente isso ÃĐ realizado? Vamos dar uma olhada mais prÃģxima nos algoritmos de gradient boosting e entender melhor como um modelo de gradient boosting converte aprendizes fracos em aprendizes fortes.

Definindo Gradient Boosting

Este artigo visa dar a vocÊ uma boa intuiçÃĢo do que ÃĐ o gradient boosting, sem muitas quebras nos cÃĄlculos matemÃĄticos que subjazem os algoritmos. Uma vez que vocÊ tenha uma apreciaçÃĢo de como o gradient boosting opera em um nível alto, vocÊ ÃĐ encorajado a ir mais fundo e explorar a matemÃĄtica que o torna possível.

Vamos começar definindo o que significa “aumentar” um aprendiz. Aprendizes fracos sÃĢo convertidos em aprendizes fortes ajustando as propriedades do modelo de aprendizado. Exatamente qual algoritmo de aprendizado estÃĄ sendo aumentado?

Modelos de aumento funcionam aumentando outro modelo de aprendizado de mÃĄquina comum, uma ÃĄrvore de decisÃĢo.

Um modelo de ÃĄrvore de decisÃĢo funciona dividindo um conjunto de dados em porçÃĩes menores e menores, e uma vez que as subporçÃĩes nÃĢo possam ser divididas mais, o resultado ÃĐ uma ÃĄrvore com nÃģs e folhas. NÃģs em uma ÃĄrvore de decisÃĢo sÃĢo onde as decisÃĩes sobre os pontos de dados sÃĢo feitas usando diferentes critÃĐrios de filtragem. As folhas em uma ÃĄrvore de decisÃĢo sÃĢo os pontos de dados que foram classificados. 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 aumento sÃĢo treinados.
Foto: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Um tipo de algoritmo de aumento ÃĐ o algoritmo AdaBoost. 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 ÃĐ avaliada para precisÃĢo, os pesos para as diferentes observaçÃĩes sÃĢo ajustados. ObservaçÃĩes que foram fÃĄceis de classificar tÊm seus pesos reduzidos, enquanto observaçÃĩes que foram 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 novamente com base no novo modelo. Uma terceira ÃĄrvore ÃĐ criada com base no erro calculado para o modelo, e os pesos sÃĢo ajustados novamente. Esse processo continua por um nÚmero determinado de iteraçÃĩes, e o modelo final ÃĐ um modelo de ensemble que usa a soma ponderada das previsÃĩes feitas por todas as ÃĄrvores anteriormente construídas.

O processo descrito acima usa Árvores de DecisÃĢo e os preditores/base, no entanto, uma abordagem de aumento pode ser realizada com uma ampla gama de modelos como os muitos classificadores e regressores padrÃĢo. Os conceitos-chave a entender sÃĢo que os preditores subsequentes aprendem com os erros cometidos pelos anteriores e que os preditores sÃĢo criados sequencialmente.

A principal vantagem dos algoritmos de aumento ÃĐ que eles levam menos tempo para encontrar as previsÃĩes atuais em comparaçÃĢo com outros modelos de aprendizado de mÃĄquina. No entanto, ÃĐ necessÃĄrio ter cuidado ao usar algoritmos de aumento, pois eles sÃĢo propensos a sobreajustar.

Gradient Boosting

Agora vamos olhar para um dos algoritmos de aumento mais comuns. Modelos de Gradient Boosting (GBM) sÃĢo conhecidos por sua alta precisÃĢo, e eles aumentam os princípios gerais usados no AdaBoost.

A principal diferença entre um Modelo de Gradient Boosting e o AdaBoost ÃĐ que os GBMs usam um mÃĐtodo diferente de calcular quais aprendizes estÃĢo identificando mal os pontos de dados. O AdaBoost calcula onde um modelo estÃĄ com desempenho ruim examinando os pontos de dados que sÃĢo fortemente ponderados. Enquanto isso, os GBMs usam gradientes para determinar a precisÃĢo dos aprendizes, aplicando uma funçÃĢo de perda a um modelo. FunçÃĩes de perda sÃĢo uma maneira de medir a precisÃĢo do ajuste de um modelo ao 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 em seu objetivo desejado.

Tomando a funçÃĢo de perda mais comum – Erro QuadrÃĄtico MÃĐdio (MSE) – como exemplo, descida de gradiente ÃĐ usada para atualizar as previsÃĩes com base em uma taxa de aprendizado prÃĐ-definida, visando encontrar os valores onde a perda ÃĐ mínima.

Para esclarecer:

Novas previsÃĩes do modelo = variÃĄveis de saída – previsÃĩes imperfeitas antigas.

Em um sentido mais estatístico, os GBMs visam encontrar padrÃĩes relevantes nos resíduos de um modelo, ajustando o modelo para se ajustar ao padrÃĢo e trazer os resíduos o mais prÃģximo de zero possível. 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 estÃĢo encontrando padrÃĩes dentro dos resíduos e atualizando 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 esteja o mais prÃģxima de 0 possível, significando 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. O MSE foi selecionado acima para fins de simplicidade.

VariaçÃĩes em Modelos de Gradient Boosting

Modelos de Gradient Boosting sÃĢo algoritmos gananciosos que sÃĢo propensos a sobreajustar em um conjunto de dados. Isso pode ser protegido com vÃĄrios mÃĐtodos diferentes que podem melhorar o desempenho de um GBM.

Os GBMs podem ser regulamentados com quatro mÃĐtodos diferentes: Shrinkage, RestriçÃĩes de Árvore, Stochastic Gradient Boosting e Aprendizado Penalizado.

Shrinkage

Como mencionado anteriormente, nos GBMs, as previsÃĩes sÃĢo somadas em uma sequÊncia. No “Shrinkage”, as adiçÃĩes de cada ÃĄrvore à soma geral sÃĢo ajustadas. Pesos sÃĢo aplicados que desaceleram a taxa de aprendizado do algoritmo, necessitando que mais ÃĄrvores sejam adicionadas ao modelo, o que normalmente melhora a robustez e o desempenho do modelo. A compensaçÃĢo ÃĐ que o modelo leva mais tempo para treinar.

RestriçÃĩes de Árvore

Restringir a ÃĄrvore com vÃĄrias alteraçÃĩes, como adicionar mais profundidade à ÃĄrvore ou aumentar o nÚmero de nÃģs ou folhas na ÃĄrvore, pode tornar mais difícil para o modelo sobreajustar. Impor uma restriçÃĢo no nÚmero mínimo de observaçÃĩes por divisÃĢo tem um efeito semelhante. Mais uma vez, a compensaçÃĢo ÃĐ que leva mais tempo para o modelo treinar.

Amostragem AleatÃģria

Os aprendizes individuais podem ser criados por meio de um processo estocÃĄstico, com base em subamostras aleatÃģrias do conjunto de dados de treinamento. Isso tem o efeito de reduzir as correlaçÃĩes entre as ÃĄrvores, o que protege contra o sobreajuste. O conjunto de dados pode ser subamostrado antes de criar as ÃĄrvores ou antes de considerar uma divisÃĢo na ÃĄrvore.

Aprendizado Penalizado

AlÃĐm de restringir o modelo por meio da limitaçÃĢo da estrutura da ÃĄrvore, ÃĐ possível usar uma ÃĄrvore de regressÃĢo. Árvores de regressÃĢo tÊm valores numÃĐricos anexados a cada uma das folhas, e esses funcionam como pesos e podem ser ajustados com funçÃĩes de regularizaçÃĢo comuns, como L1 e L2.

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.