ฉันรู้ว่านี่เป็นคำถามเก่าและมีคำตอบที่ดีมาก ฉันต้องการแบ่งปันประสบการณ์ส่วนตัวที่เป็นประโยชน์
k
- ความน่าจะเป็นต้องเป็นบวก
- องค์ประกอบทั้งหมดของชุดความน่าจะเป็นต้องรวมกันเป็นหนึ่ง
นี่มันถามอะไรมากมาย ด้วยการไล่ระดับสีลงเรามักเกี่ยวข้องกับข้อ จำกัด ผ่านฟังก์ชันการลงโทษ ที่นี่มันจะไม่ทำงาน ทันทีที่ค่าละเมิดข้อ จำกัด อย่างใดอย่างหนึ่งเหล่านี้รหัสของคุณจะเพิ่มข้อผิดพลาดตัวเลขแปลก ๆ ดังนั้นเราจึงต้องจัดการกับข้อ จำกัด โดยไม่ให้อัลกอริธึมการปรับให้เหมาะสมเข้าไปสำรวจ
มีการเปลี่ยนแปลงมากมายที่คุณสามารถนำไปใช้กับปัญหาของคุณเพื่อสนองข้อ จำกัด เพื่อให้สามารถไล่ลงทางลาดได้ อย่างไรก็ตามหากคุณกำลังมองหาวิธีที่ง่ายที่สุดและขี้เกียจที่สุดในการดำเนินการนี้แล้วการประสานงานการสืบเชื้อสายเป็นวิธีที่จะไป:
สำหรับแต่ละความน่าจะเป็น พีผม
- พีk + 1ผม= pkผม- η∂J∂พีผม
- พีผม= min ( สูงสุด( pผม, 0 ) , 1 )
- Pj + 1= PJ⋅ 1Σnฉัน= 1พีผม
สำหรับคนอย่างฉันที่ทำงานใน Python นี้มักจะหมายความว่าฉันต้องใช้ for-loop เพิ่มเติมซึ่งส่งผลกระทบต่อประสิทธิภาพค่อนข้างเชิงลบ โคตรลาดชันช่วยให้ฉันใช้ Numpy ซึ่งเป็นประสิทธิภาพที่ดีที่สุด หนึ่งสามารถรับความเร็วที่ดีมากกับมัน แต่นี้ไม่สามารถทำได้กับพิกัดโคตรดังนั้นฉันมักจะใช้เทคนิคการแปลงบางอย่าง
ดังนั้นข้อสรุปที่แท้จริงคือการตกลงร่วมกันเป็นตัวเลือกที่ง่ายที่สุดในการจัดการกับข้อ จำกัด ที่เข้มงวดมากเช่นพารามิเตอร์อัตราในการแจกแจงปัวซอง หากมันกลายเป็นลบคุณรหัสบ่น ฯลฯ
ฉันหวังว่าสิ่งนี้ได้เพิ่มความเข้าใจลึกซึ้งเล็กน้อย