การแก้หาพารามิเตอร์การถดถอยในรูปแบบปิดเทียบกับการไล่ระดับสี


71

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

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

อะไรคือข้อดีของการใช้อัลกอริทึมแบบวนซ้ำเช่นการไล่ระดับสีแบบลาดชันเหนือโซลูชันแบบปิดโดยทั่วไปเมื่อมีให้ใช้งาน?


9
ฉันไม่คิดว่าจะมีวิธีแก้ปัญหาแบบปิดสำหรับ MLE ของพารามิเตอร์การถดถอยใน glms ส่วนใหญ่ (เช่นการถดถอยโลจิสติก) การถดถอยเชิงเส้นที่มีข้อผิดพลาดปกติคือข้อยกเว้นหนึ่งข้อ
มาโคร

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

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

2
โดยส่วนตัวแล้วฉันไม่ชอบหลักสูตรของ Andrew Ng เพราะมันทำให้ผู้คนเชื่อว่า Linear Regression คือ "การเรียนรู้ของเครื่อง"
Digio

คำตอบ:


85

หากวิธีการแก้ปัญหาแบบปิดมีราคาแพงมากในการคำนวณโดยทั่วไปเป็นวิธีที่จะไปเมื่อมี อย่างไรก็ตาม

  1. สำหรับปัญหาการถดถอยแบบไม่เชิงเส้นส่วนใหญ่จะไม่มีวิธีแก้ปัญหาแบบปิด

  2. แม้ในการถดถอยเชิงเส้น (หนึ่งในไม่กี่กรณีที่มีโซลูชันแบบปิดมีให้บริการ) อาจไม่สามารถใช้สูตรได้ ตัวอย่างต่อไปนี้แสดงวิธีหนึ่งที่สิ่งนี้สามารถเกิดขึ้นได้

y=XβX

β^=argminXβy2

ได้รับจาก

β^=(XTX)1XTy

ทีนี้ลองจินตนาการว่าเป็นเมทริกซ์ขนาดใหญ่ แต่กระจัดกระจาย เช่นอาจมี 100,000 คอลัมน์และ 1,000,000 แถว แต่เพียง 0.001% ของรายการในเป็นศูนย์ มีโครงสร้างข้อมูลพิเศษสำหรับเก็บเฉพาะรายการที่ไม่ใช่ศูนย์ของเมทริกซ์กระจัดกระจาย XXX

นอกจากนี้ลองจินตนาการว่าเราโชคไม่ดีและเป็นเมทริกซ์ที่มีความหนาแน่นค่อนข้างสูงและมีจำนวนที่ไม่เป็นศูนย์สูงกว่ามาก การจัดเก็บองค์ประกอบหนาแน่น 100,000 คูณ 100,000 องค์ประกอบเมทริกซ์จะต้องใช้ตัวเลขจุดลอยตัว (ที่ 8 ไบต์ต่อหมายเลขนี้มาถึง 80 กิกะไบต์) สิ่งนี้จะไม่สามารถจัดเก็บได้ในทุกสิ่ง แต่เป็นซุปเปอร์คอมพิวเตอร์ นอกจากนี้การผกผันของเมทริกซ์นี้ (หรือมากกว่าปกติคือปัจจัย Cholesky) ก็มีแนวโน้มที่จะมีรายการส่วนใหญ่ที่ไม่ใช่ศูนย์ XTXXTX1×1010

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

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

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


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

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

2
@Brian ความรู้สึกของฉันคือความคิดเห็นของคุณเข้ามาใกล้กับหัวใจของปัญหาและค่อนข้างขัดแย้งกับประโยคแรกในคำตอบ ฉันไม่คิดว่าใด ๆอย่างน้อยสี่เหลี่ยมซอฟแวร์ (ในใจขวา) พนักงานการแก้ปัญหาการปิดแบบฟอร์ม :)
พระคาร์ดินัล

4
ในทางปฏิบัติควรใช้ QR factorization หรือ SVD เพื่อแก้ปัญหากำลังสองน้อยที่สุด ฉันขอยืนยันว่าวิธีการแก้ปัญหาโดยใช้หนึ่งในข้อเท็จจริงแบบมุมฉากเหล่านี้ยังเป็น "วิธีแก้ปัญหาแบบปิด" เมื่อเปรียบเทียบกับการใช้เทคนิควนซ้ำเช่น LSQR ฉันไม่ได้เจาะลึกเรื่องนี้ในคำตอบของฉันเพราะไม่จำเป็นต้องดึงความสนใจออกจากประเด็นหลักของฉัน
Brian Borchers

2
ป่วยปรับอากาศ? วิธีแก้ปัญหาแบบฟอร์มตำราปิด? ฉันชอบกลิ่นของตัวเลขสภาพกำลังสองในตอนเช้า มีเลขเงื่อนไขใหญ่ไหม ทำไมไม่ทำเป็นสี่เหลี่ยมจัตุรัสและทำให้ใหญ่ขึ้น? มีหมายเลขเงื่อนไขไม่มากนักใช่ไหม ทำไมไม่ทำเป็นสี่เหลี่ยมจัตุรัสและทำให้มันใหญ่
Mark L. Stone

2

มีการโพสต์หลายรายการเกี่ยวกับการเรียนรู้ของเครื่อง (ML) และการถดถอย ML ไม่จำเป็นสำหรับการแก้ปัญหากำลังสองน้อยที่สุดธรรมดา (OLS) เนื่องจากมันเกี่ยวข้องกับการดำเนินการแบบหนึ่งขั้นตอนในการแก้ระบบสมการเชิงเส้น - นั่นคือ{y} ความจริงที่ว่าทุกอย่างเป็นแบบเส้นตรงหมายความว่าจำเป็นต้องใช้การดำเนินการขั้นตอนเดียวเท่านั้นในการแก้ปัญหาสำหรับค่าสัมประสิทธิ์ การถดถอยโลจิสติกขึ้นอยู่กับการเพิ่มฟังก์ชั่นความน่าจะเป็นซึ่งสามารถแก้ไขได้โดยใช้ Newton-Raphson หรือวิธีการไล่ระดับสีอื่น ๆ ของ ML gradient, metaheuristic (การปีนเขา, อัลกอริธึมฝูง . β=(XTX)1XTyL=ipi

เกี่ยวกับ parsimony การใช้ ML สำหรับ OLS จะสิ้นเปลืองเพราะการเรียนรู้ซ้ำ ๆ นั้นไม่มีประสิทธิภาพในการแก้ OLS

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

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

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