Fungsi objektif, fungsi biaya, fungsi kerugian: apakah semuanya itu sama?

Jawaban:

130

Ini bukan istilah yang sangat ketat dan mereka sangat terkait. Namun:

  • Fungsi kerugian biasanya merupakan fungsi yang didefinisikan pada titik data, prediksi dan label, dan mengukur penalti. Sebagai contoh:
    • kerugian kuadrat , digunakan dalam regresi linierl(f(xi|θ),yi)=(f(xi|θ)yi)2
    • kehilangan engsel , digunakan dalam SVMl(f(xi|θ),yi)=max(0,1f(xi|θ)yi)
    • 0/1 kerugian , digunakan dalam analisis teoretis dan definisi keakuratanl(f(xi|θ),yi)=1f(xi|θ)yi
  • Fungsi biaya biasanya lebih umum. Ini mungkin merupakan jumlah fungsi kehilangan selama set latihan Anda ditambah beberapa hukuman kompleksitas model (regularisasi). Sebagai contoh:
    • Mean Squared ErrorMSE(θ)=1Ni=1N(f(xi|θ)yi)2
    • Fungsi biaya (ada kendala tambahan yang menghubungkan dengan dan dengan set pelatihan)SVM(θ)=θ2+Ci=1NξiξiC
  • Fungsi obyektif adalah istilah paling umum untuk fungsi apa pun yang Anda optimalkan selama pelatihan. Misalnya, kemungkinan menghasilkan pelatihan yang ditetapkan dalam pendekatan kemungkinan maksimum adalah fungsi objektif yang terdefinisi dengan baik, tetapi itu bukan fungsi kerugian atau fungsi biaya (namun Anda dapat mendefinisikan fungsi biaya setara). Sebagai contoh:
    • MLE adalah jenis fungsi objektif (yang Anda maksimalkan)
    • Divergensi antar kelas dapat menjadi fungsi obyektif, tetapi ini bukan fungsi biaya, kecuali jika Anda mendefinisikan sesuatu yang artifisial, seperti 1-Divergence, dan beri nama biaya

Singkat cerita, saya akan mengatakan bahwa:

Fungsi kerugian adalah bagian dari fungsi biaya yang merupakan jenis fungsi objektif.

Lejlot
sumber
9
+1. Saya belum melihat sumber untuk ini, tetapi saya sudah menebak bahwa "tujuan" adalah istilah yang digunakan karena itu adalah tujuan Anda untuk mengoptimalkan fungsi itu, yang bisa berarti memaksimalkan sesuatu yang baik atau meminimalkan sesuatu yang buruk, meskipun perbedaan itu sepele, karena fungsi apa pun dapat dinegasikan. Sebaliknya, nada merendahkan dari "kehilangan" dan "biaya" benar-benar menggigit: Saya akan mengatakan bahwa akan salah menggunakan istilah mana pun kecuali untuk sesuatu yang diminimalkan. Poin-poin ini diam-diam dalam jawaban bagus Anda tetapi pantas mendapat sedikit lebih banyak penekanan.
Nick Cox
1
"M" dalam "MLE" berarti "maksimum" bukan "minimum." Saya hanya menyebutkan detail yang luar biasa ini karena pertanyaan ini dimigrasikan dari stackoverflow, dan saya telah digigit oleh bug untuk meminimalkan fungsi yang salah sebelumnya
Taylor
Sebenarnya, fungsi obyektif adalah fungsi (mis. Fungsi linier) yang Anda upayakan untuk mengoptimalkan (biasanya dengan meminimalkan atau memaksimalkan) di bawah batasan fungsi kerugian (misalnya L1, L2). Contohnya adalah regresi ridge atau SVM. Anda juga dapat mengoptimalkan fungsi tujuan tanpa kehilangan fungsi, misalnya OLS sederhana atau logit.
g3o2
1
@ Nick Cox menulis 'nada merendahkan dari "kehilangan" dan "biaya" menggigit: Saya akan mengatakan itu akan salah untuk menggunakan istilah baik kecuali untuk sesuatu yang meminimalkan' Saya tidak setuju, kehilangan atau biaya dapat dimaksimalkan untuk temukan kemungkinan terburuk (tergantung pada kendala apa pun). Ini dapat berguna untuk analisis kasus terburuk.
Mark L. Stone
Saya merasa sulit untuk menjaga perbedaan antara "kerugian" dan "biaya" lurus selain dengan menghafal. Masalahnya adalah bahwa definisi kata dalam bahasa Inggris tidak memberikan petunjuk apa yang seharusnya, dan juga tidak ada mnemonik yang jelas. Ada saran yang diterima.
Stephen
8

Menurut Prof. Andrew Ng (lihat slide di halaman 11),

Fungsi h (X) mewakili hipotesis Anda. Untuk parameter pemasangan tetap theta, ini adalah fungsi dari fitur X. Saya akan mengatakan ini juga bisa disebut Fungsi Objektif.

Fungsi Biaya J adalah fungsi dari parameter pemasangan theta. J = J (theta).

Menurut buku teks Hastie et al. "Elements of Statistical Learning" , oleh hal.37:

"Kami mencari fungsi f (X) untuk memprediksi nilai Y yang diberikan dari input X." [...] fungsi kerugian L (Y, f (X)) adalah "fungsi untuk menghukum kesalahan dalam prediksi",

Jadi sepertinya "fungsi kerugian" adalah istilah yang sedikit lebih umum daripada "fungsi biaya". Jika Anda mencari "kerugian" dalam PDF itu, saya pikir mereka menggunakan "fungsi biaya" dan "fungsi kerugian" agak sinonim.

Memang, hal. 502

"Situasi [dalam Clustering] agak mirip dengan spesifikasi fungsi kerugian atau biaya dalam masalah prediksi (supervised learning)".

Mungkin istilah-istilah ini ada karena mereka berkembang secara mandiri dalam komunitas akademik yang berbeda. "Fungsi Objektif" adalah istilah lama yang digunakan dalam Riset Operasi, dan Teknik Matematika. "Fungsi kerugian" mungkin lebih banyak digunakan di kalangan ahli statistik. Tapi saya berspekulasi di sini.

knb
sumber
5
fungsi kerugian sama sekali tidak "lebih umum" daripada fungsi biaya. f (X) khususnya fungsi dari parameter Anda (dengan demikian J (theta)), menjadikannya (fungsi kerugian) jenis fungsi biaya tertentu. Selain itu, Hastie memiliki penyederhanaan di sana, ia mengasumsikan fungsi kerugian aditif , yang menciptakan kelas fungsi biaya tertentu
lejlot
Saya hanya mencoba menjawab pertanyaan ini dengan referensi dari literatur akademis, sumber yang mudah dimengerti. Maksud Anda tentang "fungsi kerugian aditif" mungkin benar, tetapi jauh di luar cakupan pertanyaan yang diajukan, dan saya tidak dapat menemukan istilah khusus ini dalam buku ESL
knb
3
Esl adalah buku yang bagus, tetapi bukan satu-satunya sumber pengetahuan saya.
lejlot
Apakah ini "saya akan mengatakan" dari Ng atau Anda? h adalah model (h untuk hipotesis). Tujuannya adalah agar ia berkinerja baik. Fungsi objektif mengukur seberapa baik h dalam dan biasanya berbeda dari h.
Joachim Wagner
tautan ke
esl
4

Dalam kata-kata Andrew NG-

"Akhirnya, fungsi kerugian didefinisikan sehubungan dengan contoh pelatihan tunggal. Ini mengukur seberapa baik Anda melakukan pada contoh pelatihan tunggal. Saya sekarang akan mendefinisikan sesuatu yang disebut fungsi biaya, yang mengukur seberapa baik Anda melakukan seluruh rangkaian pelatihan. Jadi fungsi biaya J yang diterapkan pada parameter Anda W dan B akan menjadi rata-rata dengan salah satu dari m dari jumlah fungsi kerugian yang diterapkan pada masing-masing contoh pelatihan dan berbelok. "

Mukul Khanna
sumber
3

Dari bagian 4.3 dalam "Pembelajaran Jauh" - Ian Goodfellow, Yoshua Bengio, Aaron Courville http://www.deeplearningbook.org/

"Fungsi yang ingin kami perkecil atau maksimalkan disebut fungsi objektif, atau kriteria. Ketika kami meminimalkannya, kami juga dapat menyebutnya fungsi biaya, fungsi kerugian, atau fungsi kesalahan. Dalam buku ini, kami menggunakan istilah-istilah ini secara bergantian, meskipun beberapa publikasi pembelajaran mesin memberi arti khusus pada beberapa istilah ini. "

Dalam buku ini, paling tidak, kerugian dan biaya adalah sama.

François Brault
sumber
0

Untuk memberi Anda jawaban singkat, menurut saya mereka sama. Namun, fungsi biaya lebih banyak digunakan dalam masalah optimasi dan fungsi kerugian digunakan dalam estimasi parameter.

rohan chikorde
sumber
0

Istilah biaya dan fungsi kerugian adalah identik beberapa orang juga menyebutnya fungsi kesalahan. Skenario yang lebih umum adalah menentukan fungsi tujuan terlebih dahulu, yang ingin kami optimalkan. Fungsi objektif ini bisa untuk

  1. memaksimalkan probabilitas posterior (mis. Bayes naif)
  2. memaksimalkan fungsi kebugaran (pemrograman genetik)
  3. memaksimalkan fungsi total penghargaan / nilai (penguatan pembelajaran)
  4. memaksimalkan perolehan / meminimalkan pengotor simpul anak (klasifikasi pohon keputusan CART) 5. meminimalkan fungsi biaya (atau kerugian) kuadrat rata-rata (CART, regresi pohon keputusan, regresi linier, neuron linier adaptif, ...
  5. memaksimalkan log-likelihood atau meminimalkan fungsi cross-entropy loss (atau biaya) meminimalkan engsel loss (support vector machine)
Abhishek Sharma
sumber
0

Sebenarnya menjadi sederhana. Jika Anda memiliki data latih seperti ini (x (1), y (1)), (x (2), y (2)),. . . (x (m), y (m)) Kami menggunakan fungsi kerugian L (ycap, y) untuk menemukan kehilangan antara ycap dan y dari satu set pelatihan tunggal. Jika kami ingin menemukan kehilangan antara ycap dan y dari seluruh set pelatihan, kami menggunakan fungsi biaya.

Catatan: - Ycap berarti output dari model kami dan y berarti output yang diharapkan

Catatan: - Kredit berlaku Andrew ng Sumber: jaringan saraf coursera dan pembelajaran yang mendalam

Mohan S
sumber
-1

Fungsi kehilangan menghitung kesalahan untuk contoh pelatihan tunggal, sedangkan fungsi biaya adalah rata-rata fungsi kerugian dari seluruh rangkaian pelatihan.

Levan
sumber
Lihatlah tautan Nick Cox.
Michael Chernick