Khi nào thì chính quy L1 sẽ hoạt động tốt hơn L2 và ngược lại?


30

Lưu ý: Tôi biết rằng L1 có thuộc tính lựa chọn. Tôi đang cố gắng hiểu cái nào sẽ chọn khi lựa chọn tính năng là hoàn toàn không liên quan.

  1. Làm thế nào để quyết định sử dụng chính quy (L1 hoặc L2)?
  2. Những ưu và nhược điểm của mỗi lần chuẩn hóa L1 / L2 là gì?
  3. Có nên đề xuất lựa chọn tính năng đầu tiên bằng L1 và sau đó áp dụng L2 cho các biến được chọn này không?

2
Lưu ý rằng "Lựa chọn tính năng L1" nên được gọi là chính quy hóa không gian tính năng; có nhiều cách tốt hơn để thực hiện lựa chọn tính năng được hiểu là nhận thông tin có liên quan đến vấn đề được mô hình hóa.

@mbq: Tôi tò mò "ý nghĩa của nhiều phương pháp tốt hơn" ở đây là gì?
amip nói rằng Phục hồi Monica

1
Giống như những người liệt kê ở đây .

Câu trả lời:


31

Làm thế nào để quyết định sử dụng chính quy (L1 hoặc L2)?

Mục tiêu của bạn là gì? Cả hai đều có thể cải thiện tổng quát hóa mô hình bằng cách xử phạt các hệ số, vì các tính năng có mối quan hệ ngược chiều với kết quả có thể "bù đắp" lẫn nhau (một giá trị dương lớn được đối trọng bởi một giá trị âm lớn). Điều này có thể phát sinh khi có các tính năng cộng tuyến. Những thay đổi nhỏ trong dữ liệu có thể dẫn đến các ước tính tham số khác nhau đáng kể (ước tính phương sai cao). Hình phạt có thể hạn chế cả hai hệ số nhỏ hơn. (Hastie et al, Các yếu tố của học thống kê , ấn bản 2, trang 63)

Những ưu và nhược điểm của mỗi lần chuẩn hóa L1 / L2 là gì?

Chính quy hóa L1 có thể giải quyết vấn đề đa cộng tuyến bằng cách ràng buộc định mức hệ số và ghim một số giá trị hệ số thành 0. Tính toán, hồi quy Lasso (hồi quy với hình phạt L1) là một chương trình bậc hai cần một số công cụ đặc biệt để giải quyết. Khi bạn có nhiều tính năng hơn các quan sát , lasso sẽ giữ tối đa hệ số khác khôngNN . Tùy thuộc vào ngữ cảnh, đó có thể không phải là những gì bạn muốn.

Chính quy hóa L1 đôi khi được sử dụng như một phương pháp lựa chọn tính năng. Giả sử bạn có một số loại giới hạn cứng về số lượng tính năng bạn có thể sử dụng (vì bộ sưu tập dữ liệu cho tất cả các tính năng đắt tiền hoặc bạn có các ràng buộc kỹ thuật chặt chẽ về số lượng giá trị bạn có thể lưu trữ, v.v.). Bạn có thể thử điều chỉnh hình phạt L1 để đạt được số lượng tính năng khác không mong muốn của mình.

Chuẩn hóa L2 có thể giải quyết vấn đề đa cộng đồng bằng cách ràng buộc định mức hệ số và giữ tất cả các biến. Không thể ước tính một hệ số chính xác bằng 0. Điều này không nhất thiết là một nhược điểm, trừ khi một vectơ hệ số thưa thớt rất quan trọng vì một số lý do.

Trong cài đặt hồi quy, đó là giải pháp "cổ điển" cho vấn đề ước tính hồi quy với nhiều tính năng hơn các quan sát. Chính quy hóa L2 có thể ước tính một hệ số cho từng tính năng ngay cả khi có nhiều tính năng hơn các quan sát (thực sự, đây là động lực ban đầu cho "hồi quy sườn").

Thay thế, lưới đàn hồi cho phép chuẩn hóa L1 và L2 như các trường hợp đặc biệt. Một trường hợp sử dụng điển hình trong một nhà khoa học dữ liệu trong ngành là bạn chỉ muốn chọn mô hình tốt nhất, nhưng không nhất thiết phải quan tâm nếu nó bị phạt khi sử dụng L1, L2 hoặc cả hai. Lưới đàn hồi là tốt đẹp trong những tình huống như thế này.

Có nên đề xuất lựa chọn tính năng đầu tiên bằng L1 và sau đó áp dụng L2 cho các biến được chọn này không?

Tôi không quen thuộc với một ấn phẩm đề xuất một đường ống L1-then-L2, nhưng đây có lẽ chỉ là sự thiếu hiểu biết về phía tôi. Dường như không có gì sai với nó. Tôi sẽ tiến hành đánh giá tài liệu.

Một vài ví dụ về các đường ống "theo giai đoạn" tương tự tồn tại. Một là "Lasso thư giãn", áp dụng hồi quy lasso hai lần , một lần để chọn xuống từ một nhóm lớn thành một nhóm nhỏ các tính năng và thứ hai để ước tính các hệ số để sử dụng trong mô hình. Điều này sử dụng xác nhận chéo ở mỗi bước để chọn độ lớn của hình phạt. Lý do là trong bước đầu tiên, bạn xác nhận chéo và có thể sẽ chọn một hình phạt lớn để sàng lọc các dự đoán không liên quan; trong bước thứ hai, bạn xác nhận chéo và có thể sẽ chọn một hình phạt nhỏ hơn (và do đó hệ số lớn hơn). Điều này được đề cập ngắn gọn trong Các yếu tố của học thống kê với trích dẫn từ Nicolai Meinshausen ("Thư giãn Lasso". Phân tích dữ liệu và thống kê tính toán Tập 52, Số 1, ngày 15 tháng 9 năm 2007, trang 374-393).

Người dùng @amoeba cũng đề xuất một đường ống L1-then-OLS; điều này có thể tốt bởi vì nó chỉ có 1 siêu tham số cho độ lớn của hình phạt L1, do đó sẽ cần ít sự thay đổi hơn.

Một vấn đề có thể phát sinh với bất kỳ đường ống phân tích "theo giai đoạn" nào thực hiện một số bước và sau đó là một số bước khác là không có "khả năng hiển thị" giữa các thuật toán khác nhau, do đó, một quá trình sẽ thừa hưởng bất kỳ dữ liệu nào xảy ra ở các bước trước đó. Hiệu ứng này không đáng kể; mô hình kém quan niệm có thể dẫn đến mô hình rác.

Một cách để chống lại các tác dụng phụ rình mò dữ liệu là xác thực chéo tất cả các lựa chọn của bạn. Tuy nhiên, chi phí tính toán tăng có thể chứng minh sự cấm đoán.


Xin lỗi tôi đã không theo dõi trả lời cho điểm thứ 3 của tôi. Bạn có thể giải thích?
GeorgeOfTheRF

1
Đó là tất cả về kế toán đúng đắn cho sự lạc quan. Vì lý do tương tự mà chúng tôi đo lường hiệu suất trên dữ liệu ngoài mẫu, cần thực hiện tất cả các bước lọc / tiền xử lý theo cách không cho phép rò rỉ thông tin giữa các bước. Nếu bạn thực hiện lựa chọn tính năng trên toàn bộ tập dữ liệu của mình và sau đó chạy một số phân tích, bạn sẽ thấy tín hiệu bị nhiễu.
Sycorax nói Phục hồi Monica

Được. Vậy thì cách tiếp cận được đề xuất để lựa chọn tính năng trước khi chạy mô hình ML là gì?
GeorgeOfTheRF

3
Đề nghị của tôi là "không." Xem ở đây để biết ví dụ về cách điều này có thể trở nên tồi tệ : stats.stackexchange.com/questions/164048/ Nhưng Nhưng điều này đủ khác biệt với câu hỏi ban đầu của bạn mà bạn chỉ cần hỏi một câu hỏi mới. (Đây là lợi thế của bạn, vì bạn sẽ có thể tích lũy thêm đại diện cho câu hỏi mới.)
Sycorax nói Phục hồi lại

3
(+1) Tôi chưa thấy L1-follow-by-L2 được thảo luận trong tài liệu, nhưng nó có ý nghĩa với tôi. Có L1-follow-by-OLS (còn gọi là "LARS-OLS hybrid") và L1-follow-by-L1 (lasso thư giãn), vì vậy người ta cũng có thể xem xét L1-follow-by-L2. Miễn là cả hai siêu đường kính được xác nhận chéo, đó sẽ là một chiến lược chính quy hóa khả thi.
amip nói rằng Phục hồi lại

19

Nói chung, nếu bạn muốn dự đoán tối ưu, hãy sử dụng L2. Nếu bạn muốn phân tích cú pháp tại một số hy sinh của phân biệt đối xử dự đoán, hãy sử dụng L1. Nhưng lưu ý rằng việc phân tích cú pháp có thể là ảo tưởng, ví dụ, việc lặp lại quy trình Lasso bằng bootstrap thường sẽ cho thấy sự mất ổn định đáng kể trong danh sách các tính năng "được chọn", đặc biệt là khi các yếu tố dự đoán có tương quan với nhau.


"Dự đoán tối ưu" - Nói chung, L2 có nghĩa là cho độ chính xác cao hơn trên dữ liệu không nhìn thấy?
GeorgeOfTheRF

3
Vâng, đặc biệt là liên quan đến phân biệt dự đoán.
Frank Harrell

1
+1 cho nhận xét này (và câu trả lời). Tôi đã bắt gặp hiện tượng này thường tốt hơn về mặt phân biệt dự đoán (nghĩa là các nhiệm vụ phân loại) so với và nó luôn làm tôi khó chịu .. Tôi chỉ khởi động mạnh mẽ cho mạng lưới đàn hồi của mình để đề xuất một sườn núi gần hoặc hoàn toàn dung dịch. :)L2L1
usεr11852 nói Phục hồi Monic

2
Phân biệt dự đoán là một khái niệm tổng quát hơn nhiều so với phân loại. Nhưng theo quan điểm của bạn, thường tốt hơn vì nó không tiêu tốn bất kỳ thông tin nào cố gắng để được phân tích cú pháp. Nó cho phép rất nhiều hiệu ứng nhỏ để thêm vào. L2L1
Frank Harrell

Thật tuyệt, cảm ơn bạn đã làm rõ. Đó là ý nghĩa tốt. (Vâng, bạn đã đúng; Tôi liên kết PD với các biện pháp liên quan đến xác suất phân loại chính xác và / hoặc đặt hàng các đối tượng theo rủi ro vì vậy tôi đã nhanh chóng nói "nhiệm vụ phân loại"; xấu, tôi nên cẩn thận hơn.)
usεr11852 nói Phục hồi Monic
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.