ฟังก์ชัน Gradient descent vs lm () ใน R?


14

ฉันกำลังดูวิดีโอในหลักสูตรการเรียนรู้ภาษาออนไลน์ของ Andrew Ng ที่ Stanford เขากล่าวถึง Gradient Descent เป็นอัลกอริทึมในการแก้ปัญหาการถดถอยเชิงเส้นและการเขียนฟังก์ชั่นในระดับแปดเสียงเพื่อดำเนินการ สมมุติว่าฉันสามารถเขียนฟังก์ชันเหล่านั้นใน R ใหม่ได้ แต่คำถามของฉันไม่ใช่ฟังก์ชัน lm () ให้ผลลัพธ์ของการถดถอยเชิงเส้นแล้ว ทำไมฉันต้องการเขียนฟังก์ชันการไล่ระดับสีของตัวเอง มีข้อได้เปรียบหรือว่าเป็นแบบฝึกหัดการเรียนรู้เท่านั้น? lm () ทำโคตรลาดชันหรือไม่?


ฉันคิดว่าคุณอาจต้องใช้การไล่ระดับสีด้วยตัวเองในภาษาอื่นในกรณีที่ไม่มีวิธีแก้ปัญหาที่ดีใน R (ตัวอย่างเช่นการถดถอยบางอย่างเช่นการถดถอยปกติกับข้อมูลขนาดใหญ่)
Manoel Galdino

คำตอบ:


20

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


@Martin lm () จะดีกว่านี้ไหมถ้าเรามีคุณสมบัติมากมาย?
2626445

0

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

ในคำพูดของ Leon Bottou:

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

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

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

การเรียนรู้ขนาดใหญ่

โครงการ sgd

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