Concept Drift em Aprendizado de Máquina - Uma Introdução
Tags: machinelearning, ai, braziliandevs
Published: 2023-11-01 13:19:55

Os dados de um cenário qualquer estão sempre evoluindo, faz parte da natureza de qualquer conjunto de dados. Entretanto, quando essa evolução invalida um modelo de aprendizado de máquina, nós temos o que chamamos de Concept Drift.

A tradução literal de Concept Drift seria “Desvio de Conceito”. Entretanto, por não ser um termo amplamente usado, nesse artigo irei me referir a esse termo somente em inglês.

Esse fenômeno acontece quando as propriedades estatísticas de uma variável alvo, que o modelo está tentando predizer, mudam de uma forma inesperada.

Em modelos tradicionais, isso faz com que as predições se tornem menos acuradas conforme o tempo passa. Sendo assim, a detecção de Concept Drift e a adaptação a esse fenômeno são primordiais em qualquer aplicação com dados e modelos que mudem dinamicamente.

## Exemplos de Concept Drift

Existem muitos cenários em que esse fenômeno acontece constantemente. Entre eles podemos citar, por exemplo:

- Demanda elétrica de uma cidade ao longo do ano
- Mercado de ações
- Preferências de compra
- Probabilidade de sucesso de filmes

Em qualquer um desses cenários, o valor das predições de um modelo tradicional começa a decair conforme o tempo passa. 

Vamos explorar os cenários de demanda elétrica e de preferência de compras.

Quando a pandemia de Covid-19 começou, entre vários outros efeitos, dois cenários mudaram muito rapidamente. Primeiro que o número de pessoas em casa em horários de trabalho aumentou consideravelmente. Também, a busca por máscaras e por álcool em gel aumentaram mais consideravelmente ainda.

Dessa forma, com o advento da pandemia, tanto a demanda energética residencial quanto a busca por produtos específicos aumentou de uma hora para a outra, causando desabastecimento desses produtos (energia elétrica residencial, máscaras e álcool em gel) para muitas pessoas.

Modelos de predição de série histórica para abastecimento energético e modelos de predição de estoque tradicionais sofreram muito com esse Concept Drift, tendo suas predições quase que totalmente invalidadas nesse novo cenário.

## Possíveis Soluções

Para resolver o problema de Concept Drift, há duas principais abordagens: soluções reativas e soluções de rastreamento.

### Soluções Reativas

A principal solução reativa para lidar com o fenômeno de mudança abrupta de cenário é treinar o modelo novamente, desde o início, com os dados novos, em reação a um mecanismo de acionamento, como um teste de detecção de alterações estatísticas.

Chamam-se de soluções reativas porque só resolvem o problema depois de ele acontecer, o que pode ser tarde demais em alguns cenários.

### Soluções de Rastreamento

Soluções, geralmente, mais maduras envolvem rastrear constantemente esse desvio e resolver o problema antes de ele acontecer, com técnicas como, por exemplo:

- Atualização constante do modelo
- **Aprendizado de Máquina Online** (minha solução favorita)
- Retreinamento constante com as amostras mais recentes
- Treinar um classificador com dados novos e substituir o anterior

## Conclusão

Nesse artigo introduzi o conceito de Concept Drift no contexto de aprendizado de máquina. Apresentei alguns exemplos e possíveis soluções para lidar com esse comportamento.

Em futuros artigos busco me aprofundar na solução de Concept Drift com Aprendizado de Máquina Online. Para se introduzir no assunto, leia meus outros artigos de aprendizado de máquina online em: https://dev.to/nobrelucas/introducao-ao-aprendizado-de-maquina-online-3ocm.

Se gostou desse artigo, por favor avalie ele de alguma forma. Comentários, críticas, sugestões e correções são muito bem-vindas. Agradeço pelo seu tempo. Até a próxima! 😊