Você está na página 1de 20

Análise Preditiva

e Classificação
Otimização de Modelos

Responsável pelo Conteúdo:


Prof. Me. Orlando da Silva Junior

Revisão Textual:
Prof.ª Dr.ª Luciene Oliveira da Costa Granadeiro
Otimização de Modelos

• Introdução à Otimização de Modelos;


• Modelagem de Problemas Analíticos;
• Overfitting;
• Ajuste de Hiperparâmetros.


OBJETIVOS

DE APRENDIZADO
• Explorar problemas preditivos com modelos;
• Conceituar overfitting;
• Estudar estratégias para ajuste de parâmetros;
• Aplicar técnicas para otimização de modelos.
UNIDADE Otimização de Modelos

Introdução à Otimização de Modelos


O desenvolvimento de modelos de Machine Learning é uma atividade presente na
etapa de modelagem de um projeto de ciência de dados. Porém, não basta construir
o modelo. Como analistas, precisamos também validar os resultados desse modelo,
validar a sua importância para o problema de negócio que estamos tentando resolver
e distribuir os resultados em um formato adequado. Outra atividade que muitas vezes
faz parte da modelagem ou posiciona-se ao final do processo, antes da distribuição,
é a otimização dos modelos construídos.
Otimizar um modelo significa que nós estamos buscando melhorar o desempe-
nho preditivo desse modelo antes de entregá-lo em produção. Podemos até pensar
que isso é realizado na fase de modelagem, mas na maior parte das vezes o processo
de modelagem é um processo experimental com o objetivo de melhorar o desem-
penho do preditor de base (baseline), e não encontrar o melhor resultado possível.
Para que você possa compreender o que é importante na otimização do modelo,
nesta unidade, você vai revisitar alguns pontos já estudados, mas com uma visão
sobre o processo de construção e otimização de modelos de Machine Learning.
Embora os modelos descritivos sejam bastante úteis, nós nos concentraremos nos
modelos preditivos e nos principais métodos geradores desses modelos.

A Importância dos Atributos na Modelagem Preditiva


Vamos começar entendendo que, em alguma perspectiva, podemos pensar no
processo de modelagem preditiva como uma “segmentação supervisionada” (PROVOST;
FAWCETT, 2016), em que, a partir de uma base de dados, criamos grupos a partir de
algo que gostaríamos de predizer ou estimar. Nesse sentido, o nosso alvo preditivo pode
ser trabalhado de duas formas:
• De maneira positiva, como na descoberta de quais consumidores são mais pro-
pensos a comprar um produto; ou
• De maneira negativa, como na predição de quais clientes são mais suscetíveis de
abandonar a empresa quando seus contratos vencerem.
Independentemente do alvo escolhido, uma ideia fundamental desse processo de
modelagem preditiva é a seleção dos atributos que farão parte da solução. Você deve
lembrar que esses atributos devem ser importantes para o problema e informativos
a respeito das entidades que queremos representar. Por exemplo, talvez o tipo san-
guíneo de uma pessoa não tenha influência no tipo de produto que ela compra no
supermercado. Embora essa seja uma informação adicional a respeito de quem está
sendo investigado, esse atributo pode não apenas não colaborar na solução como
prejudicá-la.
Assim, os atributos escolhidos para a modelagem devem reduzir a incerteza a
respeito do que queremos descobrir. Quando temos uma variável-alvo, a busca pelos
atributos informativos torna-se mais fácil. A nossa busca tem como meta aqueles
atributos que apresentam maior correlação com o atributo-alvo. Estatisticamente, a
correlação entre os atributos vai nos ajudar a reduzir a incerteza sobre as variáveis.

8
Indução de Modelos Preditivos
O nosso objetivo, ao construir um modelo, é ter uma representação simplificada
de uma realidade particular. Os modelos construídos servem a um propósito especí-
fico simplificado a partir de um conjunto de pressuposições sobre o que é importante
ou não dentro dessa especificidade. Por exemplo, o mapa da Figura 1 é um modelo
que representa a cartografia de algumas regiões do Brasil. Neste mapa, encontramos
destaques para alguns elementos em detrimento de outros que poderiam fazer parte.

Figura 1 – Mapa
Fonte: Getty Images

Em análise e modelagem preditiva, um modelo é uma função matemática ou uma


declaração lógica utilizada para estimar um valor desconhecido. Embora utilizemos o
termo “previsão” muitas vezes, a ideia de estimar um valor parece mais correta quan-
do pensamos que a função pode observar não apenas algo do futuro como também
do presente e do passado. Nos bancos, os modelos de concessão de crédito – para
empréstimo e financiamento imobiliário, por exemplo – estimam a probabilidade
de um potencial cliente ser inadimplente. Em sistemas de mensagem eletrônica, os
modelos para filtragem de SPAM estimam se um novo e-mail é lixo eletrônico.

Quando um novo modelo preditivo é gerado, ele é criado a partir de um processo


de indução. Talvez você já tenha ouvido falar sobre indução e dedução da filosofia.
E é exatamente dela que “puxamos” esses termos para a modelagem preditiva. Assim
como na argumentação filosófica, a indução da modelagem preditiva corresponde à
generalização de regras gerais a partir de casos específicos. Se você pensar na base
de dados como os casos específicos, o modelo preditivo corresponde à regra geral
construída a partir deles. Temos ainda o algoritmo de indução, que é o responsável
por construir essa regra geral.

Dedução e indução: entenda de uma vez por todas a diferença entre os dois,
disponível em: https://bit.ly/2INLc7E

9
9
UNIDADE Otimização de Modelos

Ao pensar na “segmentação supervisionada” como uma intuição para a extração


de padrões, podemos imaginar um processo de segmentação de uma população
em grupos que possuem diferentes valores para a variável-alvo e dentro do grupo os
exemplos possuem valores diferentes para a variável-alvo. Se a segmentação é reali-
zada com os valores das variáveis que serão conhecidas quando o alvo não for, esses
segmentos podem ser utilizados para predizer o valor da variável-alvo.
Como exemplo, um segmento do nosso modelo de concessão de crédito pode ser
expresso na frase “aposentados com mais 67 anos residentes na cidade de São Paulo
não são inadimplentes”, em que a indicação de inadimplência representa a variável-
-alvo do segmento e o restante da frase define o segmento.
Pensando em como podemos expressar um segmento a partir das suas carac-
terísticas, podemos nos perguntar: como podemos decidir se um atributo contém
informações importantes sobre o alvo?
Essa pergunta é fundamental para a compreensão do modelo de segmentação.
Afinal, qual é o segmento que melhor prevê a concessão de crédito?
Alguns algoritmos, como as árvores de decisão, conseguem ter em sua base a
seleção automática de atributos informativos. No processo de indução, o algoritmo
busca recursivamente os atributos para subconjuntos de dados, fazendo com que o
espaço das instâncias fique segmentado em regiões semelhantes. Como esse proces-
so observa o alvo, a divisão do espaço é supervisionada.
Uma das principais vantagens dos modelos de árvores é a sua fácil interpretabili-
dade. Apesar de não serem os modelos mais precisos, eles são facilmente compre-
endidos e explicados. Essa característica é importante não apenas para o analista
que modela como também para os envolvidos no projeto que dominam o negócio.

Modelagem de Problemas Analíticos


A modelagem preditiva envolve buscar por um modelo do atributo-alvo a partir
de outros atributos descritivos. Por meio dos dados, produzimos a estrutura de um
modelo e os “parâmetros” numéricos do modelo, que correspondem às estimativas
de probabilidade (PROVOST; FAWCETT, 2016).

Uma maneira de aprender um modelo preditivo é partir da especificação da


estrutura do modelo, deixando alguns parâmetros numéricos sem especificação.
Ao longo da aprendizagem, o processo calcula os melhores valores dos parâmetros
a partir do conjunto de dados para construir o modelo. Nesse caso, o objetivo da
mineração de dados é o ajuste dos parâmetros de modo que o modelo se ajuste aos
dados da melhor forma possível. Muitos métodos de Machine Learning funcionam
dessa forma, que é conhecida como modelagem paramétrica.

A modelagem paramétrica assume que o conjunto de dados é proveniente de um tipo de


distribuição de probabilidade e faz inferências sobre os parâmetros da distribuição. Em ge-

10
ral, o termo paramétrico refere-se à média e ao desvio-padrão, que são os parâmetros que
definem as populações que apresentam distribuição normal.
Em contrapartida, a modelagem não paramétrica corresponde a técnicas que não depen-
dem de nenhuma distribuição de dados particular. Por exemplo, um histograma é uma es-
timação não paramétrica de distribuição de probabilidade.

Classificação por Funções


A maior parte dos métodos de Machine Learning são paramétricos e baseados
em modelos lineares. Por exemplo, podemos discriminar (separar) os exemplos de
treinamento de duas classes se introduzirmos um limite que é uma linha reta não
perpendicular aos eixos.

A Figura 2 ilustra um conjunto de exemplos no espaço em que é possível visu-


alizar uma linha reta imaginária dividindo o espaço em duas partes, separando os
pontos de dados vermelhos e azuis. Ao traçarmos uma reta criando essa separação,
construiremos um classificador linear, que consiste essencialmente na soma ponde-
rada dos valores dos dois atributos plotados no gráfico.

Esse caso pode ser representado matematicamente pela equação seguinte, em que a
corresponde à inclinação da reta e b é a interceptação y, ou seja, quando y = 0:

y ax + b
=

Um novo exemplo x pode ser classificado como positivo (vermelho) se ele estiver
acima da linha imaginária, e como negativo (azul) se ele estiver abaixo.

Figura 2 – Pontos de dados brutos


Fonte: Acervo do conteudista

11
11
UNIDADE Otimização de Modelos

Podemos ainda reorganizar a função de classificação em uma função por partes,


como:

 , ax  b  0
classe ( x)  
 , ax  b  0

Uma função definida por partes é uma função definida em termos de várias outras
subfunções e cuja definição depende do valor da variável independente. Cada uma das
subfunções que definem a função pertence a um subdomínio disjunto entre si que estão
contidos no domínio da função.

Esse tipo de função por partes é conhecido como discriminante linear, pois ele
discrimina (separa) os exemplos entre as classes conhecidas. A nossa linha imaginá-
ria, existindo, passa a ser a combinação linear dos atributos do problema, sendo
conhecida como limite de decisão. No exemplo apresentado, a combinação linear
é uma reta. O limite de decisão pode ser um plano quando temos três dimensões ou
um hiperplano para mais dimensões.

Na geometria, um hiperplano é uma generalização de uma reta ou um plano para


várias dimensões.

Com a segmentação supervisionada, o nosso objetivo é separar os dados em re-


giões com diferentes valores do atributo-alvo. É importante observar que, na maior
parte das vezes, trabalharemos com vários atributos. Assim, nossa análise será multi-
variada e a função matemática levará em conta todos (ou a maior parte) dos atributos
do nosso problema.

Utilizando essas funções, o papel da aprendizagem de máquina é ajustar o mo-


delo para um determinado conjunto de dados. Nesse caso, “ajustar” significa que o
algoritmo de aprendizagem deverá encontrar um conjunto de pesos w da função
linear y a partir dos atributos x:

y =f ( x) =w0 + w1 x1 + w2 x2 +

Conhecendo os pesos, podemos interpretar a importância de cada atributo a


partir do valor associados a eles para cada atributo. Quanto maior o peso, mais im-
portante será o atributo para o problema estudado.

A ideia de seleção de atributos relevantes e informativos aplica-se a diferentes


tarefas da análise preditiva, incluindo a classificação, a regressão e a estimativa de
probabilidade de classe. Nas próximas seções, você vai conhecer mais a respeito da
ideia de aprendizagem em regressão e estimativa de probabilidade de classe.

12
Regressão por Funções
A regressão para uma função linear toma como base a ideia da função discrimi-
nante linear conhecida anteriormente:

y =f ( x) =w0 + w1 x1 + w2 x2 +

No caso da regressão linear, o atributo-alvo é uma variável numérica. O al-


goritmo de aprendizagem tem como meta ajustar o modelo aos dados de entrada
buscando pelos parâmetros ótimos da função. Quando falamos sobre os parâmetros
ótimos, estamos nos referindo à otimização do modelo, tema central desta unidade.

Considerando a otimização de um modelo como um problema a ser solucionado


pelos algoritmos de aprendizagem de máquina, precisaremos responder a algumas
perguntas, como:
• Quais ponderações ou pesos devemos escolher?
• Quão longe estão os valores estimados dos valores reais sobre os dados
de treinamento?
• Quão grande é o erro a ser ajustado ao modelo?

Você deve ter observado que a última pergunta corresponde aos erros do
processo de treinamento. Assim, a nossa função-objetivo deverá minimizar os erros.
Nos métodos de regressão, o erro é calculado para cada ponto de dado no conjunto
de treinamento e os resultados são somados. Entre os diversos modelos que podem
se ajustar aos dados, o modelo ótimo será aquele o menor montante de erros nos
dados de treinamento.

Uma forma de calcular o erro entre o valor estimado (ê) e o valor real (e) é sub-
traindo um valor do outro, como na equação a seguir:

erroAbsoluto= e − ê

Observando o conjunto de dados como um todo, teremos o erro médio absoluto


(MAE – Mean Absolute Error), uma das medidas mais populares dos problemas de
regressão, que pode ser calculado pela seguinte equação (FACELLI et al., 2011):

1 n
MAE
= ∑ ei − êi
n i =1

No entanto, a função-objetivo mais comum da regressão é a minimização da


soma ou a média dos quadrados desses erros, cujo procedimento é conhecido por
método dos mínimos quadrados. A maior parte das bibliotecas das linguagens
de programação utiliza esse método como função-objetivo para calcular a regres-
são. Outra vantagem desse método é que o erro quadrático penaliza os erros
muito grandes. Por outro lado, por ser uma função bastante sensível aos dados de

13
13
UNIDADE Otimização de Modelos

entrada, a função linear resultante pode ficar distorcida. Assim, é importante que o
analista escolha a melhor função-objetivo para o problema de regressão a partir de
critérios definidos pelo problema de negócio.

Estimativa de Probabilidade de Classe


Uma aplicação bastante comum e cada vez mais presente entre os problemas de ne-
gócio em Analytics é a estimativa de probabilidade de classe. O propósito desse tipo de
aplicação é estimar a probabilidade de um novo exemplo pertencer à classe de interesse.

Por exemplo, uma empresa pode desejar saber quais são os casos em que a
probabilidade de fraude tem maior perda monetária para a empresa. Observe que
uma transação de baixo valor (como R$ 1) pode ocasionar uma probabilidade de
fraude alta (p = 1), mas não representa grande perda financeira. Em contrapartida,
uma transação de alto valor (R$ 1 milhão) pode ter uma probabilidade de fraude
média (p = 0,69), exigindo atenção especial dos analistas.

Para problemas como esse, podemos aplicar um modelo linear aos dados, mas
escolhendo outra função objetivo, mais adequada à estimativa de probabilidade de
classe. A regressão logística é um procedimento que podemos utilizar nesse caso.

Funções Não Lineares


Uma característica interessante de alguns modelos é que eles podem não ser com-
pletamente solucionáveis por uma reta ou função linear. Problemas mais complexos
certamente exigirão soluções mais complexas e modelos não lineares para ajuste aos
dados. Na Figura 3, é apresentado o gráfico de uma solução encontrada por meio de
um modelo complexo, representado pela linha que corta os pontos de dados.

Figura 3 – Representação gráfica de uma solução complexa


Fonte: Acervo do conteudista

Nesta categoria de modelos, as máquinas de vetores de suporte (SVMs) e as


redes neurais artificiais são as técnicas mais comuns para o ajuste de parâmetros.

14
Overfitting
Nas seções anteriores, você conheceu com mais detalhes a importância dos atri-
butos nos problemas de análise preditiva e a relação dos atributos com os modelos.
Você também conheceu o funcionamento dos modelos quando eles são aplicados a
dados de treinamento em situações simples e mais complexas, tanto para problemas
de classificação quanto para problemas de regressão.

Você ainda observou a importância em ter um modelo que se ajuste “bem” aos
dados de treinamento, e que esse ajuste pode ser controlado por meio de pesos, que
são combinados em uma função.

Um problema que queremos estudar a respeito desse ajuste é sobre o quão flexível
o nosso modelo deve ser para se ajustar aos dados. Devemos notar aqui que a
construção de um modelo tem como finalidade não os dados de entrada, mas os
dados que serão conhecidos após a modelagem. Sempre estaremos buscando um
modelo que se aplique a novos dados, que podem ser extraídos da mesma aplicação
ou população originária.

Se, por um lado, a flexibilidade é importante para a busca de padrões, por outro,
ela pode reconhecer como padrões o que na verdade são ocorrências ao acaso. Nos-
so modelo deve priorizar a generalização, ou seja, a predição de novos casos que
ainda não foram observados.

Sem essa habilidade de generalização, o algoritmo de aprendizagem seria


responsável apenas por armazenar os dados históricos e consultá-los no momento
da classificação. Por exemplo, em vez de predizer se um novo cliente c comprará
o produto p, o algoritmo responde “sim” para o cliente a e “não” para o cliente b,
memorizando os dados. Esse modelo de tabela não é o que estamos buscando para
a nossa análise preditiva.

Nesse exemplo, que não pode ser considerado um modelo preditivo, não existe
generalização. O modelo criado não é capaz de extrapolar além do que já foi obser-
vado. Ele é ajustado perfeitamente aos dados de treinamento, criando um sobreajuste
a esses dados.

O overfitting (sobreajuste) é uma característica dos modelos preditivos em que


existe uma tendência dos métodos de Machine Learning em adaptar os modelos
aos dados de treinamento, prejudicando a generalização em pontos de dados não
observados. A Figura 4 apresenta uma comparação entre dois modelos lineares
ajustados a um conjunto de pontos de dados. O modelo representado pela linha
vermelha ilustra o modelo ideal para ajuste aos dados, com generalização e flexibi-
lidade. Na linha azul, é representado o modelo sobreajustado aos dados. Observe
que esse modelo busca pelos pontos de dados e sua curva é menos flexível que a
linha do modelo generalizado.

15
15
UNIDADE Otimização de Modelos

Figura 4 – Comparação entre o modelo ideal (vermelho) e o modelo sobreajustado (azul)


Fonte: Acervo do conteudista

Mesmo que o modelo de tabela nunca seja construído por um você, é importante
observar que o overfiting pode existir em qualquer modelo preditivo construído por
Machine Learning. É verdade que existem modelos que levam mais ao sobreajuste
que outros, porém, nem sempre é ideal selecioná-los. Muitas vezes, o nosso proble-
ma investigado será tão complexo que um modelo igualmente complexo será neces-
sário, ainda que ele possa nos prejudicar em relação ao sobreajuste. Assim, a melhor
estratégia é identificar o overfitting e gerenciar a complexidade.

Os melhores modelos serão aqueles que se encaixam melhor aos dados e forem
mais simples.

Na prática, podemos utilizar a regularização, que tem a finalidade de otimizar


não apenas o ajuste do modelo aos dados, como também a combinação de ajuste
e complexidade do modelo – dois princípios que colaboram para um bom desem-
penho preditivo. Entre as técnicas para regularização, estão a poda de árvores de
decisão e a aplicação de penalidades em funções-objetivo de classificadores lineares.

Ajuste de Hiperparâmetros
Um hiperparâmetro é um parâmetro que não é diretamente aprendido pelos es-
timadores. Por exemplo, os parâmetros C, kernel e gamma são hiperparâmetros do
algoritmo SVM. Todos esses hiperparâmetros são utilizados para controlar a apren-
dizagem. Ao contrário dos pesos das redes neurais artificiais – que são considerados
parâmetros do algoritmo –, os hiperparâmetros não podem ser aprendidos durante
o processo de treinamento.

O ajuste (ou otimização) de hiperparâmetros é um problema em Machine Learning


que trata da escolha dos hiperparâmetros ideais de um algoritmo de aprendizagem.

16
Além de a otimização de hiperparâmetros melhorar o desempenho preditivo do modelo
de decisão, podemos controlar o sobreajuste do modelo aos dados de treinamento.

A otimização dos hiperparâmetros deve encontrar um conjunto de hiperparâ-


metros que devolvem um modelo ótimo que minimiza uma função de perda em
um determinado conjunto de dados independente. A função-objetivo que minimiza
a função de perda toma como entrada o conjunto de hiperparâmetros e retorna à
perda associada. Na maior parte das vezes, para encontrar esse modelo ótimo, é
utilizada a validação cruzada.

Existem muitas abordagens para buscar os hiperparâmetros ótimos no espaço de


hiperparâmetros. Nas seções seguintes, você vai conhecer em detalhes como funcio-
nam as duas principais abordagens:
• Busca aleatória; e
• Busca em grade.

Busca em Grade (Grid Search)


A busca em grade é provavelmente o método de busca mais utilizado no ajuste
de hiperparâmetros. A ideia fundamental desse método é gerar exaustivamente can-
didatos a partir de uma grade de valores pré-determinados manualmente e varrer o
espaço de hiperparâmetros até que os hiperparâmetros ótimos sejam encontrados.
Para o algoritmo saber que encontrou o candidato ótimo, ele avalia todas as possibi-
lidades, preferencialmente, no subconjunto de avaliação.

Busca Aleatória (Random Search)


Na busca aleatória, a combinação exaustiva da busca em grade é substituída um
conjunto de configurações, em que cada configuração é selecionada a partir de uma
distribuição de possíveis valores de parâmetros. Na prática, uma das configurações é
selecionada aleatoriamente pelo algoritmo, que a valida sobre o conjunto de dados.

Embora a busca aleatória possa não selecionar o candidato ótimo, ela pode superar
a busca em grade quando existe um pequeno conjunto de hiperparâmetros pequeno
que afeta o desempenho final da aprendizagem (BERGSTRA; BENGIO, 2012). Outra
vantagem da busca aleatória é que ela permite que conhecimento a priori seja adicio-
nado à busca.

17
17
UNIDADE Otimização de Modelos

Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

 Vídeos
Calibragem dos hiperparametros em redes neurais profundas
https://youtu.be/cWyuUpZfZl0
Underfitting e Overfitting
https://youtu.be/MwZbuMRVxtk
Prepare o seu conjunto de dados para machine learning
https://youtu.be/5Dohtgm79n0

 Leitura
Ajuste do modelo: subajuste versus sobreajuste
https://amzn.to/37vQBdX
Model selection and evaluation
https://bit.ly/34iHSd0

18
Referências
BERGSTRA, J.; BENGIO, Y. Random search for hyper-parameter optimization.
The Journal of Machine Learning Research, v. 13, n. 1, p. 281-305, 2012.

FACELI, K. et al. Inteligência Artificial: Uma abordagem de aprendizado de


máquina. Rio de Janeiro: LTC, 2011.

KUHN, M.; JOHNSON, K. Applied predictive modeling. New York: Springer, 2013.

PROVOST, F.; FAWCETT, T. Data Science para negócios. Tradução de Marina


Boscatto. Rio de Janeiro: Alta Books, 2016.

19
19

Você também pode gostar