เทคนิคการเรียนรู้ของเครื่อง“ อัลกอริธึมการประมาณค่า” หรือไม่?


23

เมื่อเร็ว ๆ นี้มีคำถามที่คล้าย ML มากกว่าใน cstheory stackexchange และฉันโพสต์คำตอบแนะนำวิธีการของ Powell, การไล่ระดับสี, ขั้นตอนวิธีพันธุกรรมหรืออื่น ๆ"ขั้นตอนวิธีการประมาณ" ในความคิดเห็นมีคนบอกฉันว่าวิธีการเหล่านี้คือ "การวิเคราะห์พฤติกรรม" และไม่ใช่ "อัลกอริทึมการประมาณ" และบ่อยครั้งไม่ได้เข้าใกล้ทฤษฎีที่เหมาะสมที่สุด (เพราะพวกเขา "มักติดอยู่ในท้องถิ่นน้อยที่สุด")

คนอื่นเห็นด้วยไหม นอกจากนี้ดูเหมือนว่าสำหรับฉันแล้วมีความรู้สึกว่าอัลกอริธึมฮิวริสติกสามารถรับประกันได้ว่าจะใกล้เคียงกับทฤษฎีที่เหมาะสมที่สุดหากตั้งค่าให้สำรวจพื้นที่ส่วนใหญ่ในการค้นหา (เช่นการตั้งค่าพารามิเตอร์ / ขนาดขั้นตอนเล็ก) จะเห็นว่าในกระดาษ ไม่มีใครรู้ว่าสิ่งนี้ได้รับการแสดงหรือพิสูจน์ในกระดาษ (ถ้าไม่ใช่สำหรับอัลกอริธึมขนาดใหญ่อาจเป็นคลาสเล็ก ๆ ที่พูดว่า NNs เป็นต้น)


ในความคิดเพิ่มเติมเกี่ยวกับคำถามนี้ดูเหมือนว่าพื้นที่ที่เกี่ยวข้อง / เกี่ยวข้องของการวิจัยเรียกว่าวิธีการเพิ่มประสิทธิภาพทั่วโลก / ตัวแปรที่ด้านบนของอัลกอริทึมประเภทท้องถิ่นเช่นเชื้อสายลาด ...
vzn

คำตอบ:


29

ฉันคิดว่าคุณกำลังผสมผสานแนวคิดที่สำคัญหลายอย่าง ให้ฉันพยายามอธิบายบางสิ่ง:

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

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

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

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


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

2
ฉันไม่เห็นด้วย. * สำหรับการเพิ่มประสิทธิภาพเชิงตัวเลขคุณสามารถเข้าสู่ระดับต่ำสุดในท้องถิ่น (แน่นอนคุณสามารถใช้ขั้นตอนที่ทำให้ไม่สามารถแก้ไขได้) * เช่นเดียวกันสำหรับ Neural Networks (อย่างน้อยก็สามารถเกิดขึ้นได้ในระหว่างการฝึกอบรม perceptron) * อัลกอริธึมทางพันธุกรรมสามารถเข้าสู่ระดับต่ำสุดในพื้นที่นอกจากนี้หากคุณเลือกอัตราการกลายพันธุ์ที่ยิ่งใหญ่คุณจะไม่ได้รับการวิวัฒนาการที่สมเหตุสมผล! II ยังสงสัยอย่างยิ่งว่ามีชุดข้อมูลที่มักจะทำให้บางรุ่นมีข้อผิดพลาดใหญ่โดยพลการ
jb

2
@vzn หลายคนเลือกรุ่นที่สามารถหาทางออกที่ดีที่สุด นี่เป็นเพราะการใช้ฟังก์ชั่นการสูญเสียนูนเป็น SVMs ทำ การค้นหาสิ่งที่ดีที่สุดที่แท้จริงหมายถึง "การค้นหาโซลูชันที่ดีที่สุดในพื้นที่การค้นหาของคุณ" ดังนั้นจึงไม่มีอะไรเกี่ยวข้องกับลักษณะการค้นหาของพื้นที่ ดังที่ jb กล่าวว่าสำหรับฟังก์ชั่นการสูญเสียทั่วไปการค้นหาความเหมาะสมที่แท้จริงมักเป็นไปไม่ได้ / เป็นไปไม่ได้
Andreas Mueller

ยอมรับคำตอบนี้เป็นคำอธิบายสถานะปัจจุบันของกิจการและหมวดหมู่ทั่วไปของแอปพลิเคชัน แต่ยังคิดว่ามีบางส่วนของสะพานที่มีอยู่ & ยังคงได้รับการพิสูจน์แล้วว่าเชื่อมโยงพื้นที่แยกต่างหาก หลักฐานที่ NNs สามารถสร้างแบบจำลองหรือ"ประมาณ"ใด ๆ fn ทางคณิตศาสตร์อย่างต่อเนื่องถึงระดับความแม่นยำโดยพลการมีความสัมพันธ์อย่างใกล้ชิด ... นั่นคือkolmogorovs thm
vzn

3

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

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

สำหรับบางรุ่นเช่นการถดถอยโลจิสติกมีหนึ่งขั้นต่ำในท้องถิ่นฟังก์ชั่นนูน, การย่อเล็กสุดมาบรรจบกับขั้นต่ำ แต่รูปแบบตัวเองง่าย

นั่นคือความจริงที่ขมขื่น

โปรดทราบว่าการพิสูจน์การบรรจบกันและการพิสูจน์การลู่เข้าสู่ทางออกที่ดีที่สุดนั้นเป็นสองสิ่งที่แตกต่างกัน K-mean algorithm เป็นตัวอย่างของสิ่งนี้

ในที่สุดสำหรับบางรุ่นเราไม่ทราบวิธีการเรียนรู้เลย ตัวอย่างเช่นหากผลลัพธ์เป็นฟังก์ชั่นที่คำนวณได้โดยพลการของอินพุตเราไม่ทราบอัลกอริทึมที่ดีซึ่งในเวลาที่เหมาะสมให้ค้นหาเครื่องทัวริงหรือเทียบเท่าที่ใช้ฟังก์ชันนี้ ตัวอย่างเช่นถ้า f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ... , f (10) = 29 (สิบช่วงแรก) เราไม่ ไม่รู้อัลกอริทึมการเรียนรู้ใด ๆ ซึ่งจะสามารถทำนายได้ในเวลาที่เหมาะสมว่า f (11) = 31 เว้นแต่ว่ามันจะรู้แนวคิดของจำนวนเฉพาะแล้ว

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