Fundamentos de IA
O que ÃĐ Gradient Boosting?
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.












