2012-09-05 43 views
20

Đây là câu hỏi mới bắt đầu về quá trình chuẩn hóa với hồi quy. Hầu hết thông tin về Elastic Net và Lasso Regression trực tuyến sao chép thông tin từ Wikipedia hoặc bản gốc 2005 của Zou và Hastie (Regularization và selection selection thông qua mạng đàn hồi).Elastic Net được sử dụng như thế nào?

Tài nguyên cho lý thuyết đơn giản? Có một lời giải thích đơn giản và dễ dàng ở đâu đó về những gì nó làm, khi nào và tại sao việc tái cấu trúc là cần thiết và cách sử dụng nó - cho những người không có khuynh hướng thống kê? Tôi hiểu rằng bài viết gốc là nguồn lý tưởng nếu bạn có thể hiểu nó, nhưng có một nơi nào đó đơn giản hơn là vấn đề và giải pháp?

Cách sử dụng trong sklearn? Có một ví dụ từng bước cho thấy lý do tại sao mạng lưới đàn hồi được chọn (trên sườn núi, lasso, hoặc chỉ đơn giản là OLS) và cách các tham số được tính toán? Nhiều người trong số các examples on sklearn chỉ bao gồm alpha và rho thông số trực tiếp vào mô hình dự đoán, cho example:

from sklearn.linear_model import ElasticNet 
alpha = 0.1 
enet = ElasticNet(alpha=alpha, rho=0.7) 
y_pred_enet = enet.fit(X_train, y_train).predict(X_test) 

Tuy nhiên, họ không giải thích cách này đã được tính toán. Làm thế nào để bạn tính toán các thông số cho Lasso hoặc net?

+3

Bạn có thể tìm hiểu các khái niệm cơ bản về việc hợp nhất hóa trong [prof. Khóa học học máy xuất sắc của Andrew Ng] (https://www.coursera.org/ml). Anh ta chỉ thảo luận về việc thường hóa L2, nhưng toán cho L1 hoặc E-net thì rất giống nhau. Đối với việc tìm kiếm các tham số đúng, scikit-learn có các lớp như 'ElasticNetCV' cho điều đó. –

+1

Tôi cũng recomment nhìn vào '' Các yếu tố của học tập thống kê'' một cuốn sách tuyệt vời về học máy, có sẵn trực tuyến miễn phí. Btw, thẻ hồi quy ở đây dường như không có ý nghĩa gì với bạn;) –

+0

Tôi vừa chỉnh sửa mô tả thẻ cho 'hồi quy'. Hầu hết các câu hỏi dường như là về "cách sử dụng R/SciPy/Matlab/Octave", vì vậy chúng có thể không phải về thử nghiệm. –

Trả lời

19

Tài liệu bị thiếu. Tôi đã tạo một issue mới để cải thiện nó. Như Andreas cho biết, tài nguyên tốt nhất có lẽ là ESL II có sẵn trực tuyến miễn phí dưới dạng PDF.

Để tự động điều chỉnh giá trị alpha, thực sự có thể sử dụng ElasticNetCV sẽ tính toán dự phòng theo cách sử dụng GridSearchCV trong lớp ElasticNet để điều chỉnh alpha. Ngoài ra, bạn có thể sử dụng số GridSearchCV thông thường để tìm giá trị tối ưu là rho. Xem chuỗi tài liệu của ElasticNetCV để biết thêm chi tiết.

Đối với Lasso vs ElasticNet, ElasticNet sẽ có xu hướng chọn nhiều biến hơn do đó dẫn đến các mô hình lớn hơn (cũng đắt hơn để đào tạo) nhưng cũng chính xác hơn nói chung. Đặc biệt Lasso rất nhạy cảm với các mối tương quan giữa các tính năng và có thể chọn ngẫu nhiên một trong 2 tính năng thông tin rất tương quan trong khi ElasticNet có nhiều khả năng lựa chọn cả hai mô hình sẽ dẫn đến mô hình ổn định hơn (về khả năng khái quát hóa nên các mẫu mới).

+1

Có, Lasso sẽ chọn một biến từ một nhóm các tính năng tương quan cao. Đây là một quá trình hơi ngẫu nhiên được đề cập bởi @ogrisel. Elastic Net, mặt khác, làm cho sự lựa chọn để rời khỏi cả nhóm các tính năng tương quan cao trong hoặc ngoài. –

Các vấn đề liên quan