Hàm mất nào là đúng cho hồi quy logistic?


31

Tôi đọc về hai phiên bản của hàm mất cho hồi quy logistic, phiên bản nào là đúng và tại sao?

  1. Từ Machine Learning , Zhou ZH (bằng tiếng Trung Quốc), với :β=(w,b) and βTx=wTx+b

    (1)l(β)=i=1m(yiβTxi+ln(1+eβTxi))

  2. Từ khóa học đại học của tôi, với :zi=yif(xi)=yi(wTxi+b)

    (2)L(zi)=log(1+ezi)


Tôi biết rằng cái đầu tiên là sự tích lũy của tất cả các mẫu và mẫu thứ hai là cho một mẫu duy nhất, nhưng tôi tò mò hơn về sự khác biệt trong hình thức của hai hàm mất. Bằng cách nào đó tôi có cảm giác rằng chúng là tương đương.

Câu trả lời:


31

Mối quan hệ như sau: .l(β)=iL(zi)

Xác định hàm logistic là . Họ sở hữu tài sản mà f (-z) = 1-f (z) . Hay nói cách khác:f(z)=ez1+ez=11+ezf(z)=1f(z)

11+ez=ez1+ez.

Nếu bạn có sự đối ứng của cả hai bên, thì hãy lấy nhật ký bạn nhận được:

ln(1+ez)=ln(1+ez)+z.

Trừ z từ cả hai phía và bạn sẽ thấy điều này:

yiβTxi+ln(1+eyiβTxi)=L(zi).

Chỉnh sửa:

Hiện tại tôi đang đọc lại câu trả lời này và bối rối về cách tôi có để bằng với . Có lẽ có một lỗi đánh máy trong câu hỏi ban đầu.- y i β T x i + l n ( 1 + e y i β T x i )yiβTxi+ln(1+eβTxi)yiβTxi+ln(1+eyiβTxi)

Chỉnh sửa 2:

Trong trường hợp không có lỗi đánh máy trong câu hỏi ban đầu, @ManelMorales có vẻ đúng để thu hút sự chú ý đến thực tế rằng, khi , hàm khối lượng xác suất có thể được viết là , do thuộc tính mà . Tôi đang viết lại nó ở đây một cách khác biệt, bởi vì anh ấy giới thiệu một sự tương đương mới trên ký hiệu . Phần còn lại theo sau bằng cách lấy khả năng log âm cho mỗi mã . Xem câu trả lời của anh ấy dưới đây để biết thêm chi tiết.P ( Y i = y i ) = f ( y i β T x i ) f ( - z ) = 1 - f ( z ) z i yy{1,1}P(Yi=yi)=f(yiβTxi)f(z)=1f(z)ziy


42

OP nhầm tưởng mối quan hệ giữa hai chức năng này là do số lượng mẫu (tức là đơn so với tất cả). Tuy nhiên, sự khác biệt thực tế chỉ đơn giản là cách chúng tôi chọn nhãn đào tạo của mình.

Trong trường hợp phân loại nhị phân, chúng tôi có thể gán nhãn hoặc .y=±1y=0,1

Như đã nói, hàm logistic là một lựa chọn tốt vì nó có dạng xác suất, tức là và là . Nếu chúng tôi chọn nhãn chúng tôi có thể chỉ định σ(z)σ(z)=1σ(z)σ(z)(0,1)z±y=0,1

P(y=1|z)=σ(z)=11+ezP(y=0|z)=1σ(z)=11+ez

có thể được viết gọn hơn là .P(y|z)=σ(z)y(1σ(z))1y

Nó là dễ dàng hơn để tối đa hóa khả năng đăng nhập. Tối đa hóa khả năng đăng nhập cũng giống như giảm thiểu khả năng đăng nhập tiêu cực. Đối với mẫu , sau khi lấy logarit tự nhiên và một số đơn giản hóa, chúng ta sẽ tìm ra:m{xi,yi}

l(z)=log(imP(yi|zi))=imlog(P(yi|zi))=imyizi+log(1+ezi)

Dẫn xuất đầy đủ và thông tin bổ sung có thể được tìm thấy trên máy tính xách tay jupyter này . Mặt khác, thay vào đó, chúng tôi có thể đã sử dụng các nhãn . Đó là khá rõ ràng sau đó chúng ta có thể chỉ địnhy=±1

P(y|z)=σ(yz).

Rõ ràng là . Thực hiện theo các bước tương tự như trước khi chúng tôi giảm thiểu trong trường hợp này là hàm mấtP(y=0|z)=P(y=1|z)=σ(z)

L(z)=log(jmP(yj|zj))=jmlog(P(yj|zj))=jmlog(1+eyzj)

Trường hợp bước cuối cùng tiếp theo sau khi chúng ta thực hiện đối ứng được gây ra bởi dấu âm. Mặc dù chúng ta không nên đánh đồng hai hình thức này, vì trong mỗi hình thức có các giá trị khác nhau, tuy nhiên hai hình thức này là tương đương:y

yizi+log(1+ezi)log(1+eyzj)

Trường hợp là tầm thường để hiển thị. Nếu , thì ở phía bên tay trái và ở phía bên tay phải.yi=1yi1yi=0yi=1

Mặc dù có thể có những lý do cơ bản là tại sao chúng ta có hai hình thức khác nhau (xem Tại sao có hai công thức / ký hiệu mất logistic khác nhau? ), Một lý do để chọn hình thức trước là để xem xét thực tế. Trước đây, chúng ta có thể sử dụng thuộc tính để tính toán tầm thường và , cả hai đều cần thiết cho phân tích hội tụ (nghĩa là để xác định độ lồi của hàm mất bằng cách tính Hessian ).σ(z)/z=σ(z)(1σ(z))l(z)2l(z)


Là hàm mất logistic lồi?
dùng85361

2
Nhật ký reg IS lồi, nhưng không -convex. Do đó, chúng ta không thể đặt một giới hạn về độ dài của độ dốc để hội tụ. Chúng ta có thể điều chỉnh dạng để làm cho nó lồi mạnh bằng cách thêm một thuật ngữ chính quy: với hằng số dương xác định hàm mới của chúng ta là st là lồi và bây giờ chúng ta có thể chứng minh sự hội tụ giới hạn của . Thật không may, bây giờ chúng tôi đang giảm thiểu một chức năng khác! May mắn thay, chúng ta có thể chỉ ra rằng giá trị tối ưu của hàm chính quy gần với giá trị tối ưu của giá trị gốc. α l λ l ' ( z ) = l ( z ) + λ z 2 l ' ( z ) λ l 'l(z)αlλl(z)=l(z)+λz2l(z)λl
Manuel Morales

Cuốn sổ mà bạn giới thiệu đã biến mất, tôi có một bằng chứng khác: statlect.com/fundamentals-of-statistic/ mẹo
Domi.Zhang

2
Tôi thấy đây là câu trả lời hữu ích nhất.
mohit6up

@ManuelMorales Bạn có liên kết đến giá trị tối ưu của hàm được chuẩn hóa gần với giá trị ban đầu không?
Đánh dấu

19

Tôi đã học được hàm mất cho hồi quy logistic như sau.

Hồi quy logistic thực hiện phân loại nhị phân, và do đó, đầu ra nhãn là nhị phân, 0 hoặc 1. Đặt là xác suất mà đầu ra nhị phân là 1 với vectơ đặc trưng đầu vào . Các hệ số là các trọng số mà thuật toán đang cố gắng học.y x wP(y=1|x)yxw

P(y=1|x)=11+ewTx

Vì hồi quy logistic là nhị phân, xác suất chỉ đơn giản là 1 trừ đi thuật ngữ trên.P(y=0|x)

P(y=0|x)=111+ewTx

Hàm mất là tổng của (A) đầu ra nhân với và (B) đầu ra nhân với cho một ví dụ đào tạo, được tính tổng trên ví dụ đào tạo.y = 1 P ( y = 1 ) y = 0 P ( y = 0 ) mJ(w)y=1P(y=1)y=0P(y=0)m

J(w)=i=1my(i)logP(y=1)+(1y(i))logP(y=0)

trong đó chỉ ra nhãn trong dữ liệu đào tạo của bạn. Nếu một trường hợp đào tạo có nhãn là , thì , để lại vị trí triệu hồi bên trái nhưng thực hiện triệu hồi bên phải với trở thành . Mặt khác, nếu một thể hiện đào tạo có , thì triệu hồi bên phải với thuật ngữ vẫn giữ nguyên, nhưng triệu hồi bên trái trở thành . Nhật ký xác suất được sử dụng để dễ tính toán.y(i)ith1y(i)=11y(i)0y=01y(i)0

Nếu sau đó chúng ta thay thế và bằng các biểu thức trước đó, thì chúng ta nhận được:P(y=1)P(y=0)

J(w)=i=1my(i)log(11+ewTx)+(1y(i))log(111+ewTx)

Bạn có thể đọc thêm về hình thức này trong các ghi chú bài giảng Stanford .


Câu trả lời này cũng cung cấp một số quan điểm liên quan ở đây.
GeoMatt22

6
Biểu thức bạn có không phải là mất mát (được giảm thiểu), mà là khả năng đăng nhập (được tối đa hóa).
xenocyon

2
@xenocyon đúng - công thức tương tự này thường được viết với một dấu âm được áp dụng cho tổng kết đầy đủ.
Alex Klibisz

1

Thay vì Lỗi bình phương trung bình, chúng tôi sử dụng hàm chi phí được gọi là Cross-Entropy, còn được gọi là Mất nhật ký. Mất mát entropy chéo có thể được chia thành hai hàm chi phí riêng biệt: một cho y = 1 và một cho y = 0.

j(θ)=1mi=1mCost(hθ(x(i)),y(i))Cost(hθ(x),y)=log(hθ(x))if y=1Cost(hθ(x),y)=log(1hθ(x))if y=0

Khi chúng ta đặt chúng lại với nhau, chúng ta có:

j(θ)=1mi=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x)(i))]

Nhân và trong phương trình trên là một mẹo lén lút cho phép chúng ta sử dụng cùng một phương trình để giải cho cả hai trường hợp và . Nếu , bên thứ nhất hủy bỏ. Nếu , bên thứ hai hủy bỏ. Trong cả hai trường hợp, chúng tôi chỉ thực hiện thao tác chúng tôi cần thực hiện.y(1y)y=1y=0y=0y=1

Nếu bạn không muốn sử dụng một forvòng lặp, bạn có thể thử một dạng vectơ của phương trình trên

h=g(Xθ)J(θ)=1m(yTlog(h)(1y)Tlog(1h))

Toàn bộ lời giải thích có thể được xem trên Machine Learning Chcoateet .

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.