Dẫn xuất của giải pháp Lasso dạng kín


52

Đối với vấn đề Lasso sao cho . Tôi thường thấy kết quả ngưỡng mềm \ beta_j ^ {\ text {lasso}} = \ mathrm {sgn} (\ beta ^ {\ text {LS}} _ j) (| \ beta_j ^ {\ text {LS}} | - \ gamma) ^ + cho trường hợp X trực giao . Người ta tuyên bố rằng giải pháp có thể "dễ dàng được hiển thị" là như vậy, nhưng tôi chưa bao giờ thấy một giải pháp hiệu quả. Có ai nhìn thấy một hoặc có lẽ đã thực hiện đạo hàm?minβ(YXβ)T(YXβ)β1t

βjlasso=sgn(βjLS)(|βjLS|γ)+
X

Điều này có vẻ hơi bối rối. Lúc đầu, bạn giả sử một ràng buộc t và trong giải pháp bạn giới thiệu một tham số γ . Tôi đoán bạn dự định hai điều này có liên quan đến nhau thông qua vấn đề kép, nhưng có lẽ bạn có thể làm rõ những gì bạn đang tìm kiếm.
Đức hồng y

2
Đáp ứng một phần với @cardinal, tìm β thu nhỏ (YXβ)(YXβ) theo β1t tương đương với việc tìm β thu nhỏ (YXβ)(YXβ)+γj|βj|. Có một mối quan hệ 1-1 giữa tγ . Để 'dễ dàng' thấy lý do tại sao kết quả ngưỡng mềm là như vậy, tôi khuyên bạn nên giải quyết biểu thức thứ hai (trong nhận xét của tôi).

2
Một lưu ý khác, khi tìm thấy β thu nhỏ (YXβ)(YXβ)+γj|βj|, giải quyết vấn đề thành các trường hợp βj>0 , βj<0β=0 .

2
@cardinal À đúng rồi, 1-1 không đúng. Sửa lỗi: với mỗi t0 , bạn có thể tìm thấy một γ0 .

3
Cảm ơn cho một cuộc thảo luận tuyệt vời! Tôi đã xem qua video này trên coursera - Xuất phát bản cập nhật gốc tọa độ Lasso , rất phù hợp với cuộc thảo luận này, và đi qua giải pháp rất thanh lịch. Có thể hữu ích cho khách truy cập trong tương lai :-)
zorbar

Câu trả lời:


64

Điều này có thể bị tấn công theo một số cách, bao gồm các cách tiếp cận khá kinh tế thông qua các điều kiện của Karush, Kuhn, Tucker .

Dưới đây là một đối số thay thế khá cơ bản.

Giải pháp bình phương tối thiểu cho một thiết kế trực giao

Giả sử gồm các cột trực giao. Sau đó, giải pháp bình phương nhỏ nhất là X

β^LS=(XTX)1XTy=XTy.

Một số vấn đề tương đương

Thông qua hình thức Lagrangian, thật đơn giản để thấy rằng một vấn đề tương đương với vấn đề được xem xét trong câu hỏi là

minβ12yXβ22+γβ1.

Mở rộng thuật ngữ đầu tiên, chúng tôi nhận được và vì không chứa bất kỳ trong số các biến quan tâm, chúng tôi có thể loại bỏ nó và xem xét một vấn đề tương đương khác, 12yTyyTXβ+12βTβyTy

minβ(yTXβ+12β2)+γβ1.

Lưu ý rằng , vấn đề trước đó có thể được viết lại thành β^LS=XTy

minβi=1pβ^iLSβi+12βi2+γ|βi|.

Hàm mục tiêu của chúng tôi hiện là tổng của các mục tiêu, mỗi mục tiêu tương ứng với một biến riêng biệt , do đó , mỗi mục tiêu có thể được giải quyết riêng lẻ.βi

Tổng số bằng tổng số phần của nó

Sửa một nhất định . Sau đó, chúng tôi muốn giảm thiểu i

Li=β^iLSβi+12βi2+γ|βi|.

Nếu , thì chúng ta phải có vì nếu không chúng ta có thể lật dấu của nó và nhận giá trị thấp hơn cho hàm mục tiêu. Tương tự như vậy nếu , thì chúng ta phải chọn .β^iLS>0βi0β^iLS<0βi0

Trường hợp 1 : . Vì , và phân biệt điều này với và đặt giá trị bằng 0 , chúng tôi nhận được và điều này chỉ khả thi nếu phía bên phải là không có giá trị, vì vậy trong trường hợp này, giải pháp thực tế là β^iLS>0βi0

Li=β^iLSβi+12βi2+γβi,
βiβi=β^iLSγ
β^ilasso=(β^iLSγ)+=sgn(β^iLS)(|β^iLS|γ)+.

Trường hợp 2 : . Điều này ngụ ý chúng ta phải có và vì vậy Khác biệt với và đặt bằng 0, chúng tôi nhận được . Nhưng, một lần nữa, để đảm bảo điều này là khả thi, chúng tôi cần , điều này đạt được bằng cách lấy β^iLS0βi0

Li=β^iLSβi+12βi2γβi.
βiβi=β^iLS+γ=sgn(β^iLS)(|β^iLS|γ)βi0
β^ilasso=sgn(β^iLS)(|β^iLS|γ)+.

Trong cả hai trường hợp, chúng tôi nhận được hình thức mong muốn, và vì vậy chúng tôi đã hoàn thành.

Chú thích cuối

Lưu ý rằng khi tăng, thì mỗinhất thiết phải giảm, do đó . Khi , chúng tôi khôi phục các giải pháp OLS và, cho, chúng tôi thu được cho tất cả .γ|β^ilasso|β^lasso1γ=0γ>maxi|β^iLS|β^ilasso=0i


2
Viết tuyệt vời @cardinal!
Gary

9
+1 Toàn bộ nửa sau có thể được thay thế bằng quan sát đơn giản rằng hàm mục tiêu là sự kết hợp của các bộ phận của hai parabar lồi với các đỉnh tại , trong đó dấu âm được lấy cho và ngược lại. Công thức chỉ là một cách ưa thích để chọn đỉnh thấp hơn. β12β2+(±γβ^)β±γβ^β<0
whuber

Nếu có thể, tôi muốn xem các đạo hàm sử dụng các điều kiện tối ưu KKT. Có những cách nào khác để có được kết quả này?
dùng1137731

5
@Cardinal: cảm ơn vì một dẫn xuất tốt đẹp. Một quan sát. Nếu tôi nhớ lại, ma trận với các cột trực giao không giống như ma trận trực giao (hay còn gọi là trực giao). Sau đó cho một số ma trận đường chéo (không nhất thiết là ma trận danh tính). Với giả định ma trận trực giao (như trong câu hỏi ban đầu), chúng ta có và tất cả trông rất tuyệt :)XX=DDXX=I
Oleg Melnikov

@cardinal Tôi không hiểu lý do tại sao bạn nói "vì nếu không chúng ta có thể lật dấu của nó và nhận giá trị thấp hơn cho hàm mục tiêu". Chúng tôi đang lấy đạo hàm của hàm mục tiêu. Vậy nếu chức năng mục tiêu cao hơn hay thấp hơn thì ai quan tâm. Tất cả những gì chúng tôi quan tâm là đạo hàm được đặt thành 0, chúng tôi quan tâm đến cực trị. Cho dù nó cao hơn hay thấp hơn bởi một hằng số đều không ảnh hưởng đến argmin.
dùng13985

7

Giả sử rằng biến số , các cột của , cũng được chuẩn hóa để . Điều này chỉ để thuận tiện sau này: không có nó, ký hiệu sẽ nặng hơn vì chỉ là đường chéo. Hơn nữa giả sử rằng . Đây là một giả định cần thiết cho kết quả để giữ. Xác định công cụ ước lượng bình phương nhỏ nhất . Sau đó, công cụ ước tính (dạng Lagrangian của) xjXRn×pXTX=IXTXnpβ^OLS=argminβyXβ22

(defn.)β^λ=argminβ12nyXβ22+λβ1(OLS is projection)=argminβ12nXβ^OLSXβ22+λβ1(XTX=I)=argminβ12nβ^OLSβ22+λβ1(algebra)=argminβ12β^OLSβ22+nλβ1(defn.)=proxnλ1(β^OLS)(takes some work)=Snλ(β^OLS),
\ end {align *} trong đó là toán tử gần nhất của hàm và ngưỡng mềm theo số lượngproxffSαα.

Đây là một dẫn xuất bỏ qua đạo hàm chi tiết của toán tử proximal mà Cardinal thực hiện, nhưng, tôi hy vọng, làm rõ các bước chính có thể tạo thành một dạng đóng.

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.