Liệu chuẩn hóa L2 của hồi quy sườn có trừng phạt đánh chặn không? Nếu không, làm thế nào để giải quyết đạo hàm của nó?


8

Tôi mới đến ML. Tôi được thông báo rằng việc bình thường hóa L2 của hồi quy sườn không trừng phạt việc chặn . Như trong hàm chi phí: Thuật ngữ chuẩn hóa L2 chỉ tính tổng từ đến , không phải từ đến . Tôi cũng đọc rằng:θ0

θJ(θ)=12i=1m(hθ(x(i))y(i))2+λj=1nθj2
λj=1nθj2j=1nj=0n

trong hầu hết các trường hợp (tất cả các trường hợp?), tốt hơn hết là bạn không nên thường xuyên hóa , vì không thể giảm quá mức và thu hẹp không gian của các chức năng có thể biểu diễnθ0

xuất phát từ câu trả lời cuối cùng của user48956 về Tại sao mô hình hồi quy tuyến tính chặn không dự đoán tốt hơn mô hình có chặn?

Tôi bối rối về cách giải đạo hàm của hàm chi phí, vì: trong đó , và .Θ

θJ(θ)=12XθYTXθY+λ(θ)Tθ,
θ= [ θ 0 θ 1 . . . θ n ] X= [ 1 X ( 1 ) 1 X ( 1 ) 2 . . . X ( 1 ) n 1 X ( 2 ) 1 X ( 2 ) 2 . .θ=[θ1θ2...θn]θ=[θ0θ1...θn]X=[1X1(1)X2(1)...Xn(1)1X1(2)X2(2)...Xn(2)...1X1(m)X2(m)...Xn(m)]

Qqqθ và khác nhau. Do đó chúng không thể được trộn lẫn từ quan điểm của tôi. Và đạo hàm là về có chứa . Sau khi googling và xem các câu hỏi trên diễn đàn này, vẫn không có cách nào để tôi có được giải pháp: Ai có thể cho tôi manh mối không? Cảm ơn trước sự giúp đỡ của bạn!θθ Θ=(XTX+λ*Tôi) - 1 XTYθ

θ=(XTX+λI)1XTY

Tuy nhiên, tôi nghĩ có hai cách khắc phục nhanh vấn đề này:

Trước hết, chúng tôi không thêm cột tất cả 1 tới . Cụ thể là . Điều đó có nghĩa là chúng tôi không bao gồm phần chặn trong mô hình: Tôi tin rằng phương pháp này được áp dụng trong cuốn sách kinh điển Machine Learning in Action của Peter Harrington mà tôi hiện đang đọc. Trong quá trình thực hiện hồi quy sườn (P166 và P177 nếu bạn cũng có sách), tất cả được chuyển sang hồi quy sườn không có tất cả 1 cột.X = [ X ( 1 ) 1 X ( 1 ) 2 . . . X ( 1 ) n X ( 2 ) 1 X ( 2 ) 2 . . . X ( 2 ) n . . . X ( m ) 1 X ( m ) 2 . . . X ( m ) nX y= θ 1 X 1 + θ 2 X 2 +. . . + θ n X n . XX=[X1(1)X2(1)...Xn(1)X1(2)X2(2)...Xn(2)...X1(m)X2(m)...Xn(m)]

y=θ1X1+θ2X2+...+θnXn.
X

Thứ hai, việc đánh chặn cũng đang bị trừng phạt trong thực tế.

Hồi quy logistic của scikit thường xuyên chặn đánh chặn theo mặc định.

mà một lần nữa xuất phát từ câu trả lời cuối cùng của user48956 về Tại sao mô hình hồi quy tuyến tính chặn không dự đoán tốt hơn mô hình có chặn?

Cả hai cách khắc phục nhanh đều dẫn đến giải pháp

θ=(XTX+λI)1XTY.

Vì vậy, đạo hàm của bình thường hóa L2 của hồi quy sườn thực sự có thể được giải quyết hay chỉ được giải quyết bằng cách sửa chữa nhanh chóng?


2
Xem thêm thống kê.stackexchange.com/questions/86991 . Câu trả lời cho Q của bạn là mọi thứ đều có thể được giải quyết: chỉ cần phân tách thuật ngữ đầu tiên thành theta_0 và theta_prime. Bạn có thể giải quyết ngay lập tức cho tối ưu theta_0: đó là ý nghĩa tổng thể. Dẫn đến "cách khắc phục nhanh số 1" của bạn là giải pháp phù hợp cho theta_prime trên dữ liệu bị trừ trung bình.
amip

3
Giải pháp thứ hai là khá phổ biến được coi là không chính xác. Việc xử phạt đánh chặn là một trong một vài lỗi thiết kế trong sklearn.
Matthew Drury

1
@MatthewDrury Tôi nghĩ rằng tôi đã đề cập đến một bản hack để "sửa" cái này và làm bạn buồn. Nhưng tôi muốn nói với OP rằng vụ hack đang tạo ra một cuộc đánh chặn khổng lồ, chẳng hạn như 1e9. Sau đó, chính quy hóa ít ảnh hưởng đến nó.
Haitao Du

1
Yah, bạn nhớ chính xác, mỗi khi tôi làm điều đó tôi chết bên trong một chút.
Matthew Drury

@amoeba Cảm ơn rất nhiều! Tôi tìm ra giải pháp trong câu trả lời của tôi dưới sự hướng dẫn của bạn. Bạn có thể giúp tôi kiểm tra nó? Hơn nữa, tôi phát hiện ra rằng phép trừ Machine Learning in Action có nghĩa là từ và không thêm tất cả 1 cột vào , cả hai đều đúng. Tuy nhiên, khi thực hiện chuẩn hóa tính năng, nó chia cho phương sai chứ không phải độ lệch chuẩn! Tôi đã hỏi một câu hỏi khác cho điều này: không phải bởi độ lệch chuẩn Bạn có thể giúp tôi một lần nữa về câu hỏi này không? Cảm ơn! X X - μYXXμ
Naomi

Câu trả lời:


3

Các yếu tố của học thống kê bởi Hastie et al. chỉ ra trong P63 rằng:

việc chặn đã bị loại khỏi thời hạn phạtθ0

Hơn nữa, nó nói:

Các giải pháp sườn núi không tương đương dưới tỷ lệ của các yếu tố đầu vào, và do đó, người ta thường chuẩn hóa các đầu vào trước khi giải (3,41) (3,41 là hàm chi phí). Có thể chỉ ra (Bài tập 3.5) rằng giải pháp cho (3.41) có thể được tách thành hai phần, sau khi lặp lại bằng cách sử dụng các đầu vào trung tâm: mỗi được thay thế bằng Chúng tôi ước tính bởi Các hệ số còn lại được ước tính bằng hồi quy sườn chặn, sử dụng trung tâm . Do đó, chúng tôi giả định rằng việc định tâm này đã được thực hiện, do đó ma trận đầu vào có X ( i ) j - ¯ x j . θ 0 ¯ y = 1Xj(i)Xj(i)xj¯.θ0y¯=1mi=1my(i)Xj(i)Xn(chứ không phải ) cột.n+1

Mặc dù tôi tự hỏi tại sao các yếu tố của học thống kê trước tiên đề xuất tiêu chuẩn hóa tính năng và sau đó chỉ thực hiện định tâm tính năng. Có thể đồng ý với Bài tập 3.5 chỉ sử dụng tính năng định tâm.

Dù sao, tôi tin rằng việc áp dụng tiêu chuẩn z cho các tính năng là đúng. Vì vậy, bây giờ tôi cố gắng giải quyết đạo hàm của hàm chi phí của hồi quy sườn theo gợi ý của người bình luận amip ở trên. Cảm ơn anh ấy hoặc cô ấy rất nhiều!

Đầu tiên, hàm chi phí: trong đó là giá trị trung bình của thuộc tính và là độ lệch chuẩn của . Để làm cho nó ngắn hơn: Trước tiên, chúng tôi tính toán giá trị của

θJ(θ)=12i=1m(yiθ0X1(i)X1¯σ1θ1X2(i)X2¯σ2θ2...Xn(i)Xn¯σnθn)2+λj=1nθj2,
Xj¯XjσjXj
θJ(θ)=12i=1m(yiθ0j=1nXj(i)Xj¯σjθj)2+λj=1nθj2
θ0trong biểu thức trên bằng cách đặt đạo hàm tương ứng với bằng 0. Vì không có , chúng tôi nhận được: Đó là: Là (vì là giá trị trung bình của thuộc tính ), vì vậy bây giờ chúng ta cóθ0λj=1nθj2θ0
θ0J(θ)=i=1m(yiθ0j=1nXj(i)Xj¯σjθj)=0
i=1m(yiθ0)i=1mj=1nXj(i)Xj¯σjθj=0
i=1mj=1nXj(i)Xj¯σjθj=0
Xj¯Xj
i=1m(yiθ0)=0,
rõ ràng:
θ0=y¯=1mi=1my(i)

Vì vậy, việc chặn hồi quy sườn tiêu chuẩn hóa tính năng luôn là . Do đó, nếu trước tiên chúng ta tập trung bằng cách trừ trung bình của nó (get cho ví dụ dữ liệu ), không bao gồm tất cả 1 cột trong , và sau đó thực hiện tiêu chuẩn hóa tính năng trên (get cho của ví dụ dữ liệu ) , hàm chi phí sẽ chỉ đơn giản là Đó là y¯Y(yi)iXX(Xj(i))Xji

θJ(θ)=12i=1m((yi)j=1n(Xj(i))θj)2+λj=1nθj2
θJ(θ)=12XθYTXθY+λ(θ)Tθ,
trong đó , không có tất cả 1 cột và tiêu chuẩn của , tập trung đối với với . Bây giờ (không có ) có thể được giải quyết bằng: Đối với các tính năng được tiêu chuẩn hóa, mô hình tuyến tính sẽ là trong đó θ=[θ1θ2...θn]XXYYθθ0
θ=((X)TX+λI)1(X)TY
y=y¯+θ1X1+θ2X2+...+θnXn(1),
Xi=XiXi¯σi(2)
Nếu chúng tôi sử dụng (2) trong (1) như được đề xuất trong câu trả lời của Plasty Grove . Vì vậy, đối với dữ liệu đầu vào gốc, mô hình tuyến tính sẽ là Đó là Đó là lý do tại sao sau khi chúng tôi giải quyết các hệ số của các tính năng được tiêu chuẩn hóa, để trả về các hệ số của dữ liệu đầu vào gốc tính năng), chúng tôi phải trả lại
y=y¯+X1X1¯σ1θ1+X2X2¯σ2θ2+...+XnXn¯σnθn
θi/σi
y=θ1σ1X1+θ2σ2X2+...+θnσnXn+y¯X1¯σ1θ1X2¯σ2θ2...Xn¯σnθn
θi/σi

Ví dụ chi tiết đẹp. Một vài ý kiến: bạn nhận xét về tác dụng của việc định tâm , nhưng để bỏ qua một thuật ngữ chặn và có được ước tính chính xác, người ta cũng phải tập trung vào tất cả các tính năngTuy nhiên, tôi đồng ý ví dụ này đồng ý với lý do không phạt thời hạn đánh chặn (để có được suy luận nhất quán). Thứ hai, trực giác nên phục vụ cho một cái gì đó ở đây. Tất cả chúng ta chấp nhận rằng dự đoán bằng trung bình của nó là giống như một mô hình tham số 0, vì vậy để có được những tác dụng phụ của trong mô hình, chúng ta không phải trừng phạt thuật ngữ mà chỉ đơn thuần là bắt hiệu quả-Y có nghĩa là sự hiện diện của . X Y X XYXYXX
AdamO
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.