ทำไมไม่ใช้อนุพันธ์อันดับสามสำหรับการเพิ่มประสิทธิภาพเชิงตัวเลข?


29

หาก Hessians นั้นดีสำหรับการปรับให้เหมาะสม (ดูเช่นวิธีของ Newton ) ทำไมหยุดอยู่ที่นั่น ลองใช้อนุพันธ์อันดับสาม, สี่, ห้าและหกกันไหม? ทำไมไม่


11
เมื่อคุณพบสิ่งที่ดีที่สุดแล้วทำไมต้องดูต่อไป คุณพยายามถามอะไรจริงๆ คำถามเชิงสถิติของคุณคืออะไร
whuber

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

3
หากคุณสามารถทำอะไรไม่ได้หมายความว่าคุณควรทำ ตราสารอนุพันธ์ที่มีคำสั่งซื้อที่สูงกว่า
Vladislavs Dovgalecs

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

11
คุณไม่ได้ก้าวหน้าทางวิทยาศาสตร์ Halley เอาชนะคุณได้ประมาณ 3 1/4 ศตวรรษ Halley, E. , 1694, "วิธีการใหม่ที่แน่นอนและง่ายในการค้นหารากของสมการใด ๆ โดยทั่วไปและไม่มีการลดลงก่อนหน้านี้" Philos ทรานส์ รอย Soc ลอนดอน, 18, 136–145 วิธีอนุพันธ์ที่ 3 สำหรับการปรับให้เหมาะสมมีอยู่และได้รับการศึกษามาหลายปีแล้ว แต่ยังไม่ได้รับความนิยมอย่างมาก หากนำไปปฏิบัติได้ดีข้อได้เปรียบที่ยิ่งใหญ่ที่สุดของพวกเขาสามารถเพิ่มความแข็งแกร่งให้กับวิธีการของนิวตัน นี่จะเป็นประโยชน์สำหรับปัญหาที่น่ารังเกียจที่สุด
Mark L. Stone

คำตอบ:


31

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

ที่จริงแล้วในหลาย ๆ กรณีการไปที่อนุพันธ์อันดับสามนั้นช่วยได้ ฉันเคยทำมันมากับของที่กำหนดเองมาก่อน อย่างไรก็ตามโดยทั่วไปแล้วการไปหาอนุพันธ์ที่สูงขึ้นจะเพิ่มความซับซ้อนในการคำนวณ - คุณต้องค้นหาและคำนวณอนุพันธ์ทั้งหมดเหล่านั้นและสำหรับปัญหาหลายตัวแปรมีอนุพันธ์อันดับสามมากกว่าอนุพันธ์อันดับหนึ่ง! - ยิ่งไปกว่าการประหยัดในจำนวนขั้นตอนที่คุณได้รับถ้ามี ตัวอย่างเช่นถ้าฉันมีปัญหาสามมิติฉันมีอนุพันธ์อันดับหนึ่ง 3 ตัว, อนุพันธ์อันดับสอง 6 รายการและสัญญาซื้อขายล่วงหน้าที่สาม 10 ดังนั้นการสั่งซื้อรุ่นที่สามมากกว่าสองเท่าของจำนวนการประเมินที่ฉันต้องทำ (ตั้งแต่ 9 ถึง 19) ไม่ต้องพูดถึงความซับซ้อนที่เพิ่มขึ้นของการคำนวณทิศทาง / ขนาดของขั้นตอนเมื่อฉันทำแบบประเมินเสร็จแล้ว แต่แทบจะไม่ลดจำนวนขั้นตอนที่ฉันต้องทำลงไปครึ่งหนึ่ง

ตอนนี้ในกรณีทั่วไปที่มีตัวแปรการรวบรวมของอนุพันธ์บางส่วนจะจำนวนดังนั้นสำหรับปัญหาที่มีห้าตัวแปรจำนวนทั้งหมดที่สาม อนุพันธ์อันดับสี่และห้าจะเท่ากับ 231 ซึ่งเพิ่มขึ้นมากกว่า 10 เท่าเมื่อเทียบกับจำนวนตราสารอนุพันธ์บางส่วนที่หนึ่งและสอง (20) คุณจะต้องมีปัญหาที่ใกล้เคียงกับพหุนามลำดับที่ห้ามากในตัวแปรเพื่อดูการลดการวนซ้ำที่มากพอที่จะนับเพื่อชดเชยภาระการคำนวณพิเศษนั้นn t hknth(k+n1k1)


3
คุณสามารถอธิบายได้ว่าคุณใช้ประโยชน์จากตราสารอนุพันธ์ที่สูงขึ้นได้อย่างไร
whuber

5
@whuber สิ่งที่ OP อ้างถึงอย่างชัดเจนว่าฉันต้องยอมรับอย่างมากคือวิธีของ Newton ในการปรับให้เหมาะสม คำถามจริงๆคือ "ทำไมวิธีการของนิวตันจึงใช้เพียงตราสารอนุพันธ์อันดับหนึ่งและสองไม่ใช่ตราสารอนุพันธ์อันดับสามหรือสูงกว่า" มันเป็นหัวข้อที่ไม่ชัดเจนรวมทั้งไม่ชัดเจนในสิ่งที่เขา / เธอขอ แต่ฉันคิดว่าฉันแค่ให้คำตอบแทนที่จะโหวตเพื่อปิดด้วยเหตุผลใดก็ตาม
jbowman

4
+1 ฉันคิดว่านี่เป็นคำตอบที่ดี แต่ก็สามารถปรับปรุงได้ด้วยการแสดงสิ่งที่คุณทำตามการขยายเทย์เลอร์
Matthew Drury

8
ในฐานะที่เป็นหนึ่งในอาจารย์ของฉัน - ที่ปรึกษาที่ประสบความสำเร็จมากกล่าวกับเราอีกครั้งว่า "เมื่อใดก็ตามที่คุณคิดว่าคุณคิดวิธีสร้างดักหนูที่ดีขึ้นให้ลองคิดดูว่าทำไมคน 1,000 คนที่คิดแบบเดียวกัน ก่อนที่คุณจะไม่วางตลาด จุดรวมของการใช้นิวตันคือการบันทึกการคำนวณ - มิฉะนั้นเราแค่ทำการค้นหาอย่างละเอียดถี่ถ้วน ฉันขอยืนยันกับคุณว่าการเพิ่มอนุพันธ์อันดับสามในปัญหาสามมิตินั้นจะไม่ค่อยจ่ายเงินสำหรับการคำนวณเป็นสองเท่าในแต่ละขั้นตอนโดยมีการทำซ้ำลดลงอย่างมากเว้นแต่ฟังก์ชันจะเป็น ~ a ลูกบาศก์
jbowman

9
ไม่ไม่ใช่ - มันเป็นความคิดเห็นที่ลึกกว่าเล็กน้อยที่อาจปรากฏขึ้นเป็นครั้งแรก ประเด็นคือทวีคูณ - ความคิดส่วนใหญ่ที่ดูดีในตอนแรกไม่ใช่ด้วยเหตุผลที่อาจไม่ชัดเจนเลยและกุญแจจริงของความคิดอาจไม่ใช่ความคิด แต่เป็นสิ่งที่เอาชนะหรือแก้ไขข้อบกพร่องใน ความคิด. ผลของการใช้เหตุผลนี้ชี้ให้เห็นและบอกให้คุณมองหาจุดอ่อนในความคิด มันไม่เกี่ยวกับการยอมแพ้มันเกี่ยวกับการคิดถึงสิ่งต่าง ๆ และด้วยตาที่สำคัญ
jbowman

22

ฉันไม่เห็นว่าด้านสถิติของคำถามนี้คืออะไรดังนั้นฉันจะตอบส่วนการเพิ่มประสิทธิภาพ

การบรรจบกันมี 2 ส่วนคือต้นทุนการทำซ้ำ & การนับซ้ำ

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

ลองคิดดูว่าเกิดอะไรขึ้น

ดังนั้น: ทำไมไม่ใช้> อนุพันธ์อันดับสอง

ส่วนหนึ่งเป็นเพราะ (และนี่เป็นความจริงสำหรับการสั่งซื้อลำดับที่ 2 เช่นกัน แต่เพิ่มเติมในเรื่องเล็กน้อย):

โดยทั่วไปวิธีการเรียงลำดับที่สูงกว่าจะมาบรรจบกันได้เร็วขึ้นเมื่อใกล้ถึงจุดที่เหมาะสมที่สุดเท่านั้น

ในทางกลับกันพวกเขาระเบิดได้ง่ายขึ้นเมื่อพวกเขาอยู่ห่างจากที่เหมาะสม!

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

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

เหตุใดจึงต้องหยุดลำดับที่ 2 เมื่อคุณอยู่ใกล้รูต?

เพราะพฤติกรรมการบรรจบกันของ "สมการกำลังสอง" นั้นคือ "ดีพอ"!

ในการดูว่าทำไมคุณต้องเข้าใจว่า "การลู่เข้าแบบสมการกำลังสอง" หมายความว่าอย่างไร

การบรรจบกันของสมการกำลังสองทางคณิตศาสตร์หมายความว่าถ้าเป็นข้อผิดพลาดของคุณในการทำซ้ำดังนั้นสิ่งต่อไปนี้จะถือเป็นจริงสำหรับค่าคงที่ :ϵkkc

|ϵk+1|c |ϵk|2

ในภาษาอังกฤษแบบธรรมดานั่นหมายความว่าเมื่อคุณใกล้ถึงจุดที่เหมาะสมที่สุด (สำคัญ!) ทุกขั้นตอนพิเศษจะเพิ่มจำนวนของความแม่นยำเป็นสองเท่า

ทำไม? มันง่ายที่จะดูด้วยตัวอย่าง: สำหรับและคุณมี ,เป็นต้นซึ่งเร็วอย่างน่าขัน . (มันสุดยอดมาก !)c=1|ϵ1|=0.1|ϵ2|0.01|ϵ3|0.0001

ทำไมไม่หยุดที่คำสั่งที่ 1 มากกว่าคำสั่งที่สอง?

ที่จริงแล้วคนมักจะทำสิ่งนี้เมื่ออนุพันธ์อันดับสองกลายเป็นราคาแพงเกินไป แต่การบรรจบเชิงเส้นอาจช้ามาก เช่นถ้าคุณได้คุณอาจต้องการ 10,000,000 ซ้ำที่มีการลู่เชิงเส้นเพื่อรับแต่มี23ซ้ำที่มาพร้อมกับการลู่เข้าแบบสมการกำลังสอง ดังนั้นคุณจะเห็นว่าทำไมมันถึงมีความแตกต่างอย่างมากระหว่างลู่เชิงเส้นและกำลังสอง สิ่งนี้ไม่เป็นจริงสำหรับการรวมลำดับที่ 2 และ 3 เช่นกัน (ดูย่อหน้าถัดไป)ϵk=0.9999999|ϵ|<0.5

ณ จุดนี้ถ้าคุณรู้วิทยาการคอมพิวเตอร์ใด ๆ ที่คุณเข้าใจว่าด้วยการบรรจบกัน 2-order ปัญหาได้รับการแก้ไขแล้ว หากคุณไม่เห็นสาเหตุนี่คือเหตุผล: ไม่มีประโยชน์อะไรที่จะได้รับจากการเพิ่มจำนวนหลักสามซ้ำในทุก ๆ รอบแทนที่จะเป็นสองเท่า - คุณจะซื้ออะไร doubleท้ายที่สุดในคอมพิวเตอร์แม้แต่หมายเลข -precision ก็มีความแม่นยำ 52 บิตซึ่งเป็นตัวเลขทศนิยม 16 หลัก บางทีมันอาจจะลดจำนวนขั้นตอนที่คุณต้องการจาก 16 เป็น 3 ... ซึ่งฟังดูยอดเยี่ยมจนกว่าคุณจะรู้ว่ามันมาในราคาที่ต้องคำนวณอนุพันธ์อันดับสามในแต่ละการวนซ้ำซึ่งเป็นที่ที่คำสาปของขนาดกระทบคุณอย่างหนัก สำหรับปัญหามิติคุณเพิ่งจ่ายเพียงปัจจัยเพื่อให้ได้ปัจจัยซึ่งเป็นใบ้ และในปัญหาโลกแห่งความจริงมีอย่างน้อยหลายร้อยมิติ (หรือแม้กระทั่งหลายพันหรือหลายล้าน) ไม่ใช่แค่ ! ดังนั้นคุณอาจได้รับปัจจัย 20 โดยจ่ายปัจจัยสมมติว่า 20,000 ... แทบจะเป็นการค้าที่ฉลาด6656

แต่อีกครั้ง: จำการสาปแช่งของมิติคือครึ่งเรื่อง

อีกครึ่งหนึ่งคือคุณมักจะมีพฤติกรรมแย่ลงเมื่อคุณอยู่ห่างไกลจากจุดที่เหมาะสมที่สุดซึ่งโดยทั่วไปแล้วจะส่งผลกระทบต่อจำนวนการทำซ้ำที่คุณต้องทำ

ข้อสรุป

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


คำตอบที่ดี แต่ฉันคิดว่าทฤษฎีบท Abel-Ruffini เป็นปลาเฮอริ่งแดง ก่อนอื่นเรากำลังพูดถึงปัญหาหลายตัวแปรดังนั้นการคำนวณค่าศูนย์ของชื่อพหุนามที่ไม่แปรเปลี่ยนจึงเป็นปัญหาย่อยที่น่าสนใจอย่าง จำกัด และที่สำคัญกว่านั้นไม่สำคัญว่าจะมีสูตรปิดสำหรับการแก้ปัญหาหรือไม่: ในทางปฏิบัติเท่าที่ฉันรู้ผู้คนไม่ได้ใช้สูตรปิดแม้แต่ในชื่อพหุนามองศา 4 มันยาวเกินไปและซับซ้อนและไม่เสถียร ค่าศูนย์ของพหุนามมีการคำนวณเชิงตัวเลขในทางปฏิบัติ (โดยใช้ QR บนเมทริกซ์ที่แสดงร่วม)
Federico Poloni

@FedericoPoloni: ใช่ความคิดแบบเดียวกันมาถึงใจของฉันเมื่อฉันตัดสินใจที่จะใส่มันฉันไม่ได้มีมันในตอนแรก ... ฉันคิดว่าบางทีฉันควรจะใส่มันไว้เป็นอีกตัวอย่างของทำไมองศาที่สูงขึ้นสามารถมีได้ ปัญหาที่ไม่คาดคิด แต่ฉันเดาว่าฉันจะนำมันออกมาอีกครั้งหากไม่ช่วยเหลือขอบคุณสำหรับความคิดเห็น
Mehrdad

@FedericoPoloni: PS ในขณะที่เราอยู่ในหัวข้อการคำนวณเชิงตัวเลขคุณอาจพบว่าฟังก์ชัน Sturm น่าสนใจ (ถ้าคุณยังไม่เคยได้ยินพวกเขามาก่อน)
Mehrdad

7

แม้แต่การคำนวณ Hessians ก็เป็นงานค่อนข้างเล็ก:

H=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2].

ทีนี้มาดูกันว่าอนุพันธ์อันดับที่สามมีลักษณะอย่างไร: นี่คือเมทริกซ์สามมิติ นี่คือลักษณะขององค์ประกอบดังนี้:

H/x=[Hx1Hx2Hxn]
(H/x)ijk=3fxixjxk

อนุพันธ์ของที่หกจะเป็นเมทริกซ์หกมิติ:

6fxixjxkxlxmxn

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

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


4

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

ตัวเลือกที่อัลกอริทึมที่จะใช้นั้นค่อนข้างง่าย: หากขั้นตอนหนึ่งของอัลกอริธึมลำดับที่สี่ใช้เวลาทำงานมากเป็นสองเท่าหรือมากกว่าหนึ่งขั้นตอนของอัลกอริธึมลำดับที่สองคุณควรใช้อันหลังแทน

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


2

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


3
ไม่ quadratics ไม่จำเป็นต้องนูนหรือเว้า (คิดว่า ) x2y2
เดิร์ค

@ เดิร์คเท่ากับอะไร? x2y2
Ovi

1
มันเป็นฟังก์ชั่นสมการกำลังสอง แต่ก็ไม่นูนหรือเว้า
เดิร์ค

@ เออใช่คุณพูดถูกฉันควรจะเพิ่มคำเตือนกึ่งบวกแน่นอน ฉันจะเพิ่มเข้าไปในคำตอบของฉัน
Lucas Roberts

1

ให้ฉันเป็นหนึ่งเดียวที่นี่ปกป้องวิธีการสั่งซื้ออันดับที่ 3 สำหรับการลู่เข้าของ SGD แต่แน่นอนไม่ได้อยู่ในพื้นที่ทั้งหมดสิ่งที่ต้องการค่าสัมประสิทธิ์ 3/6 แต่เช่นในทิศทางเดียวซึ่งต้องการค่าสัมประสิทธิ์เพิ่มเติมเพียงครั้งเดียว มีโมเดลลำดับที่ 2 ในทิศทางนี้แล้วdim3/6

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

ฉันเชื่อว่าเราจะไปสู่วิธีการสั่งซื้อหลายทางแบบไฮบริด: วิธีการสั่งซื้อลำดับที่ 2 ในพื้นที่ย่อยที่มีมิติต่ำเช่นจาก PCA ของการไล่ระดับสีเมื่อเร็ว ๆ นี้สิ่งที่ยังอนุญาตให้มีการไล่ระดับสี ฉันจะเพิ่มเช่นลำดับที่ 3 สำหรับทิศทางที่เกี่ยวข้องมากที่สุด

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