GLMNET hoặc LARS để tính toán các giải pháp LASSO?


13

Tôi muốn nhận được các hệ số cho vấn đề LASSO

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

Vấn đề là chức năng glmnet và lars cho câu trả lời khác nhau. Đối với hàm glmnet, tôi yêu cầu các hệ số củathay vì chỉ , nhưng tôi vẫn nhận được câu trả lời khác nhau.λ/||Y||λ

Đây có phải là mong đợi? Mối quan hệ giữa lars và glmnet gì? Tôi hiểu rằng glmnet nhanh hơn cho các vấn đề LASSO nhưng tôi muốn biết phương pháp nào mạnh hơn?λλλ


deps_stats Tôi sợ rằng kích thước của tập dữ liệu của tôi lớn đến mức LARS không thể xử lý nó, trong khi mặt khác glmnet có thể xử lý tập dữ liệu lớn của tôi.

mpiktas Tôi muốn tìm giải pháp của (Y-Xb) ^ 2 + L \ sum | b_j | nhưng khi tôi hỏi từ hai thuật toán (lars & glmnet) về các hệ số tính toán của chúng cho L cụ thể đó, tôi nhận được các câu trả lời khác nhau ... và tôi tự hỏi liệu điều đó có đúng / mong đợi không? hoặc tôi chỉ đang sử dụng một lambda sai cho hai chức năng.


1
vui lòng cung cấp một ví dụ minh họa vấn đề của bạn. Ngoài ra, làm thế nào để bạn xác định sức mạnh của thuật toán?
mpiktas

1
Tôi đã sử dụng gói glmnet và lars trong một vài dự án. Theo kinh nghiệm hạn chế của tôi, tôi đã gặp RẤT NHIỀU vấn đề khi triển khai glmnet. Tôi nghĩ rằng glmnet cần một số sửa lỗi liên quan đến loại biến được sử dụng trong khung dữ liệu. Bên cạnh đó, glmnet có tài liệu khó hiểu. Tôi đã kết thúc bằng cách sử dụng lars, và tôi rất hài lòng với kết quả. Không bao giờ kích thước vấn đề của bạn, tôi nghĩ rằng lars có thể xử lý nó.
deps_stats

"Vấn đề là chức năng glmnet và lars cho câu trả lời khác nhau." Tôi có cùng một vấn đề. Có câu trả lời nào không?
cấp

Câu trả lời quyết định khác nhau cho các hệ số? Và chỉ từ việc đọc bài viết gốc, bạn thực sự không nên yêu cầu một giải pháp lambda duy nhất glmnetvà có thể không phải từ việc triển khai LARS. Họ cung cấp một loạt các giải pháp dọc theo phổ thiên vị so với phương sai. Điều này làm cho nó khó để so sánh các hệ số thực tế. Tuy nhiên, các biến tương tự có thể trở thành khác không theo thứ tự tương tự.
Shea Parkes

Câu trả lời:


14

Theo kinh nghiệm của tôi, LARS nhanh hơn cho các vấn đề nhỏ, các vấn đề rất thưa thớt hoặc các vấn đề rất 'rộng' (nhiều tính năng hơn nhiều so với các mẫu). Thật vậy, chi phí tính toán của nó bị giới hạn bởi số lượng tính năng được chọn, nếu bạn không tính toán đường dẫn chính quy đầy đủ. Mặt khác, đối với các vấn đề lớn, glmnet (tối ưu hóa tọa độ gốc) nhanh hơn. Trong số những thứ khác, tọa độ gốc có mẫu truy cập dữ liệu tốt (thân thiện với bộ nhớ) và nó có thể được hưởng lợi từ sự dư thừa dữ liệu trên các bộ dữ liệu rất lớn, vì nó hội tụ với một phần phù hợp. Đặc biệt, nó không bị các bộ dữ liệu tương quan nặng nề.

Kết luận mà chúng tôi (các nhà phát triển cốt lõi của scikit-learn ) cũng đã đưa ra là, nếu bạn không có kiến ​​thức chuyên sâu về dữ liệu của mình, bạn nên sử dụng glmnet (hoặc phối hợp tối ưu hóa gốc, để nói về thuật toán hơn là thực hiện).

Điểm chuẩn thú vị có thể được so sánh trong luận án của Julien Mairal:

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

Mục 1.4, cụ thể là 1.4.5 (trang 22)

Julien đi đến kết luận hơi khác nhau, mặc dù phân tích vấn đề của ông là tương tự nhau. Tôi nghi ngờ điều này là bởi vì anh ta rất quan tâm đến các vấn đề rất rộng.


Hầu hết các câu trả lời của bạn được thực hiện CW (tại đây, nhưng cũng trên metaoptizes.com/qa) ... Bất kỳ lý do nào?
chl

1
Bởi vì tôi nghĩ rằng thật tốt nếu mọi người có thể sửa lỗi chính tả, viết sai ... Tôi thích ý tưởng cải tiến câu trả lời liên tục. Đây có phải là chống lại thực hành tốt nhất?
Gael Varoquaux

2
Tôi đã sửa hai hoặc ba lỗi chính tả. Không có gì để làm với CW mỗi lần, trừ khi bạn nghĩ đến đại diện thấp hơn cần thiết để chỉnh sửa bài đăng của mình! Người dùng có thể đề xuất bất kỳ chỉnh sửa nào, mặc dù; nhưng thực hiện phản hồi của bạn CW sẽ không cho phép bạn kiếm được đại diện từ họ. Tôi đoán bạn không theo đuổi đại diện, nhưng vì câu trả lời của bạn luôn được đặt rất tốt, tôi chỉ đang tự hỏi ... Chúc mừng.
chl

1

LASSO không phải là duy nhất trong trường hợp nhiều tính năng có cộng tuyến hoàn hảo. Đây là một thí nghiệm suy nghĩ đơn giản để chứng minh điều đó.

yx1x2yx1x2yx1x2β1=1Pβ2=0Pβ1=0β21P


2
@dsmcha, xin lỗi khi nói điều này, nhưng tôi không nghĩ rằng tôi thích ví dụ đó quá nhiều. Phản ứng giống hệt hai trong số các yếu tố dự đoán? Đó là ngoài bệnh lý, theo quan điểm của tôi.
Đức hồng y

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.