ฟังก์ชั่นวัตถุประสงค์ฟังก์ชั่นค่าใช้จ่ายฟังก์ชั่นการสูญเสีย: พวกเขาเหมือนกันหรือไม่?


80

ในการเรียนรู้ของเครื่องจักรผู้คนพูดถึงฟังก์ชั่นวัตถุประสงค์ฟังก์ชั่นค่าใช้จ่ายฟังก์ชั่นการสูญเสีย พวกเขาต่างชื่อกันในสิ่งเดียวกันหรือไม่? ควรใช้เมื่อใด หากพวกเขาไม่ได้อ้างถึงสิ่งเดียวกันเสมอไปความแตกต่างคืออะไร?


2
ดูเพิ่มเติมstats.stackexchange.com/questions/73221/…
Nick Cox

คำตอบ:


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
  • ฟังก์ชั่นค่าใช้จ่ายมักจะกว้างขึ้น อาจเป็นผลรวมของฟังก์ชั่นการสูญเสียในชุดการฝึกอบรมของคุณบวกกับการปรับความซับซ้อนของโมเดล (การทำให้เป็นปกติ) ตัวอย่างเช่น:
    • Mean Squared ErrorMSE(θ)=1Ni=1N(f(xi|θ)yi)2
    • ฟังก์ชันต้นทุน (มีข้อ จำกัด เพิ่มเติมในการเชื่อมต่อกับและชุดฝึกอบรม)SVM(θ)=θ2+Ci=1NξiξiC
  • ฟังก์ชันวัตถุประสงค์เป็นคำทั่วไปที่สุดสำหรับฟังก์ชันใด ๆ ที่คุณปรับให้เหมาะสมในระหว่างการฝึกอบรม ตัวอย่างเช่นความน่าจะเป็นของการสร้างชุดการฝึกอบรมด้วยวิธีความน่าจะเป็นสูงสุดคือฟังก์ชันวัตถุประสงค์ที่กำหนดไว้อย่างดี แต่ไม่ใช่ฟังก์ชันการสูญเสียหรือฟังก์ชันต้นทุน (แต่คุณสามารถกำหนดฟังก์ชันต้นทุนที่เทียบเท่าได้) ตัวอย่างเช่น:
    • MLE เป็นฟังก์ชันวัตถุประสงค์ประเภทหนึ่ง (ซึ่งคุณจะได้ประโยชน์สูงสุด)
    • ความแตกต่างระหว่างคลาสสามารถเป็นฟังก์ชันที่มีวัตถุประสงค์ แต่มันแทบจะเป็นฟังก์ชั่นค่าใช้จ่ายยกเว้นว่าคุณจะกำหนดสิ่งที่ประดิษฐ์ขึ้นเช่น 1-Divergence และตั้งชื่อค่าใช้จ่าย

เรื่องสั้นสั้นฉันจะบอกว่า:

ฟังก์ชั่นการสูญเสียเป็นส่วนหนึ่งของฟังก์ชันต้นทุนซึ่งเป็นฟังก์ชันวัตถุประสงค์ประเภทหนึ่ง


9
+1 ฉันไม่เห็นแหล่งที่มาสำหรับสิ่งนี้ แต่ฉันเดาว่า "วัตถุประสงค์" เป็นคำที่ใช้เพราะเป็นเป้าหมายหรือวัตถุประสงค์ของคุณในการปรับฟังก์ชั่นนั้นให้เหมาะสมซึ่งอาจหมายถึงการเพิ่มสิ่งที่ดีที่สุดหรือลดสิ่งที่ไม่ดี ฟังก์ชั่นใด ๆ ที่สามารถถูกทำให้ไร้ผล ในทางตรงกันข้ามเสียงหวือหวาที่ดูถูกของ "การสูญเสีย" และ "ค่าใช้จ่าย" ไม่กัด: ฉันจะบอกว่ามันจะใช้คำใดที่ผิดปกติยกเว้นสิ่งที่จะลดลง ประเด็นเหล่านี้เป็นคำตอบที่ดีของคุณโดยปริยาย แต่สมควรได้รับการเน้นมากกว่า
Nick Cox

1
"M" ใน "MLE" หมายถึง "ต่ำสุด" ไม่ "ต่ำสุด" ฉันเพียงแค่พูดถึงรายละเอียดอวดรู้นี้เพราะคำถามนี้ถูกโยกย้ายจาก stackoverflow และฉันถูกกัดโดยข้อผิดพลาดของการลดฟังก์ชั่นที่ผิดก่อน
เทย์เลอร์

ที่จริงแล้วฟังก์ชั่นวัตถุประสงค์คือฟังก์ชั่น (เช่นฟังก์ชันเชิงเส้น) ที่คุณต้องการเพิ่มประสิทธิภาพ (มักจะลดหรือเพิ่มขนาดสูงสุด) ภายใต้ข้อ จำกัด ของฟังก์ชั่นการสูญเสีย (เช่น L1, L2) ตัวอย่างคือสันถดถอยหรือ SVM คุณยังสามารถปรับฟังก์ชั่นวัตถุประสงค์ให้เหมาะสมโดยไม่มีฟังก์ชั่นการสูญเสียเช่น OLS แบบง่ายหรือ logit
g3o2

1
@ Nick Cox เขียน 'overtones ดูหมิ่นดูแคลนของ "สูญเสีย" และ "ต้นทุน" กัด: ฉันจะบอกว่ามันจะวิปริตที่จะใช้คำใดคำหนึ่งยกเว้นสิ่งที่จะลด' ฉันไม่เห็นด้วยการสูญเสียหรือค่าใช้จ่ายสามารถขยายเพื่อ ค้นหากรณีที่เป็นไปได้ที่เลวร้ายที่สุด (ขึ้นอยู่กับข้อ จำกัด อะไรก็ตาม) สิ่งนี้มีประโยชน์สำหรับการวิเคราะห์กรณีที่เลวร้ายที่สุด
Mark L. Stone

ฉันพบว่ามันยากที่จะรักษาความแตกต่างระหว่าง "การสูญเสีย" และ "ค่าใช้จ่าย" โดยตรงนอกเหนือจากการท่องจำแบบท่องจำ ปัญหาคือว่าคำจำกัดความภาษาอังกฤษของคำไม่ได้ให้เบาะแสใด ๆ ที่ควรจะเป็นที่และไม่มีความจำที่ชัดเจนใด ๆ ข้อเสนอแนะใด ๆ ยินดีต้อนรับ
สตีเฟ่น

8

ตามที่ศาสตราจารย์แอนดรูว์อึ้ง (ดูสไลด์ในหน้า 11)

ฟังก์ชัน h (X) แสดงถึงสมมติฐานของคุณ สำหรับพารามิเตอร์การติดตั้งคงที่ theta มันเป็นฟังก์ชั่นของคุณสมบัติ X ผมว่านี่อาจเรียกว่า Objective Function

ฟังก์ชันต้นทุน J เป็นฟังก์ชันของพารามิเตอร์การปรับที J = J (theta)

อ้างอิงจากหนังสือ"องค์ประกอบของการเรียนรู้ทางสถิติ"ของ Hastie et al. , โดย p.37:

"เราค้นหาฟังก์ชัน f (X) สำหรับทำนายค่า Y ที่ได้รับจากอินพุต X" [... ] ฟังก์ชั่นการสูญเสีย L (Y, f (X)) คือ "ฟังก์ชั่นสำหรับลงโทษข้อผิดพลาดในการทำนาย"

ดังนั้นดูเหมือนว่า "ฟังก์ชั่นการสูญเสีย" เป็นคำทั่วไปที่กว้างกว่า "ฟังก์ชั่นค่าใช้จ่าย" เล็กน้อย หากคุณค้นหา "การสูญเสีย" ใน PDF นั้นฉันคิดว่าพวกเขาใช้ "ฟังก์ชั่นต้นทุน" และ "ฟังก์ชั่นการสูญเสีย" ค่อนข้างตรงกัน

แท้จริงแล้ว 502

"สถานการณ์ [ในการจัดกลุ่ม] ค่อนข้างคล้ายกับข้อกำหนดของฟังก์ชันการสูญเสียหรือต้นทุนในการทำนายปัญหา (การเรียนรู้แบบมีผู้สอน)"

อาจมีคำศัพท์เหล่านี้อยู่เพราะพวกเขาพัฒนาขึ้นมาอย่างอิสระในชุมชนวิชาการที่แตกต่างกัน "Objective Function" เป็นคำศัพท์เก่าที่ใช้ในการวิจัยปฏิบัติการและคณิตศาสตร์วิศวกรรม "ฟังก์ชั่นการสูญเสีย" อาจมีการใช้งานมากขึ้นในหมู่นักสถิติ แต่ฉันคาดเดาที่นี่


5
ฟังก์ชั่นการสูญเสียอยู่ใกล้กับ "ทั่วไป" มากกว่าฟังก์ชั่นค่าใช้จ่าย f (X) เป็นฟังก์ชันของพารามิเตอร์ของคุณโดยเฉพาะ (เช่น J (theta)) ทำให้ (function loss) เป็นฟังก์ชันต้นทุนชนิดหนึ่ง นอกจากนี้ Hastie ยังมีการทำให้เข้าใจง่ายที่นั่นเขาสันนิษฐานว่าฟังก์ชั่นการสูญเสียที่เพิ่มขึ้นซึ่งสร้างฟังก์ชั่นค่าใช้จ่ายพิเศษ
lejlot

ฉันแค่พยายามตอบคำถามนี้โดยอ้างอิงจากเอกสารทางวิชาการแหล่งที่เข้าใจได้ง่าย จุดของคุณ "ฟังก์ชั่นการสูญเสียที่เพิ่มขึ้น" อาจจะถูกต้อง แต่อยู่นอกเหนือขอบเขตของคำถามที่ถามและฉันไม่สามารถหาคำศัพท์เฉพาะในหนังสือ ESL ได้
knb

3
Esl เป็นหนังสือที่ยอดเยี่ยม แต่ไม่ใช่แหล่งความรู้ Ml เพียงแหล่งเดียว
lejlot

นี่คือ "ฉันจะบอกว่า" จาก Ng หรือคุณ? h คือโมเดล (h สำหรับสมมุติฐาน) วัตถุประสงค์คือ h ทำงานได้ดี ฟังก์ชั่นวัตถุประสงค์จะวัดว่าเอชทำได้ดีเพียงใดและมักแตกต่างจากเอช
Joachim Wagner

ลิงก์ไปยัง esl เสียหาย
Talespin_Kit

4

ในคำพูดของ Andrew NG -

"ในที่สุดฟังก์ชั่นการสูญเสียถูกกำหนดด้วยความเคารพในตัวอย่างการฝึกอบรมเดียวมันวัดว่าคุณทำได้ดีแค่ไหนในการฝึกตัวอย่างเดียวตอนนี้ฉันกำลังจะนิยามสิ่งที่เรียกว่าฟังก์ชั่นต้นทุน ทำชุดฝึกอบรมทั้งหมดดังนั้นฟังก์ชั่นค่าใช้จ่าย J ซึ่งใช้กับพารามิเตอร์ของคุณคือ W และ B จะเป็นค่าเฉลี่ยโดยหนึ่งใน m ของผลรวมของฟังก์ชั่นการสูญเสียที่ใช้กับตัวอย่างการฝึกอบรมแต่ละรอบแล้ว "


3

จากหัวข้อ 4.3 ใน "การเรียนรู้ลึก" - Ian Goodfellow, Yoshua Bengio, Aaron Courville 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 หมายถึงเอาต์พุตที่คาดหวัง

หมายเหตุ: - เครดิตไปที่ทรัพยากรของ Andrew: เครือข่ายประสาทของหลักสูตรและการเรียนรู้อย่างลึกซึ้ง


-1

ฟังก์ชั่นการสูญเสียคำนวณข้อผิดพลาดสำหรับตัวอย่างการฝึกอบรมเดียวในขณะที่ฟังก์ชั่นค่าใช้จ่ายเป็นค่าเฉลี่ยของฟังก์ชั่นการสูญเสียของชุดการฝึกอบรมทั้งหมด


ดูลิงค์ของ Nick Cox
Michael Chernick
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.