ฉันถามตัวเองด้วยคำถามนี้มาหลายเดือนแล้ว คำตอบของ CrossValidated และ Quora แสดงรายการคุณสมบัติที่ดีของฟังก์ชัน sigmoid ของ logistic แต่ทั้งหมดดูเหมือนว่าเราจะเดาฟังก์ชันนี้ได้อย่างชาญฉลาด สิ่งที่ฉันพลาดคือเหตุผลในการเลือก ในที่สุดผมก็พบว่าหนึ่งในส่วน 6.2.2.2 ของ"ลึกการเรียนรู้" หนังสือโดย Bengio (2016) ในคำพูดของฉัน:
ในระยะสั้นเราต้องการลอการิทึมของเอาท์พุทของแบบจำลองนั้นเหมาะสำหรับการปรับให้เหมาะสมแบบไล่ระดับตามความน่าจะเป็นของบันทึกข้อมูลการฝึกอบรม
แรงจูงใจ
- เราต้องการรูปแบบเชิงเส้น แต่เราไม่สามารถใช้โดยตรงเป็นinfty)z=wTx+bz∈(−∞,+∞)
- สำหรับการจำแนกประเภทก็จะทำให้ความรู้สึกที่จะถือว่าการกระจาย Bernoulli และรูปแบบของพารามิเตอร์ใน\θP(Y=1)=θ
- ดังนั้นเราต้องทำแผนที่จากถึงเพื่อทำการจำแนกz(−∞,+∞)[0,1]
ทำไมฟังก์ชัน sigmoid ของโลจิสติกส์?
ตัดกับผลตอบแทนถัวเฉลี่ยลาดศูนย์สำหรับนอก1] เราต้องการการไล่ระดับสีที่แข็งแกร่งเมื่อใดก็ตามที่การทำนายของแบบจำลองไม่ถูกต้องเนื่องจากเราแก้ปัญหาการถดถอยโลจิสติกด้วยการไล่ระดับสี สำหรับการถดถอยโลจิสติกไม่มีวิธีแก้ปัญหาแบบปิดzP(Y=1|z)=max{0,min{1,z}}z[0,1]
ฟังก์ชันลอจิสติกมีคุณสมบัติที่ดีของการไล่ระดับสีแบบไม่คงที่เมื่อการทำนายแบบจำลองไม่ถูกต้องเนื่องจากเราใช้การประมาณความน่าจะเป็นสูงสุดเพื่อให้พอดีกับแบบจำลอง ดังแสดงด้านล่าง:
เพื่อประโยชน์ที่เป็นตัวเลขการประมาณความน่าจะเป็นสูงสุดสามารถทำได้โดยการลดความน่าจะเป็นในเชิงลบของข้อมูลการฝึกอบรม ดังนั้นฟังก์ชันต้นทุนของเราคือ:
J(w,b)=1m∑i=1m−logP(Y=yi|xi;w,b)=1m∑i=1m−(yilogP(Y=1|z)+(yi−1)logP(Y=0|z))
เนื่องจากเราสามารถมุ่งเน้นไปที่กรณี ดังนั้นคำถามคือวิธีการรูปแบบที่กำหนดว่าเรามีBP(Y=0|z)=1−P(Y=1|z)Y=1P(Y=1|z)z=wTx+b
ข้อกำหนดที่ชัดเจนสำหรับฟังก์ชั่นการทำแผนที่ถึงคือ:fzP(Y=1|z)
- ∀z∈R:f(z)∈[0,1]
- f(0)=0.5
- fควรเป็น wrt แบบสมมาตรแบบหมุนได้ , เช่น , ดังนั้นการพลิกสัญญาณของคลาสจึงไม่มีผลต่อฟังก์ชันต้นทุน(0,0.5)f(−x)=1−f(x)
- fควรจะไม่ลดลงต่อเนื่องและ differentiable
ความต้องการเหล่านี้ได้รับการปฏิบัติตาม rescaling ฟังก์ชั่น sigmoid ทั้งและเติมเต็มพวกเขา อย่างไรก็ตามฟังก์ชั่น sigmoid นั้นแตกต่างกันไปตามพฤติกรรมของพวกมันในระหว่างการปรับแต่งแบบไล่ระดับสีตามความน่าจะเป็นของล็อก เราสามารถเห็นความแตกต่างโดยเสียบฟังก์ชั่นโลจิสติกเข้ากับฟังก์ชันต้นทุนของเราf(z)=11+e−zf(z)=0.5+0.5z1+|z|f(z)=11+e−z
ความอิ่มตัวของY=1
สำหรับและค่าใช้จ่ายของตัวอย่างที่ไม่ได้จัดประเภทเดียว (เช่น ) คือ:P(Y=1|z)=11+e−zY=1m=1
J(z)=−log(P(Y=1|z))=−log(11+e−z)=−log(ez1+ez)=−z+log(1+ez)
เราจะเห็นว่ามีเป็นองค์ประกอบเชิงเส้น-zตอนนี้เราสามารถดูสองกรณี:−z
- เมื่อมีขนาดใหญ่ทำนายรูปแบบของถูกต้องตั้งแต่ 1 ในฟังก์ชั่นค่าใช้จ่ายที่ asymptotes ระยะขนาดใหญ่Zดังนั้นจึงเป็นการยกเลิกออกไปซึ่งนำไปสู่ค่าใช้จ่ายโดยประมาณเป็นศูนย์สำหรับตัวอย่างนี้และการไล่ระดับสีอ่อน นั่นเป็นเหตุผลที่แบบจำลองนั้นทำนายคลาสที่ถูกต้องอยู่แล้วzY=1log(1+ez)zz−z
- เมื่อมีขนาดเล็ก ( แต่มีขนาดใหญ่) ทำนายรูปแบบก็คือไม่ถูกต้องตั้งแต่ 1 ในฟังก์ชั่นค่าใช้จ่ายที่ asymptotes ระยะสำหรับขนาดเล็กและZดังนั้นค่าใช้จ่ายโดยรวมสำหรับตัวอย่างนี้คือประมาณหมายถึงการไล่ระดับสี WRTคือประมาณ-1สิ่งนี้ทำให้ง่ายสำหรับโมเดลในการแก้ไขการทำนายที่ผิดโดยอิงจากการไล่ระดับสีแบบคงที่ที่ได้รับ แม้จะมีขนาดเล็กมากก็ไม่มีความอิ่มตัวเกิดขึ้นซึ่งจะทำให้การไล่ระดับสีหายไปz|z|Y=1log(1+ez)0z−zz−1z
ความอิ่มตัวของY=0
ด้านบนเราเพ่งความสนใจไปที่กรณี สำหรับฟังก์ชั่นค่าใช้จ่ายจะทำงานแบบอะนาล็อกโดยมีการไล่ระดับสีที่แข็งแกร่งเฉพาะเมื่อการทำนายแบบจำลองไม่ถูกต้องY=1Y=0
นี่คือฟังก์ชันต้นทุนสำหรับ :J(z)Y=1
มันเป็นฟังก์ชั่น softplus พลิกแนวนอน สำหรับมันเป็นฟังก์ชั่น softplusY=0
ทางเลือก
คุณพูดถึงทางเลือกในการฟังก์ชั่น sigmoid โลจิสติกเช่น|} ปกตินี้จะหมายถึงว่าเราจำลอง|}z1+|z|[0,1]P(Y=1|z)=0.5+0.5z1+|z|
ระหว่าง MLE ฟังก์ชันต้นทุนสำหรับจะเป็นY=1
J(z)=−log(0.5+0.5z1+|z|) ,
ซึ่งมีลักษณะเช่นนี้:
คุณสามารถมองเห็นว่าการไล่ระดับสีของฟังก์ชั่นค่าใช้จ่ายที่ได้รับการปรับตัวลดลงและอ่อนแอสำหรับ\z→−∞