Tại sao định mức L1 cho các mô hình thưa thớt


97

Tôi đang đọc những cuốn sách về hồi quy tuyến tính. Có một số câu về định mức L1 và L2. Tôi biết họ, chỉ không hiểu tại sao định mức L1 cho các mô hình thưa thớt. Ai đó có thể sử dụng đưa ra một lời giải thích đơn giản?


4
Về cơ bản, độ thưa thớt được gây ra bởi các cạnh sắc nét nằm trên trục của một mặt phẳng. Giải thích đồ họa tốt nhất mà tôi tìm thấy cho đến nay là trong video này: youtube.com/watch?v=sO4ZirJh9ds
felipeduque

1
Có một bài viết trên blog cùng chioka.in / từ
prashanth

Kiểm tra bài sau đây của Trung bình. Nó có thể giúp trung bình.com /@vamsi149 / từ
solver149

Câu trả lời:


111

Hãy xem xét các vector nơi ε > 0 là nhỏ. Các chỉ tiêu l 1l 2 của x , tương ứng, được đưa ra bởix=(1,ε)R2ε>0l1l2x

||x||1=1+ε,  ||x||22=1+ε2

Bây giờ nói rằng, như một phần của một số thủ tục theo quy tắc, chúng ta sẽ giảm tầm quan trọng của một trong những yếu tố của bởi delta ε . Nếu chúng ta thay đổi x 1 để 1 - δ , các chỉ tiêu kết quả làxδεx11δ

||x(δ,0)||1=1δ+ε,  ||x(δ,0)||22=12δ+δ2+ε2

Mặt khác, giảm bằng δ đưa ra định mứcx2δ

||x(0,δ)||1=1δ+ε,  ||x(0,δ)||22=12εδ+δ2+ε2

Những điều cần chú ý ở đây là, đối với một hình phạt, regularizing thuật ngữ lớn hơn x 1 kết quả trong việc giảm lớn hơn nhiều ở mức hơn làm như vậy để các hạn nhỏ hơn x 20 . Đối với hình phạt l 1 , tuy nhiên, mức giảm là như nhau. Vì vậy, khi xử phạt một mô hình bằng cách sử dụng l 2 tiêu chuẩn, đó là chắc chắn rằng bất cứ điều gì bao giờ sẽ được thiết lập để không, vì việc giảm l 2 mức đi từ ε đến 0 là gần như không tồn tại khi ε là nhỏ. Mặt khác, việc giảm l 1l2x1x20l1l2l2ε0εl1định mức luôn bằng , bất kể số lượng bị phạt.δ

Một cách khác để nghĩ về nó: nó không đến nỗi phạt khuyến khích thưa thớt, nhưng điều đó l 2 hình phạt trong một số cảm giác nản lòng thưa thớt bởi năng suất giảm dần trở về như các yếu tố đang tiến gần hơn đến số không.l1l2


3
Cảm ơn câu trả lời của bạn! Tôi không bị thuyết phục bởi điểm cuối cùng, mặc dù. Nếu bạn chạy hồi quy tuyến tính không bị phạt, bạn sẽ hầu như không nhận được các giải pháp thưa thớt (trong khi thêm hình phạt L1 thường sẽ mang lại cho bạn sự thưa thớt). Vì vậy, hình phạt L1 thực tế khuyến khích sự thưa thớt bằng cách gửi các hệ số bắt đầu gần bằng 0 đến 0 chính xác.
Stefan Wager

2
@StefanWager có lẽ đó là một chút của một lời nói quá, nhưng tôi nghĩ đó là sự thật rằng không có gì đặc biệt về là hình phạt ở đây: một l α phạt đối với bất kỳ α 1 cũng sẽ gây ra thưa thớt, nhưng bạn thấy những người kém thường trong thực tế ( có lẽ bởi vì chúng không lồi). Nếu bạn thực sự chỉ muốn thưa thớt thì hình phạt l 0 (tỷ lệ thuận với số lượng mục nhập khác không) là cách để thực hiện, điều đó xảy ra rằng đó là một cơn ác mộng khi làm việc. l1lαα1l0
bnaul

1
Vâng đúng rồi. Có nhiều định mức dẫn đến độ thưa thớt (ví dụ, như bạn đã đề cập, bất kỳ định mức Lp nào có p <= 1). Nói chung, bất kỳ chỉ tiêu nào có góc nhọn ở mức 0 đều gây ra sự thưa thớt. Vì vậy, quay trở lại câu hỏi ban đầu - định mức L1 gây ra sự thưa thớt bằng cách có một độ dốc không liên tục ở mức 0 (và bất kỳ hình phạt nào khác với thuộc tính này cũng sẽ làm như vậy).
Stefan Wager

3
Trong trường hợp bất kỳ ai muốn đọc thêm, có một tài liệu tích cực về các hàm hình phạt không lồi thay thế cho định mức L1 (ví dụ: gần đây, tờ giấy.nips.cc / apers / lỗi ).
Stefan Wager

1
câu trả lời tuyệt vời tôi đã tự hỏi một lúc cho đến khi tôi tìm thấy nó.
Hady Elsahar

72

Với một mô hình thưa thớt, chúng tôi nghĩ đến một mô hình có nhiều trọng số bằng 0. Do đó, chúng ta hãy suy luận về cách chính quy hóa L1 có nhiều khả năng tạo ra các trọng số 0.

Hãy xem xét một mô hình bao gồm trọng lượng .(w1,w2,Giáo dục,wm)

Với L1 quy tắc, bạn trừng phạt các mô hình của một hàm mất = Σ i | w i | .L1(w)ΣTôi|wTôi|

Với chuẩn hóa L2, bạn xử phạt mô hình bằng hàm mất = 1L2(w)12ΣTôiwTôi2

Nếu sử dụng gradient descent, bạn sẽ lặp đi lặp lại làm cho trọng lượng thay đổi theo hướng ngược lại của gradient với một kích thước bước nhân với gradient. Điều này có nghĩa là một gradient dốc hơn sẽ khiến chúng ta thực hiện một bước lớn hơn, trong khi một gradient phẳng hơn sẽ khiến chúng ta thực hiện một bước nhỏ hơn. Chúng ta hãy xem độ dốc (cấp dưới trong trường hợp L1):η

, trong đósign(w)=(w1Cười mở miệngL1(w)Cười mở miệngw= =STôigviết sai rồi(w)STôigviết sai rồi(w)= =(w1|w1|,w2|w2|,Giáo dục,wm|wm|)

Cười mở miệngL2(w)Cười mở miệngw= =w

Nếu chúng ta vẽ đồ thị hàm mất và nó là đạo hàm cho một mô hình chỉ bao gồm một tham số duy nhất, thì nó giống như thế này cho L1:

nhập mô tả hình ảnh ở đây

Và như thế này cho L2:

nhập mô tả hình ảnh ở đây

Lưu ý rằng đối với , độ dốc là 1 hoặc -1, ngoại trừ khi w 1 = 0 . Điều đó có nghĩa là chính quy hóa L1 sẽ di chuyển bất kỳ trọng số nào về 0 với cùng kích thước bước, bất kể giá trị của trọng số. Ngược lại, bạn có thể thấy rằng độ dốc L 2 đang giảm tuyến tính về 0 khi trọng số giảm dần về 0. Do đó, chính quy L2 cũng sẽ di chuyển bất kỳ trọng số nào về 0, nhưng nó sẽ thực hiện các bước nhỏ hơn và nhỏ hơn khi trọng số tiến đến 0.L1w1= =0L2

Hãy thử tưởng tượng rằng bạn bắt đầu với một mô hình với và sử dụng η = 1w1= =5 . Trong bức ảnh sau đây, bạn có thể thấy cách gradient descent sử dụng L1-quy tắc làm 10 bản cập nhậtw1:=w1-ηdL1(w)η= =12, cho đến khi đạt một mô hình vớiw1=0:w1: =w1-ηCười mở miệngL1(w)Cười mở miệngw= =w1-121w1= =0

nhập mô tả hình ảnh ở đây

Trong ProDic, với L2-quy tắc nơi η= =12w1w1: =w1-ηCười mở miệngL2(w)Cười mở miệngw= =w1-12w1

nhập mô tả hình ảnh ở đây

η


3
η= =0,5
wđụTôirSt Step= =0,1-0,5*(+1)=>w= =-0,4
wSecoviết sai rồiCười mở miệngStep= =-0,4-0,5*(-1)= =0,1.

5
@AlexYashin là chính xác - nếu chúng tôi chỉ cập nhật các trọng số dựa trên chính quy L1, cuối cùng chúng tôi có thể có các trọng số dao động gần 0. Nhưng chúng tôi không bao giờ sử dụng chính quy để điều chỉnh các trọng số. Chúng tôi sử dụng chính quy kết hợp với tối ưu hóa chức năng mất. Theo cách đó, chính quy hóa đẩy các trọng số về 0 trong khi chúng ta đồng thời cố gắng đẩy các trọng số lên một giá trị tối ưu hóa các dự đoán. Một khía cạnh thứ hai là tỷ lệ học tập. Với tỷ lệ học tập nhỏ hơn, chúng ta có thể tiến gần đến giá trị mà việc chính quy hóa có thể dao động xung quanh đến mức chúng ta có thể bỏ qua nó
Kent Munthe Caspersen

1
Tại sao dL2(w)/dwlà 'mô-đun' và không chỉ tuyến tính?
mrgloom

1
@mrgloom dL2(w)/dwcó thể được đọc là sự thay đổi của L2(w)mỗi thay đổi về trọng lượng. Vì chính quy L2 bình phương các trọng số, L2(w)sẽ thay đổi nhiều hơn cho cùng một thay đổi về trọng số khi chúng ta có trọng số cao hơn. Đây là lý do tại sao hàm này lồi khi bạn vẽ nó. Tuy nhiên, đối với L1, sự thay đổi của L1(w)mỗi thay đổi về trọng số là như nhau bất kể trọng lượng của bạn là bao nhiêu - điều này dẫn đến một hàm tuyến tính.
Kent Munthe Caspersen

1
@KentMuntheCaspersen Giải thích tuyệt vời! Cảm ơn bạn cho các biểu đồ và nỗ lực bạn đã đầu tư để thực hiện trực quan này!
layser

15

Hình 3.11 từ các yếu tố của học thống kê của Hastie, Tibshirani và Friedman rất minh họa:nhập mô tả hình ảnh ở đây

β^β1β2β^L1L2) hồi quy tương ứng. Về mặt heurist, đối với mỗi phương pháp, chúng tôi đang tìm kiếm giao điểm của các hình elip màu đỏ và vùng màu xanh lam vì mục tiêu là để giảm thiểu chức năng lỗi trong khi duy trì tính khả thi.

L1


16
Hình minh họa không thuyết phục lắm nếu không có thêm thông tin. Ví dụ, tại sao các đường viền của lỗi phải được đặt ở vị trí của chúng trong hình?
wợi

@HrishikeshGanu Cuối cùng cũng có chút thời gian để chỉnh sửa bài.
Zhanxiong

Tất cả các đường viền sẽ có dạng giống nhau ...
kjetil b halvorsen

1
β^β1β2β1= =β2

13

β^β^1(β^)<t2(β^)<t

11{x:1(x)1}

Tổng quát hơn, cuốn sách này là một tài liệu tham khảo tốt về chủ đề này: cả nghiêm ngặt và minh họa tốt, giải thích tuyệt vời.


3
Tôi nghĩ rằng đoạn thứ hai của bạn là một chìa khóa ... ít nhất là theo trực giác của tôi: một "quả bóng" l1 giống như một viên kim cương mọc dọc theo các trục, điều đó có nghĩa là một siêu phẳng bị hạn chế đánh vào nó có nhiều khả năng có số 0 các trục.
Wayne

2
β^1212β^

3
Cuốn sách rất hay, nhưng nó không bao giờ giải thích nó đến từ đâu và toán học đằng sau nó.
dùng13985

2

Một câu trả lời phi toán học đơn giản sẽ là:

Đối với L2: Thuật ngữ hình phạt là bình phương , vì vậy bình phương một giá trị nhỏ sẽ làm cho nó nhỏ hơn. Chúng tôi không phải làm cho nó bằng không để đạt được mục tiêu của chúng tôi để có được lỗi bình phương tối thiểu, chúng tôi sẽ nhận được nó trước đó.

Đối với L1: Thời hạn phạt là tuyệt đối , chúng ta có thể cần phải về khôngkhông có chất xúc tác để làm cho nhỏ hơn .

Đây là quan điểm của tôi.


Không thuyết phục lắm với tôi.
Tyler 将士 归 5/11/18

2

L1 Norm so với L2 Norm

Hình ảnh cho thấy hình dạng của khu vực bị chiếm bởi L1 và L2 Norm. Hình ảnh thứ hai bao gồm các đường viền Gradient Descent khác nhau cho các vấn đề hồi quy khác nhau. Trong tất cả các ô đường viền, hãy quan sát vòng tròn màu đỏ giao với Sườn hoặc L2 Norm. giao điểm không nằm trên trục. Vòng tròn màu đen trong tất cả các đường viền đại diện cho đường viền giao nhau giữa L1 ​​Norm hoặc Lasso. Nó giao nhau tương đối gần với các trục. Điều này dẫn đến việc làm cho các hệ số về 0 và do đó lựa chọn tính năng. Do đó định mức L1 làm cho mô hình thưa thớt.

Giải thích chi tiết hơn tại liên kết sau: Nhấp vào Đăng trên Hướng tới Khoa học dữ liệu


2β1= =1β1= =0L1
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.