Minimize os erros do modelo com funções de custo

Concluído

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

Erro, custo e perda

Na aprendizagem supervisionada, erro, custo e perda referem-se ao número de erros que um modelo comete ao prever um ou mais rótulos.

Esses três termos são usados vagamente no aprendizado de máquina, o que pode causar alguma confusão. Por uma questão de simplicidade, nós os usamos indistintamente aqui. O custo é calculado através 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 tem um erro de 5°F.

Minimizar os custos é o nosso objetivo

Como o custo indica o quão mal um modelo funciona, nosso objetivo é ter custo zero. Por outras palavras, queremos treinar o modelo para não cometer quaisquer erros. No entanto, esta ideia é muitas vezes impossível, pelo que, em vez disso, estabelecemos um objetivo um pouco mais nebuloso de treinar o modelo para ter o menor custo possível.

Por causa desse objetivo, a forma como calculamos o custo dita o que o modelo tenta aprender. No exemplo anterior, definimos custo como o erro na estimativa da temperatura.

O que é uma função de custo?

Na aprendizagem supervisionada, uma função de custo é um pequeno pedaço de código que calcula o custo a partir da previsão de um modelo e do rótulo esperado: a resposta correta. Por exemplo, em nosso exercício anterior, calculamos o custo calculando os erros de previsão, quadrando-os e somando-os.

Depois que a função custo calcula o custo, sabemos se o modelo está funcionando bem ou não. Se estiver a ter um bom desempenho, podemos optar por parar de treinar. Caso contrário, 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 do aprendizado de máquina com rótulos, mas sem recursos.

Durante o treinamento, diferentes funções de custo podem alterar o tempo que 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 grandes valores 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 existe uma função de custo única. Qual é o melhor depende do que estamos tentando alcançar. Muitas vezes precisamos experimentar funções de custo para obter um resultado com o qual estamos satisfeitos. No próximo exercício, faremos esse experimento.