Minimizar erros de modelo com funções de custo

Concluído

O processo de aprendizado altera repetidamente um modelo até conseguir fazer estimativas de alta qualidade. Para determinar o desempenho de um modelo, o processo de aprendizado usa matemática na forma de uma função de custo. A função de custo também é conhecida como uma função objetiva. Para entender o que é a função de custo, vamos desmembrá-la um pouco.

Erro, custo e perda

No aprendizado supervisionado, o erro, o custo e a perda se referem ao número de erros que um modelo comete ao prever um ou mais rótulos.

Esses três termos são usados ​​de forma vaga no aprendizado de máquina, o que pode causar alguma confusão. Para simplificar, vamos usá-los aqui de forma intercambiável. O custo é calculado por meio da matemática. Não é um julgamento qualitativo. Por exemplo, se um modelo prevê uma temperatura diária de 40°F, mas o valor real é 35°F, podemos dizer que há um erro de 5°F.

Nossa meta é minimizar o custo

Considerando que o custo indica o grau de desempenho ruim de um modelo, nossa meta é chegar ao custo zero. Em outras palavras, queremos treinar o modelo para não cometer nenhum erro. Essa ideia geralmente é impossível. Portanto, nesse caso, definimos uma meta um pouco mais vaga para treinar o modelo buscando chegar ao menor custo possível.

Devido a essa meta, a maneira de calcular o custo determinará aquilo que o modelo tentará aprender. No exemplo anterior, definimos o custo como o erro ao estimar a temperatura.

O que é uma função de custo?

No aprendizado supervisionado, uma função de custo é uma pequena parte do código que calcula o custo da previsão de um modelo e o rótulo esperado: a resposta correta. Por exemplo, em nosso exercício anterior, calculamos o custo ao calcularmos os erros de previsão, elevando-os ao quadrado e somando-os.

Depois que a função de custo tiver calculado o custo, saberemos se o modelo está funcionando bem ou não. Se ele estiver com um bom desempenho, poderemos optar por interromper o treinamento. Caso não esteja, podemos passar informações de custo para o otimizador, que usa essas informações para selecionar novos parâmetros para o modelo.

Diagrama do ciclo de vida de machine learning com rótulos, mas sem recursos.

Durante o treinamento, diferentes funções de custo podem alterar quanto tempo o treinamento leva ou como ele funciona. Por exemplo, se a função de custo sempre afirma que os erros são pequenos, o otimizador faz apenas pequenas alterações no modelo. Como outro exemplo, se a função de custo retorna valores grandes quando certos erros são cometidos. Em seguida, o otimizador faz alterações no modelo para que ele não cometa esse tipo de erro.

Não há uma função de custo que funciona para todos os casos. A melhor opção depende do que estamos tentando alcançar. Geralmente, precisamos fazer testes com as funções de custo para obter um resultado satisfatório. Faremos esse experimento no próximo exercício.