Monitorização de modelos de Machine Learning: tipos de desvio

ESTE ARTIGO EM 5 SEGUNDOS:

Uma vez decidido qual o melhor tipo de modelo de Machine Learning, é necessário ter em mente que os modelos em produção, provavelmente, vão receber conjuntos de dados com diferentes padrões em comparação com aqueles que foram treinados. Este fenómeno poderá levar à queda de performance em comparação com os resultados obtidos na fase de treino. Portanto, é preciso detetar estas mudanças de performance, identificar quais as causas para as discrepâncias e, finalmente, agir de forma mais apropriada para manter os melhores resultados possíveis. Descubra mais sobre monitorização de modelos de machine learning.

Monitorização de modelos de machine learning: tipos de desvio (drift)

Um modelo de machine learning não só precisa de uma monitorização regular como um software tradicional, ou seja, assegurar que o processo é estável e que corre como esperado, mas também é necessário ter em atenção problemas relacionados especificamente com machine learning. Um destes problemas é o desvio. Existem três tipos principais de desvio que têm impacto nos problemas de aprendizagem automática: covariância, probabilidade prévia e de conceito. Nas próximas secções são definidos os conceitos destes três tipos de desvio e é dado um exemplo dentro do contexto de um modelo de deteção de correio eletrónico spam.

1. Desvio de covariância

O desvio de covariância ocorre quando a distribuição do conjunto de dados de input ?(?) varia, mas a relação funcional entre os atributos e os resultados ?(?|?) previstos (target) mantém.

No caso da deteção de e-mails spam, isto pode acontecer quando novas condições surgem devido ao fato de um novo software estar a ser utilizado, ou quando existe uma melhoria nas estratégias utilizadas pelos spammers. Estas mudanças alteram o conteúdo dos e-mails, contudo, não alteram o facto de um e-mail ser considerado spam ou não.

2. Desvio de probabilidade prévia

Este tipo de desvio refere-se à mudança de distribuição de previsões alvo (target) ?(?), ou seja, a distribuição de probabilidades prévia da classe alvo varia entre os dados teste e os dados treino, mas a relação entre os atributos e a classe alvo ?(?|?) mantém-se inalterada.

No exemplo referido, isto poderá acontecer quando há um fluxo nos e-mails de spam que seguem os mesmos padrões do conjunto de dados de treinamento.

3. Desvio de conceito

Desvio de conceito refere-se aos casos em que a definição da classe alvo varia, isto é, quando ?(?) não é alterado, mas ?(?|?) varia de treino para teste.

Isto pode surgir quando há uma mudança na política da empresa, o que poderá e levar que um grupo de e-mails de um determinado domínio sejam considerados spam.

Combinação de desvios

Na prática, estes fenómenos, normalmente, surgem ao mesmo tempo. Por exemplo, quando surge uma nova forma de e-mails phishing, ocorre um desvio de covariância pois o novo formato do e-mail não estava presente no conjunto de dados treino. Para além disso, também ocorre um desvio de probabilidade prévia devido ao aumento de número de e-mails considerados spam. Finalmente, ocorre um desvio de conceito porque os padrões que indicam que o novo formato de e-mail é spam não se encontram no conjunto de dados treino.

Detetar o desvio

É importante conseguir identificar estes desvios para entender a qualidade de um modelo, e, assim, mitigar os maiores problemas que advêm da degradação associada. Para garantir a estabilidade, é essencial monitorizá-los continuamente e ajustar conforme necessário. Uma possível abordagem é configurar ferramentas capazes de detetar os desvios e re-treinar os modelos regularmente, para, assim, garantir que mantenham a sua eficácia e precisão ao longo do tempo.

Tendo em conta o tipo de desvios, é importante saber identificá-los e saber adaptar estratégias para cada um.

1. Desvio de covariância

A detecção do desvio de covariância é provavelmente a mais direta, não exige que se conheça todo o contexto do grupo dos dados de teste, mas, no entanto, também pode ser a solução com mais ruído (noise) associado. Assim, torna-se mais complicado conseguir identificar concretamente os motivos principais deste acontecer e arriscar soluções que não terão um impacto relevante no desempenho do modelo.

A estratégia mais comum é utilizar um teste estatístico comparando a distribuição de cada atributo entre o conjunto de dados de referência e os novos dados. Embora se chegue facilmente à conclusão de que esta estratégia não é a melhor solução para identificar as dependências entre os atributos, observando-se um ruído notável durante a sua análise, que se deve ao número de pares de atributos crescer de forma quadrática com o número de atributos, assumindo que as suas distribuições individuais se mantenham. Se a interação entre dois atributos é particularmente relevante para o correto funcionamento de um modelo, então pode-se considerar monitorizá-la com um teste estatístico na distribuição conjunta.

2. Desvio de Probabilidade Prévia

A identificação do desvio de probabilidade prévia é feita sabendo o contexto completo dos novos dados. O processo de conhecer o contexto dos dados não é, muitas vezes, um processo linear, o que torna o método menos reativo, no entanto, é um melhor método de identificar o desvio do que com a covariância porque tem em conta o contexto com que os dados de treino foram classificados pela equipa de Data Science.

3. Desvio de Conceito

Conseguir identificar o desvio de conceito é fundamental visto que, mesmo um modelo com boas capacidades de extrapolação, será afetado. Assim, como o desvio de probabilidade prévia, é necessária uma boa contextualização dos novos dados para conseguir identificar este tipo de desvio, e depois ter-se em conta a performance do modelo. Portanto, se a sua performance decair com os novos dados em relação aos dados de treino – e não há indicadores de que estejamos perante um desvio de covariância ou de probabilidade prévia – então, é provável que exista um desvio de conceito.

Como reduzir as consequências de desvio de dados?

Se o desvio de dados está a afetar os resultados do modelo com frequência, então uma análise atenta à causa do seu desvio deverá ser feita. É possível que alguns atributos estejam a sofrer um desvio de covariância e alguma engenharia de dados seja necessária para mitigar esse efeito. Por exemplo, removendo os efeitos sazonais ou trabalhar com valores relativos em vez de valores absolutos.

Portanto, quando o desempenho de um modelo diminui devido ao desvio, idealmente o modelo deve ser re-treinado. Mas quando é que chegamos a esse ponto? Uma abordagem será automatizar o processo de deteção usando um conjunto de métricas ou eventos. Isto garante que o modelo é imediatamente atualizado quando não atinge os resultados mínimos de performance impostos.

Outra abordagem possível para monitorizar modelos é a deteção semiautomática. Aqui, as condições serão definidas e, quando atendidas, um alerta é dado aos programadores indicando qual a ação necessária a efetuar sobre o modelo. Este método é útil quando o desvio não é facilmente detetável por um sistema automatizado, como no caso de modelos mais complexos, ou quando os dados são altamente variáveis.

Pensamentos Finais

A performance de um modelo de ML, regra geral, é volátil e pode diminuir devido a alterações nos dados. Isto ocorre quando o modelo processa novos dados, quando surgem discrepâncias entre os dados usados para teste e os usados para treino e, até mesmo, com novas interpretações dos dados.

Para mitigar os problemas associados aos desvios de dados, é importante estar atento e compreender estes três tipos possíveis de desvio que possamos encontrar nos modelos. De forma que consigamos identificar precisamente o tipo de desvio com que estamos a lidar e, a partir daí, formular hipóteses para a causa, ou causas reais do problema e saber que tipo de solução aplicar.

É importante entender as necessidades das empresas com as quais trabalhamos e concluir qual é a melhor abordagem de monitorização. Uma solução totalmente automatizada nem sempre é possível em contextos de dados altamente complexos.

A nossa equipa compreende perfeitamente o quão crucial é a monitorização de modelos de machine learning, e compreender e saber abordar os desvios de dados associados aos modelos. Faz parte do compromisso da Xpand IT desenvolver os modelos mais eficazes e precisos da área.

João PinhoMonitorização de modelos de Machine Learning: tipos de desvio

Read more in

Data Science

Readers also checked out

Do you want to receive amazing news about the IT industry's hot topics and the best articles about state-of-the-art technology?
Subscribe to our newsletter and be the first one to receive information to keep you constantly on edge.