Loss

Вычисляет значение функции потерь.

double vector::Loss(
  const vector&       vect_true,     // вектор истинных значений
  ENUM_LOSS_FUNCTION  loss,          // функция потерь
   ...                               // дополнительный параметр
   );
 
 
double matrix::Loss(
  const matrix&       matrix_true,   // матрица истинных значений
  ENUM_LOSS_FUNCTION  loss,          // функция потерь
   );
 
 
double matrix::Loss(
  const matrix&       matrix_true,   // матрица истинных значений
  ENUM_LOSS_FUNCTION  loss,          // функция потерь
  ENUM_MATRIX_AXIS    axis,          // ось
   ...                               // дополнительный параметр
   );

Параметры

vect_true/matrix_true

[in] Вектор или матрица истинных значений.

loss

[in] Функция потерь из перечисления ENUM_LOSS_FUNCTION.

axis

[in]  Значение из перечисления ENUM_MATRIX_AXIS (AXIS_HORZ — горизонтальная ось, AXIS_VERT — вертикальная ось).

...

[in]  Дополнительный параметр delta может быть только у функции потерь Юбера (LOSS_HUBER)

Возвращаемое значение

Значение double.

Как используется параметр delta в функции потерь Юбера (LOSS_HUBER)

   double delta = 1.0;
   double error = fabs(y - x);
   if(error<delta)
      loss = 0.5 * error^2;
   else
      loss = 0.5 * delta^2 + delta * (error - delta);

Примечание

Задача обучения нейронной сети заключается в поиске коэффициентов, минимизирующих ошибку на обучающей выборке, для чего используется функция потерь (loss function).

Значение функции потерь характеризует величину отклонения предсказываемого моделью значения от реального.

В зависимости от типа решаемой задачи используются различные функции потерь. Например: для задачи регрессии mean squared error (MSE), для бинарной классификации — binary cross-entropy (BCE).

Пример вызова функции потерь Юбера:

   vector y_true = {0.01.00.00.0};
   vector y_pred = {0.60.40.40.6};
   double loss=y_pred.Loss(y_true,LOSS_HUBER);
   Print(loss);
   double loss2=y_pred.Loss(y_true,LOSS_HUBER,0.5);
   Print(loss2);
 
/* Результат
   0.155
   0.15125
*/