Khi nào tôi nên sử dụng lasso vs sườn núi?


167

Nói rằng tôi muốn ước tính một số lượng lớn các tham số và tôi muốn xử phạt một số trong số chúng vì tôi tin rằng chúng sẽ có ít hiệu quả so với các tham số khác. Làm thế nào để tôi quyết định sử dụng chương trình xử phạt nào? Khi nào hồi quy sườn núi thích hợp hơn? Khi nào tôi nên sử dụng Lasso?


"Nói rằng tôi muốn ước tính một số lượng lớn các tham số" điều này có thể được thực hiện chính xác hơn: Khung là gì? Tôi đoán đó là hồi quy tuyến tính?
cướp girard

2
Một câu hỏi tương tự vừa được hỏi về metaoptimize (hãy nhớ rằng l1 = Lasso và l2 = sườn núi): metaoptimize.com/qa/questions/5205/...
Gael Varoquaux

Bạn nói "lasso vs sườn núi" như thể chúng là hai lựa chọn duy nhất - còn về pareto đôi, móng ngựa, bma, cây cầu, trong số những thứ khác thì sao?
xác suất

Câu trả lời:


106

Hãy nhớ rằng hồi quy sườn không thể lấy ra các hệ số; do đó, bạn sẽ kết thúc bao gồm tất cả các hệ số trong mô hình hoặc không có hệ số nào trong số chúng. Ngược lại, LASSO tự động thu hẹp cả tham số và lựa chọn biến. Nếu một số đồng biến của bạn có mối tương quan cao, bạn có thể muốn xem xét Mạng đàn hồi [3] thay vì LASSO.

Cá nhân tôi khuyên bạn nên sử dụng Garotte không âm (NNG) [1] vì nó phù hợp về mặt ước tính và lựa chọn biến [2]. Không giống như LASSO và hồi quy sườn, NNG yêu cầu ước tính ban đầu sau đó được thu nhỏ về nguồn gốc. Trong bài báo gốc, Breiman đề xuất giải pháp bình phương nhỏ nhất cho ước tính ban đầu (tuy nhiên bạn có thể muốn bắt đầu tìm kiếm từ giải pháp hồi quy sườn và sử dụng một cái gì đó như GCV để chọn tham số hình phạt).

Về phần mềm có sẵn, tôi đã triển khai NNG gốc trong MATLAB (dựa trên mã FORTRAN gốc của Breiman). Bạn có thể tải xuống từ:

http://www.emakalic.org/blog/wp-content/uploads/2010/04/nngarotte.zip

BTW, nếu bạn thích giải pháp Bayes, hãy xem [4,5].

Người giới thiệu:

[1] Breiman, L. Hồi quy tập hợp con tốt hơn bằng cách sử dụng công nghệ Garrote không âm, 1995, 37, 373-384

[2] Yuan, M. & Lin, Y. Trên tạp chí ước tính garrotte không âm của Tạp chí Hiệp hội Thống kê Hoàng gia (sê-ri B), 2007, 69, 143-161

[3] Zou, H. & Hastie, T. Chính quy hóa và lựa chọn biến qua Tạp chí mạng đàn hồi của Hiệp hội Thống kê Hoàng gia (Sê-ri B), 2005, 67, 301-320

[4] Park, T. & Casella, G. Tạp chí Bayesian Lasso của Hiệp hội Thống kê Hoa Kỳ, 2008, 103, 681-686

[5] Kyung, M.; Hân, J.; Ghosh, M. & Casella, G. Hồi quy hình phạt, Lỗi tiêu chuẩn và Phân tích Bayesian Lassos Bayesian, 2010, 5, 369-412


2
Bạn có thể cụ thể hơn về sườn núi vs Lasso? Là lựa chọn biến tự động là lý do duy nhất để thích Lasso?
Chogg

42

Sườn hay lasso là các dạng hồi quy tuyến tính chính quy. Việc chính quy hóa cũng có thể được hiểu như trước trong một phương pháp ước lượng sau tối đa. Theo cách giải thích này, sườn núi và Lasso đưa ra các giả định khác nhau về lớp chuyển đổi tuyến tính mà họ suy ra để liên quan đến dữ liệu đầu vào và đầu ra. Trong sườn núi, các hệ số của phép biến đổi tuyến tính được phân phối bình thường và trong lasso chúng được phân phối Laplace. Trong Lasso, điều này giúp các hệ số bằng 0 dễ dàng hơn và do đó dễ dàng loại bỏ một số biến đầu vào của bạn vì không đóng góp vào đầu ra.

Ngoài ra còn có một số cân nhắc thực tế. Các sườn núi dễ thực hiện hơn một chút và tính toán nhanh hơn, điều này có thể quan trọng tùy thuộc vào loại dữ liệu bạn có.

Nếu bạn đã thực hiện cả hai, hãy sử dụng các tập hợp con của dữ liệu của bạn để tìm sườn núi và Lasso và so sánh mức độ chúng hoạt động trên dữ liệu bên trái. Các lỗi sẽ cho bạn một ý tưởng về việc sử dụng.


8
Tôi không hiểu điều đó - làm thế nào bạn biết nếu hệ số của bạn là laplace hoặc phân phối bình thường?
ihadanny

1
Tại sao hồi quy Ridge nhanh hơn để tính toán?
Archie

4
@ Bar Cảm ơn!
Mathmath

2
@ihadanny Rất có thể bạn sẽ không biết, và đó là điểm chính. Bạn chỉ có thể quyết định cái nào để giữ một posteriori .
Firebug

30

Nói chung, khi bạn có nhiều hiệu ứng kích thước nhỏ / vừa, bạn nên đi với sườn núi. Nếu bạn chỉ có một vài biến với hiệu ứng trung bình / lớn, hãy đi với lasso. Hastie, Tibshirani, Friedman


4
Nhưng khi bạn có một vài biến, bạn có thể muốn giữ tất cả chúng trong các mô hình của mình nếu chúng có hiệu ứng trung bình / lớn, điều này sẽ không xảy ra trong lasso vì nó có thể loại bỏ một trong số chúng. Bạn có thể vui lòng giải thích chi tiết này? Tôi cảm thấy khi bạn có nhiều biến số, chúng tôi sử dụng Lasso để loại bỏ các biến không cần thiết và không phải là sườn núi.
aditya bhandari
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.