LARS เทียบกับโคตรของโคตร


13

ข้อดีและข้อเสียของการใช้ LARS [1] เมื่อเทียบกับการใช้โคตรของพิกัดสำหรับการถดถอยเชิงเส้นแบบ L1 ที่เหมาะสมคืออะไร

ฉันสนใจในเรื่องของประสิทธิภาพเป็นหลัก (ปัญหาของฉันมักจะNอยู่ในหลักแสนและp<20) อย่างไรก็ตามข้อมูลเชิงลึกอื่น ๆ ก็จะได้รับการชื่นชมเช่นกัน

แก้ไข: เนื่องจากฉันได้โพสต์คำถาม, chl ได้ชี้ให้เห็นกระดาษ [2] โดย Friedman และคณะที่พิกัดโคตรถูกแสดงว่าเร็วกว่าวิธีอื่นมาก หากเป็นกรณีนี้ฉันควรเป็นผู้ประกอบการเพียงแค่ลืมเกี่ยวกับ LARS ในความโปรดปรานของการสืบเชื้อสายมาประสานงาน?

[1] Efron, Bradley; Hastie เทรเวอร์; Johnstone, Iain และ Tibshirani, Robert (2004) "การถดถอยมุมน้อยที่สุด" พงศาวดารของสถิติ 32 (2): pp 407–499
[2] Jerome H. Friedman, Trevor Hastie, Rob Tibshirani, "เส้นทางการทำให้เป็นมาตรฐานสำหรับตัวแบบเชิงเส้นทั่วไปผ่านพิกัดโคตร", วารสารซอฟท์แวร์สถิติ, อัตรา 33, ฉบับที่ 1, ก.พ. 2010

คำตอบ:


13

ใน Scikit เรียนรู้การใช้Lasso พร้อมพิกัดโคตรมีแนวโน้มที่จะเร็วกว่าการใช้ LARS ของเราแม้ว่า p เล็ก ๆ (เช่นในกรณีของคุณ) พวกมันเทียบเท่ากัน (LARS อาจเร็วขึ้นเล็กน้อยด้วยการปรับปรุงล่าสุดที่มีอยู่ใน มาสเตอร์ repo) นอกจากนี้โคตรประสานงานช่วยให้การใช้งานที่มีประสิทธิภาพของปัญหาที่ยืดหยุ่นสุทธิ normalized นี่ไม่ใช่กรณีของ LARS (ที่แก้ได้เฉพาะ Lasso หรือรู้จัก L1 ปัญหาที่ถูกลงโทษ)

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

สำหรับขนาดใหญ่ N (และขนาดใหญ่ p, หร็อมแหร็มหรือไม่) คุณอาจให้การไล่ระดับสีแบบสุ่ม (ด้วย L1 หรือการลงโทษสุทธิที่ยืดหยุ่น) ลอง (ยังนำไปใช้ในการเรียนรู้ scikit)

แก้ไข : ต่อไปนี้เป็นมาตรฐานเปรียบเทียบ LassoLARS และการใช้โคตรของพิกัดในการเรียนรู้ Scikit


(+1) @ogrisel ขอบคุณมาก! เนื่องจากฉันอาจต้องลงรหัสนี้ด้วยตัวเอง (ต้องการใน Java และยังไม่เคยเห็นการใช้งาน Java แบบโอเพ่นซอร์ส) ซึ่งอัลกอริทึมที่คุณจะพูดนั้นง่ายกว่าสำหรับการใช้งานหรือไม่
NPE

1
ทั้งโคตรประสานงานและ SGD ใช้งานง่าย (ตรวจสอบเว็บเพจของ Leon Bottou เพื่อดูคำแนะนำเบื้องต้นเกี่ยวกับ SGD) LARS อาจจะยากกว่า
ogrisel

สุดยอดขอบคุณ! ฉันจะตรวจสอบเว็บไซต์ของLéon Bottou
NPE

@ogrisel (+1) ดีใจที่ได้พบคุณที่นั่น
chl

2
@aix ฉันได้แก้ไขคำตอบของฉันเพื่อเพิ่มมาตรฐานในการใช้งานใน scikit เรียนรู้ และตรวจสอบเวอร์ชัน Java ของ liblinearก่อนที่จะนำโคตรประสานงานของคุณมาใช้เพราะมันอาจจะดีพอสำหรับคุณ (แม้ว่าคุณจะไม่สามารถมีทั้ง L1 และ L2 reg ในเวลาเดียวกัน)
ogrisel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.