Classificação: viés de previsão

Previsões de regressão logística precisam ser imparciais. Ou seja:

"média de previsões" ≈ "média de observações"

O viés de previsão é uma quantidade que mede a distância entre essas duas médias. Ou seja:

$$\text{prediction bias} = \text{average of predictions} - \text{average of labels in data set}$$

Um viés de previsão significativo que não seja zero diz que há um bug em algum lugar do seu modelo, porque indica que ele está errado sobre a frequência com que os identificadores positivos.

Por exemplo, digamos que saibamos que, em média, 1% de todos os e-mails são spam. Se não soubermos nada sobre um determinado e-mail, devemos prever que ele tenha 1% de probabilidade de ser spam. Da mesma forma, um bom modelo de spam deve prever em média que os e-mails têm 1% de probabilidade de serem spam. Em outras palavras, se calcularmos a probabilidade estimada de cada e-mail ser spam, o resultado será 1%. Se, em vez disso, a previsão média do modelo tiver 20% de probabilidade de ser spam, poderemos concluir que ele exibe um viés de previsão.

As possíveis causas da tendência de previsão são as seguintes:

  • Conjunto de recursos incompleto
  • Conjunto de dados com ruído
  • Pipeline com bugs
  • Amostra de treinamento tendenciosa
  • Regularização muito forte

Um viés de previsão pode ser tentado corrigir o pós-processamento do modelo aprendido, ou seja, adicionando uma camada de calibração que ajusta a saída do modelo para reduzir o viés de previsão. Por exemplo, se o modelo tiver um viés de +3%, será possível adicionar uma camada de calibração que diminua a previsão média em 3%. No entanto, adicionar uma camada de calibração não é uma boa ideia pelos seguintes motivos:

  • Você está corrigindo o sintoma em vez da causa.
  • Você criou um sistema mais frágil que precisa manter atualizado.

Se possível, evite camadas de calibração. Projetos que usam camadas de calibração tendem a se tornar dependente delas, usando camadas de calibração para corrigir todos os sins do modelo. Por fim, manter as camadas de calibração pode ser um pesadelo.

viés na previsão e no bucket

A regressão logística prevê um valor entre 0 e 1. No entanto, todos os exemplos rotulados são exatamente 0 (que significa, por exemplo, "não é spam") ou exatamente 1 (ou seja, "quot;spam""). Portanto, ao examinar o viés de previsão, não é possível determinar o viés de previsão com base em apenas um exemplo. É necessário examinar o viés de previsão em um exemplo de bucket. Ou seja, o viés de previsão para regressão logística faz sentido apenas ao agrupar exemplos suficientes para poder comparar um valor previsto (por exemplo, 0,392) com os valores observados (por exemplo, 0,394).

É possível formar buckets das seguintes maneiras:

  • Dividir linearmente as previsões de destino
  • Como formar quantis.

Considere o seguinte gráfico de calibração de um modelo específico. Cada ponto representa um bucket de 1.000 valores. Os eixos têm os seguintes significados:

  • O eixo x representa a média dos valores previstos pelo modelo para esse bucket.
  • O eixo y representa a média real de valores no conjunto de dados desse bucket.

Os dois eixos são balanças logarítmicas.

O eixo X é Previsão, e o eixo y é Rótulo. Para valores médios e altos da previsão, o viés de previsão é insignificante. Para valores de previsão baixos, o viés de previsão é relativamente alto.

Figura 8. Curva de viés de previsão (escalas logarítmicas)

Por que as previsões são tão ruins para apenas parte do modelo? Veja algumas possibilidades:

  • O conjunto de treinamento não representa adequadamente determinados subconjuntos do espaço de dados.
  • Alguns subconjuntos do conjunto de dados são mais ruidosos que outros.
  • O modelo é regularmente. Considere reduzir o valor de lambda.