Tại sao hồi quy sườn sẽ không thu nhỏ một số hệ số về 0 như lasso?


16

Khi giải thích hồi quy LASSO, sơ đồ của một viên kim cương và hình tròn thường được sử dụng. Người ta nói rằng vì hình dạng của ràng buộc trong LASSO là một viên kim cương, giải pháp bình phương nhỏ nhất thu được có thể chạm vào góc của viên kim cương để dẫn đến sự co lại của một số biến. Tuy nhiên, trong hồi quy sườn núi, vì nó là một vòng tròn, nó thường sẽ không chạm vào trục. Tôi không thể hiểu tại sao nó không thể chạm vào trục hoặc có thể có xác suất thấp hơn LASSO để thu nhỏ các tham số nhất định. Trên hết, tại sao LASSO và sườn núi có phương sai thấp hơn bình phương tối thiểu thông thường? Trên đây là sự hiểu biết của tôi về sườn núi và LASSO và tôi có thể sai. Ai đó có thể giúp tôi hiểu tại sao hai phương pháp hồi quy này có phương sai thấp hơn không?



1
Ok, phần phương sai in đậm không trùng lặp, ít nhất là trong câu hỏi này; vì vậy có lẽ câu hỏi này có thể được chỉnh sửa để tập trung vào đó.
Juho Kokkala

Điều này được giải thích rõ trong hình 3.11 của web.stanford.edu/~hastie/local.ftp/Springer/OLD/ Kẻ

@fcop tôi đã đọc cuốn sách này nhưng tôi không hiểu lắm về toán học
user10024395

Nhưng để hiểu bức tranh bạn không cần toán học?

Câu trả lời:


25

Điều này liên quan đến phương sai

OLS cung cấp cái được gọi là Công cụ ước tính không thiên vị tuyến tính tốt nhất (BLUE) . Điều đó có nghĩa là nếu bạn lấy bất kỳ công cụ ước lượng không thiên vị nào khác, thì chắc chắn sẽ có phương sai cao hơn thì giải pháp OLS. Vậy tại sao chúng ta nên xem xét bất cứ điều gì khác hơn thế?

Bây giờ mẹo với việc chính quy hóa, chẳng hạn như lasso hoặc sườn núi, là lần lượt thêm một số sai lệch để cố gắng giảm phương sai. Bởi vì khi bạn ước tính lỗi dự đoán của mình, đó là sự kết hợp của ba điều : Phần cuối cùng là lỗi không thể khắc phục, vì vậy chúng tôi không kiểm soát được điều đó. Sử dụng giải pháp OLS, thuật ngữ sai lệch bằng không. Nhưng nó có thể là thuật ngữ thứ hai là lớn. Nó có thể là một ý tưởng tốt, ( nếu chúng ta muốn dự đoán tốt ), để thêm vào một số sai lệch và hy vọng làm giảm phương sai.

E[(y-f^(x))2]= =Thiên kiến[f^(x))]2+Var[f^(x))]+σ2

Vậy gì? Đó là phương sai được giới thiệu trong các ước tính cho các tham số trong mô hình của bạn. Mô hình tuyến tính có dạng Để có được giải pháp OLS, chúng tôi giải quyết vấn đề tối thiểu hóa Điều này cung cấp giải pháp Vấn đề tối thiểu hóa cho hồi quy sườn là tương tự: Bây giờ giải pháp trở thành y = X β + ε ,Var[f^(x))]arg min beta | | y - X β | | 2 β OLS = ( X T X ) - 1 X T y arg min β | | y - X β | | 2 + bước sóng | | β | | 2

y= =Xβ+ε,ε~N(0,σ2Tôi)
tranh luậntối thiểuβ||y-Xβ||2
β^TUỔI= =(XTX)-1XTy
tranh luậntối thiểuβ||y-Xβ||2+λ||β||2λ>0
β^cây rơm= =(XTX+λTôi)-1XTy
Vì vậy, chúng tôi đang thêm (được gọi là sườn núi) trên đường chéo của ma trận mà chúng tôi đảo. Hiệu ứng này có trên ma trận là nó " kéo " yếu tố quyết định của ma trận từ 0. Do đó, khi bạn đảo ngược nó, bạn không nhận được giá trị bản địa lớn. Nhưng điều đó dẫn đến một thực tế thú vị khác, đó là phương sai của các ước tính tham số trở nên thấp hơn.λTôiXTX

Tôi không chắc chắn nếu tôi có thể cung cấp một câu trả lời rõ ràng hơn sau đó này. Tất cả điều này có nghĩa là ma trận hiệp phương sai cho các tham số trong mô hình và độ lớn của các giá trị trong ma trận hiệp phương sai đó.

Tôi lấy hồi quy sườn núi làm ví dụ, vì điều đó dễ điều trị hơn nhiều. Lasso khó hơn nhiều và vẫn còn hoạt động nghiên cứu liên tục về chủ đề đó.

Các slide này cung cấp thêm một số thông tin và blog này cũng có một số thông tin liên quan.

EDIT: Ý tôi là gì khi thêm sườn núi, yếu tố quyết định bị " kéo " ra khỏi số 0?

Lưu ý rằng ma trận là ma trận đối xứng xác định dương. Lưu ý rằng tất cả các ma trận đối xứng với các giá trị thực đều có giá trị riêng thực. Ngoài ra vì nó là xác định dương, các giá trị riêng đều lớn hơn 0.XTX

Ok vậy làm thế nào để chúng ta tính toán giá trị bản địa? Chúng tôi giải phương trình đặc trưng: Đây là một đa thức trong , và như đã nêu ở trên, các giá trị riêng là có thực và dương. Bây giờ chúng ta hãy xem phương trình của ma trận sườn núi mà chúng ta cần đảo ngược: Chúng ta có thể thay đổi điều này một chút bit và xem: Vì vậy, chúng ta có thể giải quyết điều này cho và có cùng giá trị riêng đối với vấn đề đầu tiên. Giả sử rằng một giá trị riêng là . Vì vậy, giá trị riêng cho bài toán sườn núi trở thành . Nó được thay đổi bởi

phát hiện(XTX-tTôi)= =0
t
phát hiện(XTX+λTôi-tTôi)= =0
phát hiện(XTX-(t-λ)Tôi)= =0
(t-λ)tTôitTôi+λλ . Điều này xảy ra với tất cả các giá trị riêng, vì vậy tất cả chúng đều di chuyển từ số không.

Đây là một số mã R để minh họa điều này:

# Create random matrix
A <- matrix(sample(10,9,T),nrow=3,ncol=3)

# Make a symmetric matrix
B <- A+t(A)

# Calculate eigenvalues
eigen(B)

# Calculate eigenvalues of B with ridge
eigen(B+3*diag(3))

Cung cấp kết quả:

> eigen(B)
$values
[1] 37.368634  6.952718 -8.321352

> eigen(B+3*diag(3))
$values
[1] 40.368634  9.952718 -5.321352

Vì vậy, tất cả các giá trị riêng được tăng lên chính xác bằng 3.

Bạn cũng có thể chứng minh điều này nói chung bằng cách sử dụng định lý vòng tròn Gershgorin . Ở đó các tâm của các vòng tròn chứa giá trị riêng là các phần tử đường chéo. Bạn luôn có thể thêm "đủ" vào phần tử đường chéo để tạo tất cả các vòng tròn trong nửa mặt phẳng thực dương. Kết quả đó là tổng quát hơn và không cần thiết cho việc này.


Bạn có thể giải thích làm thế nào nó "kéo" định thức ra khỏi số không (về mặt toán học)? Cảm ơn
user10024395

@ user2675516 Tôi đã chỉnh sửa câu trả lời của mình.
Gumeo

"Điều đó có nghĩa là nếu bạn lấy bất kỳ công cụ ước lượng không thiên vị nào khác, thì chắc chắn sẽ có phương sai cao hơn giải pháp OLS". Bạn có nghĩa là thiên vị cao hơn OLS? Tôi nghĩ rằng OLS có ít sự thiên vị nhất vì vậy bất cứ điều gì khác sẽ có sự thiên vị cao hơn. Xin làm rõ
GeorgeOfTheRF 28/07/17

@ML_Pro OLS không có độ lệch bằng 0 và trong tất cả các công cụ ước tính không thiên vị, nó có phương sai nhỏ nhất. Đây là một định lý . Vì vậy, nếu bạn chọn bất kỳ khác, phương sai sẽ tăng lên. Nhưng nếu bạn thường xuyên, bạn giới thiệu thiên vị.
Gumeo

Cảm ơn! Phản ứng của bạn làm tôi tò mò. Bạn có thể trả lời câu hỏi mới này tôi tạo ra không? stats.stackexchange.com/questions/294926/ Mạnh
GeorgeOfTheRF 28/07/17

2

Hồi quy sườn

L2 = (y-xβ) ^ 2 + ii ^ 2

Sẽ giải quyết phương trình này chỉ cho một bây giờ và sau này bạn có thể khái quát hóa điều này:

Vì vậy, (y-xβ) ^ 2 + ^ 2 đây là phương trình của chúng ta cho một.

Mục tiêu của chúng tôi là tối thiểu hóa phương trình trên, để có thể làm điều này, sẽ đánh giá nó bằng 0 và lấy đạo hàm wrt

Y ^ 2- 2xyβ + x ^ 2 ^ 2 + λβ ^ 2 = 0 ------- Sử dụng (ab) ^ 2 mở rộng

Dẫn xuất một phần wrt

-2xy + 2x ^ 2β + 2βλ = 0

2β (x ^ 2 +) = 2xy

β = 2xy / 2 (x ^ 2 +)

Cuối cùng

β = xy / (x ^ 2 +)

Nếu bạn quan sát mẫu số, nó sẽ không bao giờ trở thành số không, vì chúng ta đang thêm một số giá trị (tức là siêu tham số). Và do đó, giá trị của sẽ càng thấp càng tốt nhưng sẽ không trở thành số không.

Hồi quy LASSO:

L1 = (y-xβ) ^ 2 + λ∑ | β |

Sẽ giải quyết phương trình này chỉ cho một bây giờ và sau này bạn có thể khái quát hóa phương trình này thành nhiều hơn β:

Vì vậy, (y-xβ) ^ 2 + λβ đây là phương trình của chúng ta cho một, Ở đây tôi đã xem xét + giá trị của.

Mục tiêu của chúng tôi là tối thiểu hóa phương trình trên, để có thể làm điều này, sẽ đánh giá nó bằng 0 và lấy đạo hàm wrt

Y ^ 2- 2xyβ + x ^ 2 ^ 2 + λβ = 0 ------- Sử dụng (ab) ^ 2 mở rộng

Dẫn xuất một phần wrt

-2xy + 2x ^ 2β + = 0

2x ^ 2β + = 2xy

2x ^ 2β = 2xy-

Cuối cùng

= (2xy-λ) / (2X ^ 2)

Nếu bạn quan sát tử số, nó sẽ trở thành số không, vì chúng ta đang trừ đi một số giá trị của (tức là siêu tham số). Và do đó, giá trị của β sẽ được đặt thành 0.

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.