เหตุใดจึงต้องปรับความน่าจะเป็นบันทึกสูงสุดให้เหมาะสมแทนความน่าจะเป็น


66

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

logpθ=1ppθ

ดูที่นี่หรือที่นี่สำหรับตัวอย่างบางส่วน

แน่นอนว่าการเพิ่มประสิทธิภาพนั้นเทียบเท่า แต่การไล่ระดับจะแตกต่างกันดังนั้นวิธีการไล่ระดับสีใด ๆ จะทำงานแตกต่างกัน (โดยเฉพาะวิธีการไล่ระดับสีแบบสุ่ม stochastic) มีเหตุผลใดที่logpลาดทำงานดีกว่าpลาด?


3
คุณต้องสังเกตว่าเรามักจะเพิ่มโอกาสในการใช้อนุพันธ์ ในอีกหลายกรณีเงื่อนไขความเป็นอิสระถูกนำมาใช้หมายความว่าโอกาสที่เป็นผลิตภัณฑ์ของฟังก์ชั่นความหนาแน่นของความน่าจะเป็น iid บางส่วน นอกจากนี้ผลิตภัณฑ์ที่มีค่าน้อยมาก (ในช่วง [0,1]) จะส่งผลให้มีค่าน้อยมาก ส่งผลให้เกิดความยากในการคำนวณ
TPArrow

@AlejandroRodriguez ลองดูคำตอบของฉันที่นี่เพื่อดูรายละเอียดเพิ่มเติม
Paul

คำตอบ:


65

วิธีการไล่ระดับสีโดยทั่วไปทำงานได้ดีกว่าการเพิ่มประสิทธิภาพกว่าp ( x )เนื่องจากการไล่ระดับสีของlog p ( x )โดยทั่วไปมีขนาดที่ดีขึ้น นั่นคือมันมีขนาดที่สะท้อนรูปทรงเรขาคณิตของฟังก์ชันวัตถุประสงค์อย่างต่อเนื่องและเป็นประโยชน์ทำให้ง่ายต่อการเลือกขนาดขั้นตอนที่เหมาะสมและเข้าถึงจุดที่เหมาะสมในขั้นตอนที่น้อยลงlogp(x)p(x)logp(x)

เพื่อดูสิ่งที่ผมหมายถึงการเปรียบเทียบการเพิ่มประสิทธิภาพการไล่ระดับสีสำหรับและF ( x ) = log P ( x ) = - x 2 ที่จุดใดxลาดของF ( x )เป็น' ( x ) = - 2 x ถ้าเราคูณโดย1 / 2p(x)=exp(x2)f(x)=logp(x)=x2xf(x)

f(x)=2x.
1/2เราได้รับขนาดขั้นตอนที่แน่นอนเพื่อให้ได้มาซึ่งจุดกำเนิดที่เหมาะสมที่สุดในโลกไม่ว่าคืออะไร ซึ่งหมายความว่าเราไม่ต้องทำงานหนักจนเกินไปเพื่อให้ได้ขนาดที่ดี (หรือ "อัตราการเรียนรู้" เป็นศัพท์แสง ML) ไม่ว่าจุดเริ่มต้นของเราจะอยู่ที่ใดเราเพียงแค่ตั้งค่าการไล่ระดับสีครึ่งหนึ่งและเราจะอยู่ที่จุดกำเนิดในขั้นตอนเดียว และหากเราไม่ทราบปัจจัยที่แน่นอนที่เราต้องการเราสามารถเลือกขนาดขั้นตอนประมาณ 1 ทำการค้นหาบรรทัดเล็กน้อยและเราจะพบขนาดขั้นตอนที่ยอดเยี่ยมอย่างรวดเร็วหนึ่งที่ทำงานได้ดีไม่ว่าที่ไหนxคือ โรงแรมแห่งนี้มีประสิทธิภาพในการแปลและการปรับขนาดของF ( x ) ในขณะที่ปรับขนาดf ( x )xxf(x)f(x)จะทำให้สเกลขั้นตอนที่เหมาะสมแตกต่างจาก 1/2 อย่างน้อยสเกลขั้นตอนจะเหมือนกันไม่ว่าคืออะไรดังนั้นเราต้องค้นหาพารามิเตอร์เดียวเพื่อให้ได้รูปแบบการเพิ่มประสิทธิภาพที่ใช้การไล่ระดับสีที่มีประสิทธิภาพx

p(x)

p(x)=f(x)p(x)=2xexp(x2).
2xexp(x2)xx=5exp(x2)=1.4101110111011p(x)p(x)

logp(x)logp(x)p(x)f(x)


4
+1 คำตอบนี้นำเสนอและเน้นจุดที่เป็นหัวใจของเรื่อง
whuber

47

underflow

คอมพิวเตอร์ใช้ตัวเลขทศนิยมที่ จำกัด ในการแทนเศษส่วนการคูณความน่าจะเป็นจำนวนมากรับประกันได้ว่าใกล้เคียงกับศูนย์มาก

ด้วยเราไม่มีปัญหานี้log


3
+1 สำหรับความเสถียรเชิงตัวเลข - นี่และคำตอบของ Yuril ควรเป็นหนึ่ง!
Alec Teal

1
คุณสามารถคำนวณผลิตภัณฑ์ในพื้นที่บันทึกจึงกลายเป็นผลรวมแล้วโอนกลับ หรือคุณคำนวณซึ่งเท่ากับtheta} ดังนั้นความเสถียรเชิงตัวเลขไม่ใช่คำถาม พีlogpθppθ
อัลเบิร์ต

1
โปรดจำไว้ว่าคุณพูดถึงคือการคูณความน่าจะเป็นของเหตุการณ์ทั้งหมดในกลุ่มตัวอย่างและคือองค์ประกอบที่อยู่ภายใต้ความไม่พอ พีpp
Uri Goren

5
@Filip คำศัพท์ในหัวข้อนี้ค่อนข้างไม่เหมาะสม เรากำลังพูดถึงความหนาแน่นของความน่าจะเป็นไม่ใช่ความน่าจะเป็น ความหนาแน่นนั้นขึ้นอยู่กับหน่วยของการวัด นอกจากนี้สำหรับตัวอย่างเพียงพอขนาดความหนาแน่นของความน่าจะเป็นของกลุ่มตัวอย่างง่ายๆใด ๆ จากรูปแบบตัวแปรในที่สุดก็จะน้อยกว่า127} ในปัญหาใหญ่ (ที่มีข้อมูลนับล้าน) ความหนาแน่นของความน่าจะเป็นเป็นประจำอยู่ที่หรือน้อยกว่า แม้จะเป็นตัวอย่างที่มีขนาดจากการกระจายปกติมาตรฐานคือเกือบบางอย่างที่จะมีความหนาแน่นน้อยกว่า127} 2 - 1000000 80 2 - 127212721000000802127
whuber

4
@FilipHaglund: whuber ถูกต้อง แต่ความจริงที่ว่าความหนาแน่นของมันไม่ได้เป็นข้อสังเกตที่สำคัญที่นี่ เราก็สามารถพูดคุยเกี่ยวกับกระบวนการที่แยกกันและพูดคุยเกี่ยวกับความน่าจะเป็นที่แท้จริง (และในความเป็นจริง OP ไม่ได้พูดอะไรที่ยกเว้นกรณีนี้) แต่เรากำลังพูดถึงความน่าจะเป็นสำหรับผลลัพธ์ที่เฉพาะเจาะจงมาก (เช่นการสังเกตเป็นล้าน ๆ ครั้งจะเป็นไปในทางใดทางหนึ่ง) ผลลัพธ์ที่เฉพาะเจาะจงเพียงอย่างเดียวนั้นไม่น่าเป็นไปได้ แต่ในอัตราส่วนการอนุมานแบบเบย์ของความน่าจะเป็นมีความสำคัญดังนั้นเราจำเป็นต้องทราบว่าความน่าจะเป็นหนึ่งที่มีขนาดเล็กกว่านั้นอีกมาก
Meni Rosenfeld

34
  1. ลอการิทึมของความน่าจะเป็นของความน่าจะเป็นที่เกิดร่วมหลาย ๆทำให้ผลรวมของลอการิทึมของความน่าจะเป็นแต่ละอย่างง่ายขึ้น (และกฎผลรวมนั้นง่ายกว่ากฏของผลิตภัณฑ์สำหรับความแตกต่าง)

    log(iP(xi))=ilog(P(xi))

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

    log(exp(12x2))=12x2

  3. รูปแบบหลังมีทั้งความเสถียรของตัวเลขและสัญลักษณ์ที่ง่ายต่อการแยกความแตกต่างจากแบบเดิม

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


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

เหตุผลที่ 1 และ 3 เพียงอธิบายวิธีการคำนวณ คุณสามารถคำนวณมันเป็นอย่างนั้นแล้วแปลงกลับ (คูณด้วย ) เพื่อให้ได้theta} เป็นเรื่องธรรมดาที่จะคำนวณใน log-space เพื่อความเสถียรเชิงตัวเลข แต่นั่นไม่ได้อธิบายว่าทำไมคุณใช้การไล่ระดับสีนั้น เหตุผลที่ 4 ก็ไม่ใช่เหตุผลที่ไล่ระดับสีดีกว่า คุณสามารถทำได้ด้วยการแปลงอื่น ๆ อีกมากมายเช่นกัน เหตุผลที่ 2 น่าสนใจ แต่ฉันก็ยังไม่แน่ใจเหมือนกันว่าทำไมการไล่ระดับสีของพหุนามดีกว่าการไล่ระดับสีของฟังก์ชันอื่น ppθlogp
อัลเบิร์ต

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

@TemplateRex: ใช่มันชัดเจนแล้ว แต่ฉันถามเกี่ยวกับคุณสมบัติการลู่เข้าในวิธีการไล่ระดับสีแบบสุ่ม
อัลเบิร์ต

25

มันง่ายกว่ามากที่จะหาอนุพันธ์ของผลรวมของลอการิทึมมากกว่าที่จะหาอนุพันธ์ของผลิตภัณฑ์ที่ประกอบด้วย, พูด, 100 ตัวคูณ


10
รวมทั้งคุณลดปัญหาตัวเลขที่อาจเกิดขึ้นเมื่อคำศัพท์มีขนาดเล็กมาก
Björn

8
ในทางตรงกันข้าม OP จะให้วิธีที่ยอดเยี่ยมในการคำนวณอนุพันธ์ของผลิตภัณฑ์ใด ๆ ของฟังก์ชั่นที่ไม่ติดลบ: คูณผลรวมของอนุพันธ์ของบันทึกโดยผลิตภัณฑ์ (การคูณนี้ทำได้ดีที่สุดในแง่ของลอการิทึมซึ่งกำจัดปัญหาเชิงตัวเลขที่อ้างถึงในความคิดเห็นของ @ Björnด้วย) ดังนั้น "ความง่าย" จึงไม่มีพลังในการอธิบายที่แท้จริงและไม่ได้ตอบคำถามที่มีความหมายมากกว่า .
whuber

10

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

ตามที่ระบุไว้โดย TemplateRex ในปัญหาที่หลากหลายความน่าจะเป็นที่จะคำนวณฟังก์ชันความน่าจะเป็นมาจากการแจกแจงแบบปกติหรือใกล้เคียงกับมัน ดังนั้นถ้าคุณทำงานบนบันทึกคุณจะได้ฟังก์ชันกำลังสองที่ดี โดยที่ถ้าคุณทำงานกับความน่าจะเป็นคุณก็มีฟังก์ชันที่

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

ซึ่งฟังก์ชั่นคุณจะค่อนข้างเพิ่มประสิทธิภาพนี้หรือนี่ ?

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

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

คุณสามารถเข้าใกล้อีกทางนี้ได้ แม้ว่าจะไม่ได้ประโยชน์จากบันทึก (ซึ่งมี) - เราจะใช้ขนาดบันทึกต่อไปสำหรับการทดลองและการคำนวณดังนั้นอะไรคือเหตุผลที่มีการใช้การแปลงประสบการณ์เพียงแค่การคำนวณการไล่ระดับสี? เราอาจจะยังคงสอดคล้องกับบันทึก


@TemplateRex: บันทึกของฟังก์ชั่นบวก (ลง) นูนเป็นนูน แต่การสนทนาไม่เป็นความจริง ความน่าจะเป็นไม่ได้นูนดังนั้นพวกเขาไม่มีอะไรจะเก็บไว้ แต่ท่อนซุงนั้นจะนูน ดูกราฟที่ฉันเชื่อมโยง - exp (-10x ^ 2) เห็นได้ชัดว่าไม่นูน แต่ -10x ^ 2 คือ
Meni Rosenfeld

4

โดยการใช้เราจะเพิ่มช่วงไดนามิกของอัลกอริธึมการปรับให้เหมาะสม ในการใช้งานมักจะเป็นผลิตภัณฑ์ของฟังก์ชั่น ตัวอย่างเช่นในการประเมินความเป็นไปได้สูงสุดมันเป็นผลมาจากรูปแบบโดยที่เป็นฟังก์ชันความหนาแน่นซึ่งสามารถ มากกว่าหรือน้อยกว่า 1 btwp L ( x | θ ) = Π n ฉัน= 1 f ( x i | θ ) f ( . )lnppL(x|θ)=Πi=1nf(xi|θ)f(.)

ดังนั้นเมื่อมีขนาดใหญ่มากคือตัวอย่างที่มีขนาดใหญ่, ฟังก์ชั่นความน่าจะเป็นของคุณมักจะห่างไกลจาก 1: มันเป็นทั้งขนาดเล็กมากหรือมีขนาดใหญ่มากเพราะมันเป็นอำนาจหน้าที่ nL ( . )nL(.)Lf(.)n

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


0

คำตอบที่ดีบางคำได้รับแล้ว แต่ฉันเพิ่งพบใหม่:

บ่อยครั้งที่คุณได้รับชุดข้อมูลการฝึกอบรมขนาดใหญ่และคุณกำหนดรูปแบบความน่าจะเป็นบางอย่างและคุณต้องการเพิ่มโอกาสในการมากที่สุด พวกมันจะถือว่าเป็นอิสระนั่นคือคุณมี ทีนี้คุณมักจะทำการฝึกแบบไล่ระดับสี (มินิแบทช์) เช่นในแต่ละขั้นตอนสำหรับการสูญเสียคุณต้องปรับสำหรับ , คือ Xp(x|θ)xX

p(X|θ)=xXp(x|θ).
LL(X|θ)XX
θ:=θxXL(x|θ)θ.
ตอนนี้ขั้นตอนสุ่มเหล่านี้ถูกสะสมเพิ่มเข้ามา เนื่องจากสิ่งนี้คุณต้องการคุณสมบัติที่โดยทั่วไป นี่เป็นกรณีสำหรับ
L(X|θ)=xXL(x|θ).
L(x|θ)=logp(x|θ).

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