ฟังก์ชั่นการสูญเสียของคุณจะไม่ทำงานเพราะมัน incentivizes ตั้งค่าθ1กับค่า จำกัด ใด ๆ และθ0ไป−∞ ∞
เรียกr(x,y)=1m∑mi=1hθ(x(i))−yที่เหลือสำหรับชั่วโมงh
เป้าหมายของคุณคือการทำให้r ใกล้เคียงกับศูนย์ที่เป็นไปได้ไม่เพียง แต่ลดความมัน ค่าลบสูง ๆ นั้นแย่มากเท่ากับค่าบวกสูง
แก้ไข:คุณสามารถโต้กลับได้โดย จำกัด พื้นที่ของพารามิเตอร์Θ (เช่นคุณต้องการ|θ0|<10 ) ในกรณีนี้พารามิเตอร์ที่ดีที่สุดจะอยู่ในจุดที่แน่นอนในขอบเขตของพื้นที่พารามิเตอร์ ดูhttps://math.stackexchange.com/q/896388/12467 นี่ไม่ใช่สิ่งที่คุณต้องการ
ทำไมเราถึงใช้การสูญเสียกำลังสอง
ข้อผิดพลาดกำลังสองบังคับให้h(x)และyจับคู่ มันลดลงที่u=vถ้าเป็นไปได้และมักจะเป็น≥0 , เพราะมันเป็นตารางของจำนวนจริงu−vวี
|u−v|จะทำงานเพื่อจุดประสงค์ดังกล่าวข้างต้นเช่นเดียวกับ(u−v)2nโดยที่nมีจำนวนเต็มบวก อันแรกนั้นถูกใช้งานจริง (เรียกว่าการสูญเสียℓ1คุณอาจเจอการสูญเสียℓ2ซึ่งเป็นอีกชื่อหนึ่งสำหรับข้อผิดพลาดกำลังสอง)
แล้วทำไมการสูญเสียกำลังสองดีกว่านี้? นี่เป็นคำถามเชิงลึกที่เกี่ยวข้องกับการเชื่อมโยงระหว่างการอนุมานบ่อยและการเบย์ ในระยะสั้นข้อผิดพลาด Squared เกี่ยวข้องกับเสียงรบกวนแบบเกาส์
ถ้าข้อมูลของคุณไม่พอดีทุกจุดตรงคือh(x)−yไม่เป็นศูนย์สำหรับบางจุดไม่ว่าสิ่งที่θคุณเลือก (เช่นเคยที่จะเกิดขึ้นในทางปฏิบัติ) ที่อาจจะเป็นเพราะเสียงรบกวน ในระบบที่ซับซ้อนใด ๆ จะมีหลายขนาดเล็กอิสระสาเหตุสำหรับความแตกต่างระหว่างของคุณรุ่น hและความเป็นจริง y : ข้อผิดพลาดการวัดปัจจัยด้านสิ่งแวดล้อม ฯลฯ โดยทฤษฎีขีด จำกัด กลาง (CLT) เสียงทั้งหมดจะถูกกระจายปกติคือเป็นไปตามเสียนกระจาย เราต้องการเลือกแบบที่ดีที่สุดθคำนึงถึงการกระจายเสียงดังกล่าวด้วย สมมติR=h(X)−Yเป็นส่วนหนึ่งของyที่รูปแบบของคุณไม่สามารถอธิบายได้ดังต่อไปนี้การกระจาย Gaussian N(μ,σ) ) เรากำลังใช้ตัวพิมพ์ใหญ่เพราะเรากำลังพูดถึงตัวแปรแบบสุ่มตอนนี้
การแจกแจงแบบเกาส์มีสองพารามิเตอร์หมายถึงμ=E[R]=1m∑ihθ(X(i))−Y(i))σ2=E[R2]=1m∑i(hθ(X(i))−Y(i)))2
μ
คำถามติดตาม
12
mθ
12
- เมื่อเขียนโค้ดหรืออัลกอริทึมเรามักจะกังวลกับการไล่สีมากขึ้นดังนั้นมันจะช่วยให้กระชับ คุณสามารถตรวจสอบความคืบหน้าได้เพียงแค่ตรวจสอบบรรทัดฐานของการไล่ระดับสี ฟังก์ชั่นการสูญเสียบางครั้งตัวเองถูกละเว้นจากรหัสเพราะมันจะใช้เฉพาะสำหรับการตรวจสอบของคำตอบสุดท้าย
mm
- ฉันเคยพบปัญหานี้มาก่อน: ฉันทดสอบโค้ดที่มีจำนวนจุดน้อยและทำงานได้ดี แต่เมื่อคุณทดสอบด้วยชุดข้อมูลทั้งหมดจะมีการสูญเสียความแม่นยำและบางครั้งอาจสูงเกินไป / ต่ำเกินไปเช่นการไล่ระดับสีของคุณ
nan
หรือinf
. เพื่อหลีกเลี่ยงปัญหานั้นเพียงแค่ทำให้จำนวนจุดข้อมูลเป็นปกติ
mλm