В машинном обучении люди говорят о целевой функции, функции стоимости, функции потерь. Это просто разные названия одной и той же вещи? Когда их использовать? Если они не всегда ссылаются на одно и то же, в чем различия?
В машинном обучении люди говорят о целевой функции, функции стоимости, функции потерь. Это просто разные названия одной и той же вещи? Когда их использовать? Если они не всегда ссылаются на одно и то же, в чем различия?
Ответы:
Это не очень строгие условия и они тесно связаны между собой. Тем не мение:
Короче говоря, я бы сказал, что:
Функция потерь является частью функции затрат, которая является типом целевой функции.
По словам профессора Эндрю Нг (см. Слайды на стр. 11),
Функция h (X) представляет вашу гипотезу. Для фиксированных параметров подгонки тета это функция функций X. Я бы сказал, что это также можно назвать целевой функцией.
Функция стоимости J является функцией подгоночных параметров тета. J = J (тета).
Согласно учебнику Хасти и др. «Элементы статистического обучения» , с.37:
«Мы ищем функцию f (X) для предсказания Y заданных значений входа X». [...] функция потерь L (Y, f (X)) является «функцией штрафования за ошибки в прогнозировании»,
Таким образом, кажется, что «функция потерь» является несколько более общим термином, чем «функция затрат». Если вы ищете «потери» в этом PDF, я думаю, что они используют «функцию затрат» и «функцию потерь» в некоторой степени как синонимы.
Действительно, с. 502
«Ситуация [в кластеризации] чем-то похожа на спецификацию функции потерь или затрат в задачах прогнозирования (контролируемое обучение)».
Возможно, эти термины существуют, потому что они развивались независимо в разных академических сообществах. «Целевая функция» - это старый термин, используемый в исследованиях операций и инженерной математике. «Функция потерь» может быть более популярной среди статистиков. Но я размышляю здесь.
По словам Андрея Н.Г.
«Наконец, функция потерь была определена по отношению к одному примеру обучения. Она измеряет, насколько хорошо вы делаете на одном примере обучения. Теперь я собираюсь определить то, что называется функцией стоимости, которая измеряет, насколько хорошо вы выполнение всего обучающего набора. Таким образом, функция J стоимости, которая применяется к вашим параметрам W и B, будет средней величиной с одним из m суммы функции потерь, примененной к каждому из обучающих примеров и хода. "
Из раздела 4.3 в «Глубокое обучение» - Йен Гудфеллоу, Йошуа Бенжио, Аарон Курвилль http://www.deeplearningbook.org/
«Функция, которую мы хотим минимизировать или максимизировать, называется целевой функцией или критерием. Когда мы минимизируем ее, мы можем также назвать ее функцией стоимости, функцией потерь или функцией ошибки. В этой книге мы используем эти термины взаимозаменяемо, хотя некоторые публикации по машинному обучению придают особое значение некоторым из этих терминов ".
В этой книге, по крайней мере, потери и стоимость одинаковы.
Чтобы дать вам краткий ответ, по моему мнению, они являются синонимами. Однако функция стоимости больше используется в задаче оптимизации, а функция потерь - в оценке параметров.
Термины «затраты и потери» являются синонимами, некоторые люди также называют это функцией ошибки. Более общий сценарий - сначала определить целевую функцию, которую мы хотим оптимизировать. Эта целевая функция может быть
На самом деле все будет просто Если у вас есть m тренировочных данных, таких как (x (1), y (1)), (x (2), y (2)),. , , (x (m), y (m)) Мы используем функцию потерь L (ycap, y), чтобы найти потери между ycap и y одного тренировочного набора. Если мы хотим найти потери между ycap и y всего обучающего набора, который мы используем функция стоимости.
Примечание: - ycap означает вывод из нашей модели, а y означает ожидаемый вывод.
Примечание: - Кредит идет Andrew ng Ресурс: Coursera нейронной сети и глубокое обучение
Функция потерь вычисляет ошибку для отдельного примера обучения, в то время как функция затрат является средним значением функций потерь всего обучающего набора.