Data

29 nov, 2016

Ego x acurácia: um problema no machine learning

Publicidade

Ultimamente, tenho estudado muito machine learning e outros aspectos relacionados a área denominada data science. Neste artigo, vou falar um pouco sobre o impacto que a suposta “qualidade” de modelos exerce no comportamento de pessoas, especialmente no que diz respeito ao ego.

Muitos dos problemas solucionados na prática pelo machine learning envolvem o uso de algoritmos de predição e classificação. Este tipo de operação tem como objetivo dizer o que existe em uma foto, identificação de dígitos em imagens, ou reconhecer a voz em um áudio, dentre outras tarefas importantes. No meu treinamento de introdução ao Machine Learning com Python, comento estes e muitos outros cenários, inclusive mostrando como montar algumas destas classificações com Python.

Em geral, para medir qual é a eficácia, ou seja, o quão “bom” é o algoritmo ou modelo treinado para classificar amostras de dados existem diversas métricas, sendo que a acurácia é a mais usada. De fato, tal métrica muitas vezes é empregada para avaliar se vale a pena ou não investir mais recursos no machine learning para que a solução fique “melhor”.

Contudo, tenho visto muita gente se gabando e inflando o ego quando consegue atingir uma acurácia de um modelo maior do que o modelo gerado por outras pessoas. De fato, não é raro encontrar comportamentos do tipo “sou superior a você porque o meu algoritmo/solução tem uma acurácia maior do que o seu”. Eu sei, é triste ver este tipo de mentalidade; mas isso acontece muito.

Eu já conversei com alguns colegas sobre ego e humildade no programa de mesmo nome do DatabaseCast, que pode ser ouvido aqui. É interessante notar que, conforme mais e mais pessoas estão aprendendo e utilizando o machine learning, este sentimento de “superioridade” está aparecendo com mais frequência, especialmente em comunidades como o Kaggle, onde parece que vale a máxima “sou melhor porque estou mais acima no ranking que você”.

Esta situação me lembrou muito a obsessão do personagem principal da série Breaking Bad. De fato, nesta série é notória a preocupação do químico pelos mínimos detalhes na pureza do “produto” chegando ao ponto onde podemos observar o nível de paranoia do personagem.

figura3_purity

Mas a semelhança tem que parar por aí, uma vez que modelos de machine learning com acurácia muito alta não cheiram bem, ou seja, eles provavelmente estão “viciados” demais nos dados de treinamento. Este fenômeno é conhecido como overfitting e mesmo com diversas técnicas para evitá-lo ainda não é bem visto um modelo que possui 99,9999% ou mais de acurácia. Isto sem entrar na discussão que a acurácia nem sempre é a melhor maneira de analisar o resultado de um modelo de machine learning, pois existe a curva ROC, o F1, o recall e outras métricas muito importantes.

De qualquer maneira, certo nível de dedicação, esforço e vontade para melhorar modelos de machine learning são benéficos, desde que estas atitudes não levem a pessoas extremamente convencidas que acabam julgando outros pela qualidade de seus modelos de machine learning. Assim como qualquer outro resultado quantificável de esforço, rotular pessoas pelo quão preciso é seu algoritmo/modelo/solução, certamente não é nada saudável e expõe uma falha de caráter nada adequada para um cenário onde as coisas mudam muito rapidamente.