การเบี่ยงเบนสัมบูรณ์น้อยที่สุดที่แก้ได้โดยใช้อัลกอริทึม Barrodale-Roberts: การเลิกก่อนกำหนด?


9

โปรดแก้ตัวคำถามแบบยาวมันแค่ต้องการคำอธิบายเพื่อแก้ไขปัญหาที่เกิดขึ้นจริง ผู้ที่คุ้นเคยกับอัลกอริธึมที่กล่าวถึงอาจข้ามไปที่ simplex tablau แรกได้โดยตรง


เพื่อแก้ปัญหาค่าเบี่ยงเบนสัมบูรณ์อย่างน้อยที่สุด (akaเพิ่มประสิทธิภาพ) อัลกอริธึม Barrodale-Roberts เป็นวิธีการพิเศษแบบซิมเพลกซ์ที่ต้องการการจัดเก็บน้อยลงและความพยายามในการคำนวณเพื่อค้นหาขั้นต่ำที่เหมาะสมL1

การใช้อัลกอริทึมของฉันสิ้นสุดลงด้วยตัวอย่างง่ายๆก่อนที่จะถึงค่าต่ำสุดที่เหมาะสม อย่างไรก็ตามอาจให้ฉันระบุปัญหาในลักษณะที่ละเอียดยิ่งขึ้นก่อน:

ข้อมูลที่ได้รับ ,เพิ่มประสิทธิภาพพยายามหาที่ลดขนาด ที่เป็นเมทริกซ์ที่ขึ้นอยู่ในลักษณะบางอย่างเกี่ยวกับxปัญหานี้สามารถระบุได้ว่าเป็นโปรแกรมเชิงเส้นดังนั้นในหมู่คนอื่น ๆ จะได้รับการแก้ไขโดยใช้วิธีง่าย ๆ(xi,yi)L1cm

i=1n|yif(xi)|withf(x):=Axϕ
Axn×mx

Barrodale และ Roberts แนะนำการดัดแปลง (ใช้กันอย่างแพร่หลาย) ของวิธี simplex ที่ลดความซับซ้อนของวิธี simplex โดยใช้โครงสร้างพิเศษของ -problems สิ่งที่สะดุดตาที่สุดนี่คือทางออกที่ดีที่สุดจะสอดแทรกอย่างน้อยของดาต้าพอยน์ที่กำหนด ผู้ที่มีการเข้าถึง JSTOR อาจพบบทความที่สอดคล้องกันที่นี่L1rank(A)

Lei และแอนเดอร์สันในปี 2545 เสนอการปรับเปลี่ยนเล็กน้อยที่ควรจะเพิ่มความเสถียรเชิงตัวเลขและดังนั้นจึงสามารถเอาชนะปัญหาที่ทราบได้ด้วยอัลกอริทึมแบบซิมเพล็กซ์

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

Barrodale และ Roberts เป็นตัวอย่างเล็ก ๆ ที่ฉันพยายามทำซ้ำ มันพยายามที่จะใกล้เคียงกับจุดโดยฟังก์ชั่นa_1เสร็จสิ้นอัลกอริทึมของพวกเขาด้วย tablex simplex ดังต่อไปนี้:{(1,1),(2,1),(3,2),(4,3),(5,2)}a1+a2x

รากฐานRยู1ยู311/23/2-1/2โวลต์21/21/21/221/2-1/21/2ยู41/21/2-3/2โวลต์51-12ต้นทุนส่วนเพิ่ม2-10

สิ่งสำคัญที่สุดคือจุดแรกและที่สามจะถูกหยันและข้อผิดพลาดโดยรวมมีค่าเท่ากับ 2พวกเขาสรุปว่า2

เนื่องจากเวกเตอร์ nonbasic ทั้งหมดมีต้นทุนส่วนเพิ่ม nonpositive [... ]

การวนซ้ำเสร็จสิ้นและถึงระดับสูงสุด

ถ้าฉันใช้อัลกอริธึมของ Lei และ Anderson ฉันสามารถสร้างฉากง่าย ๆ สำหรับชุดการแก้ไข {1,3} ตามที่คาดไว้ อย่างไรก็ตามถ้าฉันเริ่มอัลกอริทึมด้วย set (ซึ่งเห็นได้ชัดว่าไม่เหมาะสม) ฉันจะได้รับ simplex tableau ดังนี้{2,5}

รากฐานRยู2ยู5ยู11/3-4/31/311/35/3-2/3ยู32/3-2/3-1/3ยู44/3-1/3-2/321/3-1/31/3ต้นทุนส่วนเพิ่ม7/3-10/3-5/3

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

ข้อมูลเพิ่มเติม: ถ้าฉันเริ่มต้นด้วยฉากเริ่มต้นที่กำหนดโดย Barrodale และ Roberts ฉันก็สามารถจำลองฉากเหนือด้านบนด้วยขั้นตอนธรรมดาธรรมดาได้ดังนั้นฉันมั่นใจว่าค่าตัวเลขจริงนั้นถูกต้องและการตีความกฎการเลือกเดือย เป็นความผิดพลาด

ความคิดใด ๆ เกี่ยวกับเรื่องนี้?

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


หากใครที่มีชื่อเสียงเพียงพอสามารถสร้างแท็กตามแนวของ "Least-absolute-deviations" หรือ "L1-approximation" ฉันจะขอบคุณ
Thilo

เงื่อนไขการมองโลกในแง่ดีคือการแก้ปัญหาขั้นพื้นฐานจะต้องมีความเป็นไปได้ (ด้วยความเคารพต่อข้อ จำกัด ด้านการไม่ลบล้าง) และ การลดค่าใช้จ่ายจะต้องน้อยกว่าหรือเท่ากับ 0 ถ้าทางออกพื้นฐานของคุณเป็นไปไม่ได้
Brian Borchers

การแก้ปัญหาพื้นฐานทำได้โดยการก่อสร้าง ดังนั้นจึงไม่มีปัญหา อย่างไรก็ตามฉันมีความคิดแรกเกี่ยวกับปัญหาที่อาจเกิดขึ้น ฉันจะเพิ่มคำตอบที่ตรงกันหากฉันถูก
Thilo

คำตอบ:


4

แก้ไขมัน ที่จริงแล้วบาร์โรเดลและโรเบิร์ตส์แก้ไขมันและฉันก็ไม่ได้อ่านอย่างละเอียด

ในคำถามของฉันฉันปล่อยให้ผู้อ่านเข้าใจว่าตัวแปร Barrodale และ Roberts ติดป้ายไว้ ยูผม ยืนหยัดต่อสิ่งตกค้างในเชิงบวก ผม- datapoint ที่เกี่ยวข้องกับการพอดีในปัจจุบัน ถ้าสิ่งตกค้างเป็นลบยูผม=0 และ โวลต์ผมใช้ค่าที่สอดคล้องกัน เนื่องจากมีเพียงหนึ่งในพวกเขาเท่านั้นที่อาจอยู่ในพื้นฐานและค่าสัมประสิทธิ์ใน simplex tableau เป็นเพียงค่าลบของกันและกันจึงไม่จำเป็นต้องระบุไว้อย่างชัดเจนใน simplex tableau Barrodale และ Roberts พูดถึงในบทความของพวกเขา:

[... ] และผลรวมของต้นทุนส่วนเพิ่ม (หรือลดลง) ของ J และ J เป็นศูนย์และจาก ยูผม และ โวลต์ผม คือ -2

ดังนั้น, tableau เริมของฉันข้างต้นจะต้องมีความคิดที่จะมีลักษณะดังนี้:

รากฐานRยู2ยู5โวลต์2โวลต์5ยู11/3-4/31/34/3-1/311/35/3-2/3-5/32/3ยู32/3-2/3-1/32/31/3ยู44/3-1/3-2/31/32/321/3-1/31/3-1/3-1/3ต้นทุนส่วนเพิ่ม7/3-10/3-5/34/3-1/3

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

ขอขอบคุณที่อ่านและให้ที่ฉันเขียนปัญหาของฉันซึ่งมักจะช่วยให้การแก้ปัญหาแคบลงอย่างมาก หวังว่าคำตอบนี้อาจมีประโยชน์สำหรับบางคนที่พยายามใช้ Barrodale & Roberts

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