ทำไมฟังก์ชั่นค่าใช้จ่ายใช้ความผิดพลาดกำลังสอง?


73

ฉันเพิ่งเริ่มต้นด้วยการเรียนรู้ของเครื่องและจนถึงตอนนี้ฉันได้จัดการกับการถดถอยเชิงเส้นมากกว่าหนึ่งตัวแปร

ฉันได้เรียนรู้ว่ามีสมมติฐานซึ่งก็คือ:

hθ(x)=θ0+θ1x

เพื่อหาค่าที่ดีสำหรับพารามิเตอร์และθ 1เราต้องการลดความแตกต่างระหว่างผลการคำนวณและผลลัพธ์จริงของข้อมูลทดสอบของเรา เราก็ลบออกθ0θ1

hθ(x(i))y(i)

สำหรับทุกจาก1ไปม. ดังนั้นเราคำนวณผลรวมเหนือความแตกต่างนี้แล้วคำนวณค่าเฉลี่ยด้วยการคูณผลรวมด้วย1i1m . จนถึงตอนนี้ดีมาก สิ่งนี้จะส่งผลให้:1m

1mi=1mhθ(x(i))y(i)

แต่นี่ไม่ใช่สิ่งที่ได้รับการแนะนำ แต่หลักสูตรแนะนำให้ใช้ค่ากำลังสองของความแตกต่างและคูณด้วย . ดังนั้นสูตรคือ:12m

12mi=1m(hθ(x(i))y(i))2

ทำไมถึงเป็นอย่างนั้น? ทำไมเราถึงใช้ฟังก์ชันสแควร์ตรงนี้, ทำไมเราคูณด้วยแทน112m ?1m


3
คำถามที่เกี่ยวข้องที่stats.stackexchange.com
user1205197

ดูคำอธิบายของ Chris McCormick ได้ที่goo.gl/VNiUR5
vimdude

เพราะมันเป็นความแตกต่างของ Bregman
Andrew

คำตอบ:


41

ฟังก์ชั่นการสูญเสียของคุณจะไม่ทำงานเพราะมัน incentivizes ตั้งค่าθ1กับค่า จำกัด ใด ๆ และθ0ไป

เรียกr(x,y)=1mi=1mhθ(x(i))yที่เหลือสำหรับชั่วโมงh

เป้าหมายของคุณคือการทำให้r ใกล้เคียงกับศูนย์ที่เป็นไปได้ไม่เพียง แต่ลดความมัน ค่าลบสูง ๆ นั้นแย่มากเท่ากับค่าบวกสูง

แก้ไข:คุณสามารถโต้กลับได้โดย จำกัด พื้นที่ของพารามิเตอร์Θ (เช่นคุณต้องการ|θ0|<10 ) ในกรณีนี้พารามิเตอร์ที่ดีที่สุดจะอยู่ในจุดที่แน่นอนในขอบเขตของพื้นที่พารามิเตอร์ ดูhttps://math.stackexchange.com/q/896388/12467 นี่ไม่ใช่สิ่งที่คุณต้องการ

ทำไมเราถึงใช้การสูญเสียกำลังสอง

ข้อผิดพลาดกำลังสองบังคับให้h(x)และyจับคู่ มันลดลงที่u=vถ้าเป็นไปได้และมักจะเป็น0 , เพราะมันเป็นตารางของจำนวนจริงuvวี

|uv|จะทำงานเพื่อจุดประสงค์ดังกล่าวข้างต้นเช่นเดียวกับ(uv)2nโดยที่nมีจำนวนเต็มบวก อันแรกนั้นถูกใช้งานจริง (เรียกว่าการสูญเสีย1คุณอาจเจอการสูญเสีย2ซึ่งเป็นอีกชื่อหนึ่งสำหรับข้อผิดพลาดกำลังสอง)

แล้วทำไมการสูญเสียกำลังสองดีกว่านี้? นี่เป็นคำถามเชิงลึกที่เกี่ยวข้องกับการเชื่อมโยงระหว่างการอนุมานบ่อยและการเบย์ ในระยะสั้นข้อผิดพลาด Squared เกี่ยวข้องกับเสียงรบกวนแบบเกาส์

ถ้าข้อมูลของคุณไม่พอดีทุกจุดตรงคือh(x)yไม่เป็นศูนย์สำหรับบางจุดไม่ว่าสิ่งที่θคุณเลือก (เช่นเคยที่จะเกิดขึ้นในทางปฏิบัติ) ที่อาจจะเป็นเพราะเสียงรบกวน ในระบบที่ซับซ้อนใด ๆ จะมีหลายขนาดเล็กอิสระสาเหตุสำหรับความแตกต่างระหว่างของคุณรุ่น hและความเป็นจริง y : ข้อผิดพลาดการวัดปัจจัยด้านสิ่งแวดล้อม ฯลฯ โดยทฤษฎีขีด จำกัด กลาง (CLT) เสียงทั้งหมดจะถูกกระจายปกติคือเป็นไปตามเสียนกระจาย เราต้องการเลือกแบบที่ดีที่สุดθคำนึงถึงการกระจายเสียงดังกล่าวด้วย สมมติR=h(X)Yเป็นส่วนหนึ่งของyที่รูปแบบของคุณไม่สามารถอธิบายได้ดังต่อไปนี้การกระจาย Gaussian N(μ,σ) ) เรากำลังใช้ตัวพิมพ์ใหญ่เพราะเรากำลังพูดถึงตัวแปรแบบสุ่มตอนนี้

การแจกแจงแบบเกาส์มีสองพารามิเตอร์หมายถึงμ=E[R]=1mihθ(X(i))Y(i))σ2=E[R2]=1mi(hθ(X(i))Y(i)))2

  • μh(x)=h(x)μμ=E[R]=0

  • σσ2=1mi(hθ(X(i))Y(i)))2

μ

คำถามติดตาม

  • 1|xμ|(xμ)21

    • 1
  • hθH

12

mθ

  • 12

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

    • ฉันเคยพบปัญหานี้มาก่อน: ฉันทดสอบโค้ดที่มีจำนวนจุดน้อยและทำงานได้ดี แต่เมื่อคุณทดสอบด้วยชุดข้อมูลทั้งหมดจะมีการสูญเสียความแม่นยำและบางครั้งอาจสูงเกินไป / ต่ำเกินไปเช่นการไล่ระดับสีของคุณnanหรือinf. เพื่อหลีกเลี่ยงปัญหานั้นเพียงแค่ทำให้จำนวนจุดข้อมูลเป็นปกติ
  • mλm


คุณพูดว่า "เมื่อคุณหาอนุพันธ์, นิพจน์นั้นน่ารักกว่า, เพราะทั้ง 2 ยกเลิก 2 ออกจากเทอมสแควร์" แต่ทำไมเราถึงต้องการอนุพันธ์ของมัน?
DrGeneral

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

1
รุนแรงให้อภัยความไร้เดียงสาของฉัน แต่ทำไมไม่ใช้ค่าสัมบูรณ์แทนการเป็นรูปสี่เหลี่ยม?
Alexander Suraphel

1
ข้อผิดพลาดสัมบูรณ์สามารถทำงานได้ แต่ในกรณีนี้คุณจะถอยกลับไปหาค่ามัธยฐานแทนค่าเฉลี่ย ทำรายการตัวเลขจำนวนเล็กน้อยและดูว่าการสูญเสียแตกต่างกันอย่างไรโดยเปลี่ยนการประมาณของคุณ (สำหรับความคลาดเคลื่อนกำลังสองและสัมบูรณ์)
Jan van der Vegt

@AlexanderSuraphel ขออภัยในความล่าช้าในการตอบคำถาม :) ฉันได้เพิ่มหัวข้อด้านบนเพื่อแก้ไขปัญหานั้น
Harsh

25

สัมประสิทธิ์ 1/2 มีไว้เพื่อความสะดวกเท่านั้น มันทำให้อนุพันธ์ซึ่งเป็นฟังก์ชั่นการเพิ่มประสิทธิภาพจริงดู nicer 1 / m เป็นพื้นฐานมากขึ้น มันแสดงว่าเราสนใจข้อผิดพลาดกำลังสองเฉลี่ย สิ่งนี้ช่วยให้คุณทำการเปรียบเทียบอย่างเป็นธรรมเมื่อเปลี่ยนขนาดตัวอย่างและป้องกันไม่ให้มีน้ำล้น เครื่องมือเพิ่มประสิทธิภาพที่เรียกว่า "สุ่ม" ใช้ชุดย่อยของชุดข้อมูล (m '<m) เมื่อคุณแนะนำ regularizer (คำเติมให้กับฟังก์ชันวัตถุประสงค์) การใช้ตัวคูณ 1 / m ช่วยให้คุณใช้สัมประสิทธิ์เดียวกันสำหรับ regularizer โดยไม่คำนึงถึงขนาดของตัวอย่าง

สำหรับคำถามที่ว่าทำไมสแควร์และไม่ใช่แค่ความแตกต่าง: คุณไม่ต้องการให้การประเมินต่ำกว่าที่จะถูกลงโทษในทำนองเดียวกันกับการประเมินค่าสูงเกินไป? Squaring กำจัดเอฟเฟกต์ของสัญลักษณ์ของข้อผิดพลาด การรับค่าสัมบูรณ์ (L1 norm) ก็ทำเช่นเดียวกัน แต่อนุพันธ์ของมันไม่ได้นิยามไว้ที่จุดกำเนิดดังนั้นจึงต้องใช้ความซับซ้อนมากขึ้น บรรทัดฐาน L1 นั้นมีประโยชน์ดังนั้นโปรดระลึกไว้และอาจถามครูว่า (s) เขาจะปิดบังหรือไม่


4
L2LpL2

6

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

ไม่มีกฎเกณฑ์เกี่ยวกับการกำหนดระยะทางสถิติ 'นี้' แต่ถ้าตัวเลือกที่เหมาะสมแล้วการลดความก้าวหน้าใน 'ระยะทาง' นี้ในระหว่างการเพิ่มประสิทธิภาพแปลเป็ ดังนั้นการเลือก 'ระยะทางสถิติ' หรือการวัดข้อผิดพลาดจึงสัมพันธ์กับการแจกแจงข้อมูล

ในความเป็นจริงมีการวัดระยะทาง / ข้อผิดพลาดที่กำหนดไว้อย่างดีหลายระดับสำหรับการแจกแจงเชิงสถิติที่แตกต่างกัน ขอแนะนำให้เลือกการวัดข้อผิดพลาดตามการกระจายของข้อมูลในมือ มันเพิ่งเกิดขึ้นที่การแจกแจงแบบเกาส์นั้นแพร่หลายและดังนั้นการวัดระยะทางที่เกี่ยวข้องจึงทำให้ L2-norm เป็นตัวชี้วัดข้อผิดพลาดที่ได้รับความนิยมมากที่สุด อย่างไรก็ตามนี่ไม่ใช่กฎและมีข้อมูลในโลกแห่งความเป็นจริงซึ่งการใช้งานการปรับให้เหมาะสมแบบ 'มีประสิทธิภาพ' จะใช้การวัดข้อผิดพลาดที่แตกต่างจาก L2-norm

พิจารณาชุดของความแตกต่าง Bregman การเป็นตัวแทนที่ยอมรับได้ของการวัดที่แตกต่างนี้คือ L2-norm (ข้อผิดพลาดกำลังสอง) นอกจากนี้ยังรวมถึงเอนโทรปีสัมพัทธ์ (Kullback-Liebler divergence), ระยะทางแบบยุคลิดทั่วไป (ตัวชี้วัด Mahalanobis), และฟังก์ชั่น Itakura-Saito คุณสามารถอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ในบทความนี้เกี่ยวกับการทำงาน Bregman Divergence และคชกรรมการประมาณค่าการกระจาย

Take-away: L2-norm มีชุดคุณสมบัติที่น่าสนใจซึ่งทำให้มันเป็นตัวเลือกยอดนิยมสำหรับการวัดความผิดพลาด (คำตอบอื่น ๆ ที่ได้กล่าวถึงบางข้อเพียงพอเพียงพอกับขอบเขตของคำถามนี้) และข้อผิดพลาดกำลังสองจะเหมาะสม เลือกมากที่สุดของเวลา อย่างไรก็ตามเมื่อการกระจายข้อมูลต้องการมันมีมาตรการข้อผิดพลาดทางเลือกให้เลือกและตัวเลือกขึ้นอยู่กับส่วนใหญ่ในการกำหนดขั้นตอนการเพิ่มประสิทธิภาพ

* การวัดความผิดพลาด 'เหมาะสม' จะทำให้ฟังก์ชั่นการสูญเสียนูนสำหรับการปรับให้เหมาะสมซึ่งมีประโยชน์มากเมื่อเทียบกับการวัดข้อผิดพลาดอื่น ๆ ที่ฟังก์ชั่นการสูญเสียนั้นไม่ใช่แบบนูนและยากอย่างฉาวโฉ่


5

นอกเหนือจากประเด็นสำคัญที่ผู้อื่นทำโดยใช้ข้อผิดพลาดกำลังสองให้ความสำคัญกับข้อผิดพลาดที่ใหญ่กว่า (เกิดอะไรขึ้นกับ 1/2 เมื่อคุณยกกำลังสองเทียบกับ 3/2?)

การมีอัลกอริธึมที่เคลื่อนย้ายข้อผิดพลาดแบบเศษส่วนซึ่งน่าจะส่งผลให้เกิดการจำแนกประเภทที่ถูกต้องหรือความแตกต่างเล็กน้อยระหว่างการประเมินและความจริงภาคพื้นดินหากปล่อยให้อยู่คนเดียวใกล้กับศูนย์ อัลกอริทึม

การใช้ข้อผิดพลาดกำลังสองใช้ข้อผิดพลาดเป็นน้ำหนักความสำคัญโดยนัยสำหรับการปรับการทำนาย


ดังนั้นข้อผิดพลาดอะไรคืออะไร
jeza

3

ในการกำหนดของคุณคุณพยายามที่จะได้รับค่าเบี่ยงเบนเฉลี่ยของการประมาณของคุณจากข้อมูลที่สังเกต

หากค่าเฉลี่ยของการประมาณของคุณใกล้เคียงหรือเท่ากับค่าเฉลี่ยของข้อมูลที่สังเกต (สิ่งที่เป็นที่ต้องการและมักจะเกิดขึ้นกับแผนการประมาณจำนวนมาก) ผลลัพธ์ของการกำหนดของคุณจะเป็นศูนย์หรือเล็กน้อยเนื่องจากข้อผิดพลาดเชิงบวกชดเชยด้วยเชิงลบ ข้อผิดพลาด สิ่งนี้อาจนำไปสู่ข้อสรุปว่าการประมาณของคุณนั้นยอดเยี่ยมในแต่ละตัวอย่างที่สังเกตได้ แต่อาจไม่เป็นเช่นนั้น นั่นเป็นเหตุผลที่คุณใช้สแควร์ของข้อผิดพลาดในแต่ละตัวอย่างและคุณเพิ่มพวกเขา (เปิดแต่ละข้อผิดพลาดเป็นบวก)

แน่นอนว่านี่เป็นเพียงวิธีแก้ปัญหาที่เป็นไปได้เนื่องจากคุณสามารถใช้ L1-norm (ค่าสัมบูรณ์ของข้อผิดพลาดในแต่ละตัวอย่าง) หรืออื่น ๆ อีกมากมายแทนที่จะเป็น L2-norm

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