Функция потерь (loss function) — ключевой компонент при обучении нейронной сети. Она измеряет расхождение между предсказаниями модели и реальными значениями, определяя направление оптимизации весов. В Keras.js функции потерь используются аналогично Python-версии Keras, но с учётом особенностей работы в браузере и ограничений JavaScript.
Определение: Среднеквадратичная ошибка вычисляется как среднее значение квадратов разностей между предсказанными и истинными значениями:
[ = _{i=1}^{n} (y_i - _i)^2]
где (y_i) — истинное значение, (_i) — предсказание модели.
Особенности использования в Keras.js:
model.compile({
optimizer: 'adam',
loss: 'meanSquaredError'
});
Примечание: для небольших данных и медленно меняющихся функций MSE обеспечивает стабильное обучение.
Определение: Средняя абсолютная ошибка рассчитывается как среднее значение модулей разностей между предсказанными и реальными значениями:
[ = _{i=1}^{n} |y_i - _i|]
Особенности:
model.compile({
optimizer: 'adam',
loss: 'meanAbsoluteError'
});
Определение: Функция кросс-энтропии для многоклассовой классификации. Используется, когда выход модели — вероятности классов, получаемые через softmax.
[ = - _{i=1}^{C} y_i (_i)]
где (C) — число классов, (y_i) — бинарный индикатор правильного класса, (_i) — предсказанная вероятность.
Особенности применения:
model.compile({
optimizer: 'adam',
loss: 'categoricalCrossentropy'
});
Определение: Функция кросс-энтропии для бинарной классификации. Используется для задач с двумя классами.
[ = -[y () + (1-y) (1-)]]
где (y ), () — вероятность принадлежности к классу 1.
Особенности:
model.compile({
optimizer: 'adam',
loss: 'binaryCrossentropy'
});
При работе в Keras.js оптимизация и обучение моделей полностью повторяют логику Python-версии, но требуется учитывать специфику работы с асинхронностью и WebGL, если используется для ускорения вычислений в браузере.