Decrescente em ML: treinamento e perda

Treinar um modelo significa apenas aprender (determinar) bons valores para todos os pesos e o viés de exemplos rotulados. No aprendizado supervisionado, um algoritmo de machine learning cria um modelo examinando muitos exemplos e tentando encontrar um modelo que minimize a perda. Esse processo é chamado de minimização do risco empírico.

Perda é a penalidade para uma previsão ruim. Ou seja, perda é um número que indica quão ruim foi a previsão do modelo em um único exemplo. Se a previsão do modelo for perfeita, a perda será zero. Caso contrário, a perda será maior. O treinamento de um modelo visa encontrar um conjunto de ponderações e tendências com uma média de perda baixa em todos os exemplos. Por exemplo, a Figura 3 mostra um modelo de alta perda à esquerda e um modelo de baixa perda à direita. Observe o seguinte sobre a figura:

  • As setas representam a perda.
  • As linhas azuis representam previsões.

Dois gráficos cartesianos, cada um mostrando uma linha e alguns pontos de dados. No primeiro gráfico, a linha é uma péssimo ajuste dos dados, então a perda é alta. No segundo gráfico, a linha é mais adequada para os dados, então a perda é baixa.

Figura 3. Alta perda no modelo à esquerda e baixa no modelo à direita.

 

Observe que as setas no gráfico à esquerda são muito mais compridas do que as que são exibidas no gráfico à direita. Claramente, a linha do gráfico à direita é um modelo preditivo muito melhor do que a linha no gráfico à esquerda.

Você pode estar se perguntando se é possível criar uma função matemática, uma função de perda, que agregaria as perdas individuais de maneira significativa.

Os modelos de regressão linear que vamos examinar aqui usam uma função de perda chamada perda quadrada (também conhecida como L2perda). A perda quadrada para um único exemplo é a seguinte:

  = the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y')2

Erro quadrático médio (MSE) é a perda quadrada média por exemplo em todo o conjunto de dados. Para calcular a EQM, soma todas as perdas ao quadrado para exemplos individuais e, em seguida, divida pelo número de exemplos:

$$ MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2 $$

onde:

  • \((x, y)\) é um exemplo em que
    • \(x\) é o conjunto de atributos (por exemplo, chirps/minuto, idade, gênero) que o modelo usa para fazer previsões.
    • \(y\) é o rótulo do exemplo (por exemplo, temperatura).
  • \(prediction(x)\) é uma função dos pesos e vieses em combinação com o conjunto de atributos \(x\).
  • \(D\) é um conjunto de dados que contém muitos exemplos rotulados, que são \((x, y)\) pares.
  • \(N\) é o número de exemplos em \(D\).

Embora o MSE seja comumente usado em machine learning, ele não é a única função de perda prática nem a melhor função de perda para todas as circunstâncias.