• Nenhum resultado encontrado

4 Machine Learning e o XGBoost

4.2 XGBoost : eXtreme Gradient Boosting

4.2.1 Modelo e parâmetros

O termo ‘modelo’ em aprendizagem supervisionada, via de regra, refere-se à es-trutura matemática pela qual os valores da variável de saída, ou de previsão, ou ainda do nodo de desfecho yi são produzidos a partir dos valores de entrada xi, pelas features introduzidas pelo usuário. Um exemplo simples é um modelo linear, em que o valor da saída é dado como uma combinação linear de elementos de entrada ponderados.

ˆ yi =X

j

θjxij. (4.1)

Ao valor de variável de saída yi, podem ser atribuídas diferentes interpretações dependendo da tarefa, ou seja, regressão ou classificação. Poderia, por exemplo, ser transformado para obter uma probabilidade de classe positiva, aplicando a regressão logística e também pode ser usado como uma pontuação de classificação quando se quer classificar as saídas segundo algum critério prefixado.

O termo ‘parâmetro’ em aprendizagem supervisionada refere-se a parte indetermi-nada, a que é preciso apreender e extrair dos dados. Em problemas de regressão linear, os parâmetros são os coeficientes θ. Em geral, usa-se θ para denotar todo o conjunto dos parâmetros, uma vez que existem muitos parâmetros em um modelo.

Com escolhas cuidadosas para yi, é possível expressar uma variedade de tarefas, tais como regressão, classificação e escalonamento. A tarefa de ‘treinar’ o modelo equivale a encontrar os melhores parâmetros θ, os que melhor se ajustam aos dados da features de treinamento xi e saída yi. Para treinar o modelo, é preciso definir uma função objetivo7 para medir o quão bem o modelo se encaixa nos dados de treinamento.

A função objetivo, Eq. (4.2), consiste em dois termos: uma função de perda de treinamento, L, e uma função de prazo de regularização, Ω:

obj(θ) =L(θ) + Ω(θ) (4.2)

A função perda de treinamento mede a previsão do modelo em relação aos dados de treinamento. Uma escolha comum para função perda de treinamento,L, é o erro quadrático médio, que é dado por

L(θ) =X

i

(yiyˆi)2 (4.3)

Outra escolha de função de perda comumente utilizada é a perda logística, a ser usada para a regressão logística:

L(θ) = X

i

hyiln1 + e−ˆyi+ (1−yi) ln 1 + eyˆii (4.4)

O termo de regularização, Ω controla a complexidade do modelo e previne contra a ocorrência de sobreposição de ajuste (overfitting). Considere, por exemplo, o problema da Figura 9, sugerido por Zheng (2018), no qual a solução desejável é ajustar visualmente uma função degrau, dados os pontos do gráfico mostrado no canto superior esquerdo da Figura 9.

A solução otimizada é a que apresenta o melhor ajuste dentre as três mostradas no canto inferior direito da Figura 9. O princípio básico e geral da seleção de modelos é obter o modelo mais simples e eficaz. A discrepância ou compensação entre os dois modelos, ou seja, sua variância, é referida como bias-variance tradeoff na terminologia do Machine Learning. Quanto mais complexo for um modelo, maior será a bias-variance tradeoff do modelo treinado, pois a aleatoriedade nos dados de treinamento se manifesta afetando o processo de ajuste. Por isso, quanto mais simples for o modelo, mais restritivo. Um

7 Uma função objetivo é uma equação a ser otimizada, dadas certas restrições e com variáveis que precisam ser minimizadas ou maximizadas usando técnicas de programação não linear. Pode ser o resultado de uma tentativa de expressar uma meta em termos matemáticos para uso em análise de decisão, pesquisa operacional ou estudos de otimização. (CLAPHAM; NICHOLSON, 2014)

Capítulo 4. Machine Learning e o XGBoost 72

Figura 9 – Pontos a serem ajustados pelas funções de perda de treinamento, L, e de regularização, Ω, do modelo.

Fonte: Adaptado de Zheng (2018)

modelo muito simples, entretanto, é mais limitado e tem poucos elementos para mobilizar na tentativa de se ajustar aos dados de treinamento. Na sensibilidade de ajuste do modelo reside a possibilidade que o modelo seja mais ou menos capaz de descrever a realidade ou o fenômeno (ZHENG, 2018). A Figura 10 apresenta esquematicamente o ponto de ajuste ótimo entre a complexidade do modelo e o erro. Trata-se de minimizar as funções envolvidas e encontrar o ajuste ótimo entre elas.

Os conceitos apresentados até aqui formam o conjunto de elementos básicos da aprendizagem supervisionada e são blocos fundamentais de construção das ferramentas de Machine Learning. Por exemplo, é preciso ser capaz de descrever as diferenças e semelhanças entre gradient boosted trees e random forests. Entender o processo de maneira formal também contribui para o entendimento do objetivo a ser alcançado e a razão por trás das operações heurísticas como poda (pruning) e suavização (smoothing).

Apresentados os elementos do aprendizado supervisionado, é possível examinar mais um exemplo do uso de árvores. O mecanismo utilizado pelo XGBoost como modelo

Figura 10 – Representação esquemática da minimização das funções para otimizar a relação erro e complexidade do modelo.

Fonte: Adaptado de Zheng (2018)

de escolha é chamado modelo de ensemble de árvores de decisão (decision tree ensembles model).

O modelo de ensemble, como será chamado aqui, consiste em um conjunto de árvores de classificação e regressão denominado CART Classification and Regression Trees (BREIMAN, 1996; CHEN; GUESTRIN, 2016). Um exemplo simples de CART é o que classifica se uma pessoa gostará ou não de jogos de computador (games) e é mostrado na Figura 11.

Figura 11 – Diagrama de uma árvore de decisão CART: determinada pessoa gostará ou não degames.

Fonte: Adaptado de Chen e Guestrin (2016).

Capítulo 4. Machine Learning e o XGBoost 74

Classifica-se os membros de uma família em nodos ou ‘folhas’ individuais e se atribui a cada uma delas uma pontuação (score) corrrespondente. Uma folha é a terminação de uma ramificação da árvore. Um CART difere das árvores de decisão no aspecto em que cada folha contém apenas valores de decisão. Num CART, um score efetivo é associado a cada uma das folhas, o que favorece formular interpretações mais elaboradas que vão além da mera classificação. Isso também permite uma abordagem unificada e adequada à otimização, como se verá adiante.

Normalmente, uma única árvore é insuficiente para conter toda a representação (variáveis, condições de contorno do problema etc.) necessária ao modelo completo. Seu uso prático é insatisfatório devido a esta limitação. O que é útil de fato, em termos práticos, é um coletivo de árvores, um modelo conjunto, ou seja, um ensemble, que é a soma dos resultados de várias árvores.

O termo boosting refere-se ao recurso estratégico de combinar o resultado de um conjunto de árvores com fraco aprendizado (weak learners) para produzir, por agrupamento dos aprendizados, um resultado robusto. Em geral o desempenho de uma única árvore é apenas ligeiramente melhor do que um mero palpite aleatório. A ideia de compartilhar uma tarefa distribuindo-a entre muitas árvores que individualmente são fracas e combinar os esforços ao final, melhora significativamente a precisão geral do resultado (SAHA et al., 2018b).

A Figura 12 mostra uma expansão do modelo de uma para duas árvores. As pontuações dos scores de cada árvore individual são somadas para obter a pontuação final.

Note que as árvores do modelo de ensemble se completam.

Figura 12 – O modelo de ensemble: duas árvores para completeza do modelo e somatório dos scores.

Fonte: Adaptado de Chen e Guestrin (2016).

Matematicamente, é possível escrever nosso modelo na forma apresentada na Eq. 4.5

ˆ conjunto de todas as possíveis CART. A função objetivo a ser otimizada é dada pela Eq. 4.6

O modelo usado em random forests é o modelo tree ensembles (WITTEN et al., 2016). A diferença entre ambos surge no modo como se efetua a fase de treinamento.

XGBoost usaensembles de árvores de decisão. A principal diferença para o métodorandom forests está em como as árvores são treinadas no XGBoost. O XGBoost usa gradient boosting. Ao contrário das random forests, uma função objetivo é minimizada e cada folha tem uma pontuação (score) associada que determina a sua associação à classe de qualquer entidade de teste. As árvores subsequentes construídas em uma floresta doXGBoost devem minimizar a função objetivo escolhida para que haja um aprimoramento na precisão da classificação à medida que mais árvores são construídas (SAHA et al., 2018b).

A forma mais eficaz de proceder ao treinamento de qualquer modelo baseado em aprendizagem supervisionada é definir uma função objetivo e otimizá-la. Seja a função objetivo expressa pela Eq. 4.7, note que seus termos são a função de perda de treinamento e a função de regularização

A similitude ou a distinção entre os modelos somente ganha importância prática durante a codificação de soluções, pois significa que ao escrever um código para uma tarefa preditiva e outro para uma tarefa classificatória com uso de tree ensembles, com poucos ajustes o código deverá funcionar tanto para random forests quanto paragradient boosted trees.