Métricas comuns em Machine Learning: como analisar a qualidade de chat bots inteligentes — introdução (1 de 4)

Renato dos Santos Leal
As Máquinas que Pensam
3 min readMay 8, 2017

Digamos que você passou os últimos meses coletando exemplos de conversas, ajustou seu modelo diversas vezes e agora está na hora de colocar o bot para ser testado no mundo real.

Como ter uma ideia de qual será o comportamento do seu bot? Como podemos avaliar o seu desempenho?

Existem várias maneiras de realizar uma análise em cima do seu chat bot de modo a determinar se ele atenderá o seu objetivo final ou não. Nesta série de artigos ensinaremos como avaliar o modelo de machine learning utilizado. A primeira abordagem é a seguinte:

Simples! (uma análise “ingênua”)

Podemos analisar o que chamamos de acurácia ou precisão geral do modelo medindo o número de acertos dividido pelo número total de testes:

Uma outra maneira de analisar a mesma métrica, mas que não retorna necessariamente o mesmo número, é assumir que a acurácia geral do seu chat bot é igual a média das acurácias encontradas para cada intenção:

A fórmula pode até assustar mas só tá falando pra tirar a média da acurácia.

Acurácia sozinha é suficiente? Talvez não! Vejamos:

O que acontece se o modelo possui quantidades desproporcionais de exemplos para o treinamento?

Um chat bot desproporcional ou mal treinado ainda consegue enganar essa métrica de precisão geral pois a mesma ignora a existência de falsos positivos (quando o chat bot erra com muita certeza, ou seja, a confiança retornada é alta mesmo que a intenção não seja a correta).

Na prática

Imagine que tenhamos um classificador binário treinado para detectar spam e obtivemos os seguintes resultados:

Teríamos então que nossa acurácia = (100+1000)/1300 = 84.6%. O que representa um valor muito bom!

Mas e se trocássemos esse classificador por um classificador burro? Que independente da entrada sempre retornaria como e-mail normal (sem spam):

Nossa acurácia que antes era de quase 85% subiria para incríveis 88.5%! Ou seja, mesmo que o nosso classificador não esteja realizando nenhuma análise/previsão ele ainda é melhor que o anterior.

Paradoxo da Acurácia

O situação apresentada acima, chamada de paradoxo da acurácia, ocorre sempre que temos um número de verdadeiros positivos (VP) menor que o número de falsos positivos (FP)(falaremos destes termos no próximo artigo).

Nessa situação, VP < FP, basta substituir nossa regra de classificação por uma que sempre retorna a classe negativa que teremos uma melhora na acurácia. Da mesma forma sempre que tivermos os verdadeiros negativos (VN) menores que os falsos negativos (FN) teremos uma melhora de acurácia ao substituir a regra para sempre retornar positivo..

Conclusões

Até agora vimos que utilizar somente a acurácia para medir nosso bot pode não ser a melhor estratégia. No próximo artigo vamos falar sobre os conceitos necessários para fazer uma análise mais realista do nosso modelo.

--

--