Цільова функція, функція витрат, функція втрат: чи це одне і те ж?


80

У машинному навчанні люди говорять про об'єктивну функцію, функцію витрат, функцію втрат. Це просто різні назви одного і того ж? Коли їх використовувати? Якщо вони не завжди посилаються на одне й те саме, які відмінності?


Відповіді:


130

Це не дуже строгі умови, і вони дуже пов'язані. Однак:

  • Функція втрати - це звичайно функція, визначена в точці даних, передбаченні та мітці, і вимірює штраф. Наприклад:
    • квадратні втрати , що використовується в лінійній регресіїl(f(xi|θ),yi)=(f(xi|θ)yi)2
    • втрата шарніра , що використовується у SVMl(f(xi|θ),yi)=max(0,1f(xi|θ)yi)
    • 0/1 втрата , що використовується в теоретичному аналізі та визначенні точностіl(f(xi|θ),yi)=1f(xi|θ)yi
  • Функція витрат зазвичай більш загальна. Це може бути сума функцій втрат за ваш навчальний набір плюс деяка сума складності штрафу (регуляризація). Наприклад:
    • Середня помилка уMSE(θ)=1Ni=1N(f(xi|θ)yi)2
    • Функція вартості (є додаткові обмеження, що з'єднують з і з навчальним набором)SVM(θ)=θ2+Ci=1NξiξiC
  • Цільова функція - найзагальніший термін для будь-якої функції, яку ви оптимізуєте під час тренувань. Наприклад, ймовірність створення навчальної програми, встановленої в підході до максимальної ймовірності, є чітко визначеною цільовою функцією, але це не функція збитків, ані функція витрат (однак ви можете визначити функцію еквівалентної вартості). Наприклад:
    • MLE - це тип об'єктивної функції (яку ви максимізуєте)
    • Розбіжність між класами може бути об'єктивною функцією, але це ледве функція витрат, якщо ви не визначите щось штучне, наприклад 1-дивергенцію, і не назвете це вартістю

Короткий огляд, я б сказав, що:

Функція втрат - це частина функції витрат, яка є типом об'єктивної функції.


9
+1. Я не бачив джерела для цього, але я здогадався, що "об'єктивним" є термін, який використовується, оскільки ваша мета чи мета оптимізувати цю функцію, що може означати максимізацію чогось хорошого або мінімізацію чогось поганого, хоча ця різниця є тривіальною, оскільки будь-яку функцію можна заперечувати. Навпаки, пейоративні підтексти "втрати" та "вартості" дійсно кусаються: я б сказав, що було б перекручено використовувати будь-який термін, за винятком того, щоб мінімізувати щось. Ці моменти мовчазні у вашій тонкій відповіді, але заслуговують на трохи більше уваги.
Нік Кокс

1
"M" у "MLE" означає "максимум", а не "мінімум". Я згадую лише цю педантичну деталь, тому що це питання було перенесено з stackoverflow, і мене покусав помилка мінімізації неправильної функції раніше
Тейлор

Власне, цільова функція - це функція (наприклад, лінійна функція), яку ви прагнете оптимізувати (як правило, мінімізуючи або максимізуючи) при обмеженні функції втрат (наприклад, L1, L2). Прикладами є регресія хребта або SVM. Ви також можете оптимізувати цільову функцію без жодної функції втрат, наприклад, простого OLS або logit.
g3o2

1
@ Nick Cox написав "виразні обертони" втрати "та" вартості "кусаються: я б сказав, що було б збочно використовувати будь-який термін, за винятком чогось мінімізувати" Я не погоджуюся, втрати чи вартість можна збільшити для того, щоб знайти найгірший можливий випадок (за будь-яких обмежень). Це може бути корисно для аналізу в гіршому випадку.
Марк Л. Стоун,

Мені важко утримати різницю між "втратою" та "вартістю" прямо за винятком запам'ятовування. Проблема полягає в тому, що англійські визначення слів не дають жодних підказок щодо того, яким має бути, а також немає явних мнемонічних. Будь-які пропозиції вітаються.
Стівен

8

За словами професора Ендрю Нг (див. Слайди на стор. 11),

Функція h (X) представляє вашу гіпотезу. Для фіксованих параметрів підгонки тета - це функція функції X. Я б сказав, що це також можна назвати цільовою функцією.

Функція витрат J - це функція theta параметрів підгонки. J = J (тета).

Відповідно до підручника Hastie et al. "Елементи статистичного навчання" , на с.37:

"Ми шукаємо функцію f (X) для прогнозування Y заданих значень входу X." [...] функція втрати L (Y, f (X)) "є функцією для покарання помилок у передбаченні",

Тож здається, що "функція втрати" є дещо більш загальним терміном, ніж "функція витрат". Якщо ви шукаєте "втрати" в цьому PDF-файлі, я думаю, що вони використовують "функцію витрат" та "функцію втрати" дещо синонімічно.

Справді, с. 502

"Ситуація [в кластері] дещо схожа на конкретизацію функції збитків або витрат у задачах передбачення (контрольоване навчання)".

Можливо, ці терміни існують, оскільки вони розвивалися незалежно в різних академічних спільнотах. "Об'єктивна функція" - це старий термін, що використовується в дослідженні операцій та інженерній математиці. "Функція втрати" може бути більш вживаною серед статистиків. Але я спекулюю тут.


5
Функція втрат ніде не є "загальнішою", ніж функція витрат. f (X), зокрема, є функцією ваших параметрів (таким чином, J (theta)), перетворюючи його (функцію втрати) на особливий тип функції витрат. Крім того, у Хасті є спрощення, він бере на себе додаткові функції втрат , які створюють певний клас функцій витрат
lejlot

Я просто спробував відповісти на це питання посиланнями з академічної літератури, джерела яких легко зрозуміти. Ваша думка про "функції адитивних втрат" може бути правильною, але це далеко виходить за рамки заданого питання, і я не можу знайти цей конкретний термін у книзі ESL
кнб

3
Есл - це чудова книга, але не єдине джерело знань Ml.
lejlot

Це "я б сказав" від Нг чи ти? h - модель (h для гіпотези). Мета полягає в тому, що h справляється добре. Цільова функція вимірює, наскільки добре працює і як правило, відрізняється від h.
Йоахім Вагнер

посилання на
esl

4

За словами Ендрю Н.Г.,

"Нарешті, функція втрат була визначена стосовно єдиного прикладу навчання. Він вимірює, наскільки добре ви працюєте на одному прикладі навчання. Зараз я буду визначати щось, що називається функцією витрат, яка визначає, наскільки ви добре виконуючи цілий навчальний набір. Таким чином, функція витрат J, яка застосовується до ваших параметрів W і B, буде середньою з одним із m суми функції втрат, застосованої до кожного з навчальних прикладів, і повернути. "


3

Із розділу 4.3 в "Поглибленому навчанні" - Йен Гудфлоу, Йошуа Бенджо, Аарон Курвіль http://www.deeplearningbook.org/

"Функція, яку ми хочемо мінімізувати або максимізувати, називається цільовою функцією або критерієм. Коли ми її мінімізуємо, ми можемо також назвати її функцією витрат, функцією втрати або функцією помилки. У цій книзі ми використовуємо ці терміни взаємозамінно, хоча деякі публікації машинного навчання надають особливого значення деяким із цих термінів ".

Принаймні, у цій книзі втрати та вартість однакові.


0

Щоб дати вам коротку відповідь, на мою думку, вони є синонімами. Однак функція витрат більше використовується в задачі оптимізації, а функція втрат використовується при оцінці параметрів.


0

Терміни вартість і втрати функції є синонімами, деякі люди також називають це функцією помилок. Більш загальним сценарієм є спочатку визначення цільової функції, яку ми хочемо оптимізувати. Ця об'єктивна функція могла би бути

  1. максимізувати задню ймовірність (наприклад, наївний Байєс)
  2. максимізувати фітнес-функцію (генетичне програмування)
  3. максимізувати функцію загальної винагороди / цінності (підкріплення навчання)
  4. максимізувати приріст інформації / мінімізувати домішки дочірнього вузла (класифікація дерева рішень CART) 5.мінімізувати середню функцію вартості (або втрати) в квадраті (CART, регресія дерева рішень, лінійна регресія, адаптаційні лінійні нейрони,…
  5. максимізувати ймовірність журналу або мінімізувати перехресну ентропію втрати (або витрати), мінімізувати втрати шарнірів (векторна машина підтримки)

0

Насправді, щоб бути простим Якщо у вас є такі дані тренувань, як це (x (1), y (1)), (x (2), y (2)),. . . (x (m), y (m)) Ми використовуємо функцію втрат L (ycap, y), щоб знайти втрати між ycap та y одного навчального набору. Якщо ми хочемо знайти втрати між ycap та y цілого навчального набору, ми використовуємо функція витрат.

Примітка: - ycap означає вихід з нашої моделі, а y означає очікуваний вихід

Примітка: - Кредит йде на Ендрю з ресурсу: нейронна мережа курсу та глибоке навчання


-1

Функція втрати обчислює помилку для одного прикладу навчання, тоді як функція витрат - це середнє значення функцій втрат усього навчального набору.


Подивіться на посилання Ніка Кокса.
Майкл Черник
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.