GLMNET หรือ LARS สำหรับการคำนวณโซลูชัน LASSO?


13

ฉันต้องการรับค่าสัมประสิทธิ์สำหรับปัญหา LASSO

||YXβ||+λ||β||1.

ปัญหาคือฟังก์ชั่น glmnet และ lars ให้คำตอบที่ต่างกัน สำหรับฟังก์ชั่น glmnet ฉันขอสัมประสิทธิ์ของλ/||Y||แทนที่จะเป็นλแต่ฉันยังได้คำตอบที่ต่างออกไป

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


deps_stats ฉันกลัวว่าขนาดของชุดข้อมูลของฉันมีขนาดใหญ่มากจน LARS ไม่สามารถจัดการได้ในขณะที่ glmnet สามารถจัดการกับชุดข้อมูลขนาดใหญ่ของฉันได้

mpiktas ฉันต้องการหาคำตอบของ (Y-Xb) ^ 2 + L \ sum | b_j | แต่เมื่อฉันถามจากสองอัลกอริทึม (lars & glmnet) สำหรับค่าสัมประสิทธิ์การคำนวณสำหรับ L นั้นฉันได้รับคำตอบที่แตกต่างกัน ... และฉันสงสัยว่าถูกต้องหรือคาดหวัง? หรือฉันแค่ใช้แลมบ์ดาผิดทั้งสองฟังก์ชั่น


1
โปรดให้ตัวอย่างที่แสดงถึงปัญหาของคุณ นอกจากนี้คุณจะกำหนดพลังของอัลกอริทึมได้อย่างไร
mpiktas

1
ฉันใช้แพ็คเกจ glmnet และ lars ในสองโครงการ จากประสบการณ์ที่ จำกัด ของฉันฉันมีปัญหามากมายในการใช้งาน glmnet ฉันคิดว่า glmnet ต้องการการแก้ไขข้อผิดพลาดบางอย่างเกี่ยวกับประเภทของตัวแปรที่ใช้ใน data frame นอกจากนี้ glmnet ยังมีเอกสารสับสน ฉันลงเอยด้วยการใช้ลาร์สและฉันก็พอใจกับผลลัพธ์มาก ไม่ต้องคำนึงถึงขนาดปัญหาของคุณฉันคิดว่าลาร์สสามารถจัดการกับปัญหาได้
deps_stats

"ปัญหาคือฟังก์ชั่น glmnet และ lars ให้คำตอบที่ต่างกัน" ผมมีปัญหาเดียวกัน. คำตอบใด ๆ
ให้สิทธิ์

คำตอบที่แตกต่างกันอย่างมากสำหรับสัมประสิทธิ์? และจากการอ่านโพสต์ต้นฉบับคุณไม่ควรขอแลมบ์ดาโซลูชั่นเดียวglmnetและน่าจะไม่ได้มาจากการใช้ LARS เช่นกัน พวกเขาให้บริการครบวงจรตามสเปกตรัมของอคติและความแปรปรวน ซึ่งทำให้ยากที่จะเปรียบเทียบค่าสัมประสิทธิ์ที่แท้จริง แต่ถึงกระนั้นตัวแปรเดียวกันอาจจะไม่เป็นศูนย์ในลำดับที่คล้ายกัน
Shea Parkes

คำตอบ:


14

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

ข้อสรุปว่าเรา (ผู้พัฒนาหลักของscikit-Learn ) ก็มาด้วยเช่นกันถ้าคุณไม่มีความรู้เบื้องต้นเกี่ยวกับข้อมูลของคุณคุณควรใช้ glmnet (หรือประสานการเพิ่มประสิทธิภาพของโคตร) เพื่อพูดคุยเกี่ยวกับอัลกอริธึม กว่าการนำไปใช้)

เปรียบเทียบมาตรฐานที่น่าสนใจในวิทยานิพนธ์ของ Julien Mairal:

http://www.di.ens.fr/~mairal/resources/pdf/phd_thesis.pdf

ส่วนที่ 1.4 โดยเฉพาะอย่างยิ่ง 1.4.5 (หน้า 22)

Julien มาถึงข้อสรุปที่แตกต่างกันเล็กน้อยแม้ว่าการวิเคราะห์ปัญหาของเขาจะคล้ายกัน ฉันสงสัยว่านี่เป็นเพราะเขาสนใจในปัญหาที่กว้างมาก


การตอบกลับของคุณส่วนใหญ่ทำด้วย CW (ที่นี่ แต่บน metaoptimize.com/qa) ... ด้วยเหตุผลใด ๆ
chl

1
เพราะฉันคิดว่ามันจะดีถ้าผู้คนสามารถแก้ไขความผิดพลาดคำพูดที่ไม่ถูกต้อง ... ฉันชอบความคิดในการปรับปรุงคำตอบอย่างต่อเนื่อง สิ่งนี้ขัดกับแนวปฏิบัติที่ดีที่สุดหรือไม่?
Gael Varoquaux

2
ฉันแก้ไขข้อผิดพลาดสองหรือสามครั้งในการผ่าน ไม่เกี่ยวข้องกับ CW ต่อ se จนกว่าคุณจะนึกถึงตัวแทนที่ต่ำกว่าในการแก้ไขโพสต์ของคุณ! ผู้ใช้สามารถแนะนำการแก้ไขใด ๆ ได้ แต่การตอบสนองของคุณ CW จะไม่อนุญาตให้คุณรับตัวแทนจากพวกเขา ฉันเดาว่าคุณไม่ได้เป็นตัวแทน แต่เมื่อคำตอบของคุณดีขึ้นมาเสมอฉันแค่สงสัย ... ไชโย
chl

1

LASSO ไม่เหมือนใครในกรณีที่คุณสมบัติหลายอย่างมีความสมบูรณ์แบบที่สมบูรณ์ นี่คือการทดลองทางความคิดง่ายๆเพื่อพิสูจน์มัน

สมมติว่าคุณมีสามเวกเตอร์สุ่ม , , x_2คุณกำลังพยายามที่จะคาดการณ์จาก , x_2ตอนนี้ถือว่า = = x2โซลูชัน LASSO ที่ดีที่สุดคือ ,โดยที่คือผลของการลงโทษ LASSO แต่ยังดีที่สุดจะเป็น ,Px 1 x 2 y x 1 x 2 y x 1 x 2 β 1 = 1 - P β 2 = 0 P β 1 = 0 β 2 - 1 - Pyx1x2yx1x2yx1x2β1=1Pβ2=0Pβ1=0β21P


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

1

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

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