Phương pháp chính quy cho hồi quy logistic


42

Chính quy hóa bằng các phương thức như Ridge, Lasso, ElasticNet là khá phổ biến cho hồi quy tuyến tính. Tôi muốn biết những điều sau: Những phương pháp này có thể áp dụng cho hồi quy logistic không? Nếu vậy, có sự khác biệt nào trong cách chúng cần được sử dụng cho hồi quy logistic không? Nếu các phương pháp này không được áp dụng, làm thế nào để thường xuyên hồi quy logistic?


Bạn đang xem một tập dữ liệu cụ thể, và do đó cần xem xét việc làm cho dữ liệu có thể chuyển đổi được để tính toán, ví dụ: chọn, chia tỷ lệ và bù đắp dữ liệu để tính toán ban đầu có xu hướng thành công. Hay đây là một cái nhìn tổng quát hơn về các cung và cá (không có dữ liệu cụ thể để tính toán với 0?
Philip Oakley

1
Đây là một cái nhìn tổng quát hơn về các mức độ và mức độ chính quy. Các văn bản giới thiệu cho các phương pháp chính quy hóa (sườn núi, Lasso, Elasticnet, v.v.) mà tôi đã xem qua các ví dụ hồi quy tuyến tính được đề cập cụ thể. Không một ai đề cập cụ thể về hậu cần, do đó câu hỏi.
TAK

1
Logistic Regression là một dạng GLM sử dụng chức năng liên kết không nhận dạng, hầu hết mọi thứ đều được áp dụng.
Firebug

1
Bạn có vấp phải video của Andrew Ng về chủ đề này không?
Antoni Parellada 17/8/2016

Hồi quy sườn, lasso và hồi quy mạng đàn hồi là các tùy chọn phổ biến, nhưng chúng không phải là các tùy chọn chính quy duy nhất. Ví dụ, làm mịn ma trận sẽ xử phạt các hàm với các đạo hàm lớn thứ hai, do đó, tham số chính quy cho phép bạn "quay số" một hồi quy, đó là một sự thỏa hiệp tốt giữa dữ liệu phù hợp và quá mức. Như với hồi quy r sườn / lasso / đàn hồi, chúng cũng có thể được sử dụng với hồi quy logistic.
Phục hồi lại

Câu trả lời:


49

Có, Chính quy có thể được sử dụng trong tất cả các phương pháp tuyến tính, bao gồm cả hồi quy và phân loại. Tôi muốn cho bạn thấy rằng không có quá nhiều sự khác biệt giữa hồi quy và phân loại: sự khác biệt duy nhất là hàm mất mát.

Cụ thể, có ba thành phần chính của phương pháp tuyến tính, Hàm mất, Chính quy, Thuật toán . Trong đó hàm mất cộng với chính quy là hàm mục tiêu trong bài toán ở dạng tối ưu hóa và thuật toán là cách để giải quyết nó (hàm mục tiêu là lồi, chúng ta sẽ không thảo luận trong bài này).

Trong cài đặt hàm mất, chúng ta có thể có tổn thất khác nhau trong cả trường hợp hồi quy và phân loại. Ví dụ, bình phương nhỏ nhất và mất độ lệch tuyệt đối ít nhất có thể được sử dụng cho hồi quy. Và đại diện toán học của họ là L ( y , y ) = | Y - y | . (Chức năng L ( ) được xác định trên hai vô hướng, y là giá trị thực địa L(y^,y)=(y^y)2L(y^,y)=|y^y|L()y được dự đoán giá trị.)y^

Mặt khác, mất logistic và mất bản lề có thể được sử dụng để phân loại. Cơ quan đại diện toán học của họ là L ( y , y ) = ( 1 - y y ) + . (Ở đây, y là nhãn thực địa trong { - 1 , 1 }yL(y^,y)=log(1+exp(y^y))L(y^,y)=(1y^y)+y{1,1}y^được dự đoán "điểm số". Định nghĩa của y là một chút bất thường, xin vui lòng xem phần nhận xét.)y^

Trong cài đặt chính quy, bạn đã đề cập về chính quy hóa L1 và L2, cũng có các hình thức khác, sẽ không được thảo luận trong bài viết này.

Do đó, ở mức độ cao, một phương pháp tuyến tính là

minimizew   x,yL(wx,y)+λh(w)

Nếu bạn thay thế hàm Mất từ ​​cài đặt hồi quy thành mất logistic, bạn sẽ có hồi quy logistic bằng chính quy.

Ví dụ, trong hồi quy sườn, vấn đề tối ưu hóa là

minimizew   x,y(wxy)2+λww

Nếu bạn thay thế hàm mất bằng mất logistic, vấn đề sẽ trở thành

minimizew   x,ylog(1+exp(wxy))+λww

Ở đây bạn có hồi quy logistic với chính quy L2.


Đây là cách nó trông giống như trong một bộ dữ liệu nhị phân tổng hợp đồ chơi. Hình bên trái là dữ liệu với mô hình tuyến tính (ranh giới quyết định). Hình bên phải là đường viền hàm mục tiêu (trục x và y đại diện cho các giá trị cho 2 tham số.). Tập dữ liệu được tạo từ hai Gaussian và chúng ta khớp với mô hình hồi quy logistic mà không bị chặn, do đó chỉ có hai tham số chúng ta có thể hình dung trong hình bên phải.

Các đường màu xanh là hồi quy logistic mà không cần chính quy và các đường màu đen là hồi quy logistic với chính quy L2. Các điểm màu xanh và đen trong hình bên phải là các tham số tối ưu cho hàm mục tiêu.

Trong thí nghiệm này, chúng tôi đặt một lớn , vì vậy bạn có thể thấy hai hệ số là gần 0 . Ngoài ra, từ đường viền, chúng ta có thể quan sát thuật ngữ chính quy bị chi phối và toàn bộ chức năng giống như một bát bậc hai.λ0

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

Đây là một ví dụ khác với chính quy L1.

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

Lưu ý rằng, mục đích của thí nghiệm này là cố gắng chỉ ra cách hoạt động của chính quy hóa trong hồi quy logistic, nhưng không tranh luận mô hình chính quy là tốt hơn.


Dưới đây là một số hình ảnh động về chính quy hóa L1 và L2 và cách nó ảnh hưởng đến mục tiêu mất logistic. Trong mỗi khung hình, danh hiệu cho thấy các loại quy tắc và , cốt truyện là hàm mục tiêu (logistic mất + regularization) đường viền. Chúng tôi tăng tham số quy tắc λ trong mỗi khung hình và các giải pháp tối ưu sẽ giảm xuống mức 0 khung hình.λλ0

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


Một số ý kiến ​​ký hiệu. x là các vectơ cột, y là vô hướng. Vì vậy, các mô hình tuyến tính y = f ( x ) = w x . Nếu chúng tôi muốn bao gồm thuật ngữ chặn, chúng tôi có thể nối thêm 1 dưới dạng cột vào dữ liệu.wxyy^=f(x)=wx1

yy{1,1}

y^=wxy^yy^=wx{1,1}y^

y{0,1}

Các mã có thể được tìm thấy trong câu trả lời khác của tôi ở đây.

Có bất kỳ lời giải thích trực quan về lý do tại sao hồi quy logistic sẽ không hoạt động cho trường hợp tách hoàn hảo? Và tại sao thêm chính quy sẽ sửa chữa nó?


4
wTxf(x)

Cảm ơn câu trả lời @ hxd1011, bạn có thể giải thích những gì các đường màu đen thể hiện trong biểu đồ đường viền không? Nói chính xác hơn, tôi biết rằng (như bạn đã giải thích) trục x và y hiển thị 2 tham số chúng ta sử dụng. Nhưng những gì về các dòng rắn và số của chúng như 8000, 10000, 12000. Cảm ơn!
Jespar


12

l(β)=l(β)+12ln|i(β)|
i(β)=1nipi(1pi)xixi{(yi,xi)={(1,1),(0,0)}danh nghĩa sẽ tạo ra ước tính ML vô hạn, và glmtrong Rvẫn còn nhạy cảm với vấn đề này, tôi tin.

1
Có, bạn có thể sử dụng gói R logistf hoặc brglm cho việc này! Có lẽ đáng nói đến ...
Tom Wenseleers

i(β)

Thật là chậm một cách đau đớn, thực sự, @appletree
StasK

h/21/2

6

Vâng, nó được áp dụng cho hồi quy logistic. Trong R, sử dụng glmnet, bạn chỉ cần xác định họ thích hợp là "nhị thức" cho hồi quy logistic. Có một vài thứ khác (độc, đa quốc gia, v.v.) mà bạn có thể chỉ định tùy thuộc vào dữ liệu của bạn và vấn đề bạn đang giải quyết.


Nhược điểm của việc chỉ sử dụng glmnet cho việc này là cách tiếp cận đó sẽ không cung cấp cho bạn mức ý nghĩa. Nếu bạn quan tâm đến những thứ đó, thì gói R logistf hoặc brglm sẽ là cách tốt hơn để đi ...
Tom Wenseleers

@TomWenseleers cũng có các phương pháp để bootstrapping glmnet để có được giá trị p. Tuy nhiên, nó là một chút phức tạp như bootstrap "thường xuyên" không làm việc cho hệ số Lasso
Godspeed

Cảm ơn vì đã cho tôi biết về điều đó, tôi cũng đã thấy những người khác đề cập đến điều này, ví dụ như ở đây: stats.stackexchange.com/questions/34859/ , nhưng dường như không thể tìm thấy bất cứ điều gì được thực hiện trong gói R. Bạn sẽ có bất kỳ con trỏ? Hoặc văn học tiểu học tốt về điều này? Nhược điểm của bootstrapping cũng là nó thường sẽ rất chậm đối với các bộ dữ liệu lớn ...
Tom Wenseleers

Bạn có đang đề cập đến các phương thức như các phương thức được triển khai trong gói R hdi, cran.r-project.org/web/packages/hdi/index.html ?
Tom Wenseleers
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.