Định nghĩa hàm softmax


8

Câu hỏi này tiếp theo trên stats.stackexchange.com/q/233658

Mô hình hồi quy logistic cho các lớp {0, 1} là

P(y=1|x)=exp(wTx)1+exp(wTx)P(y=0|x)=11+exp(wTx)

Rõ ràng các xác suất đó tổng bằng 1. Bằng cách đặt chúng tôi cũng có thể xác định hồi quy logistic làw=β1β0

P(y=c|x)=exp(βcTx)exp(β0Tx)+exp(β1Tx)c{0,1}

Tuy nhiên, định nghĩa thứ hai hiếm khi được sử dụng vì các hệ số và không phải là duy nhất. Nói cách khác, mô hình không thể xác định được, giống như hồi quy tuyến tính với hai biến là bội số của nhau.β0β1

Câu hỏi

Trong học máy, tại sao mô hình hồi quy softmax cho các lớp {0, 1, ..., K - 1} thường được định nghĩa như sau?

P(y=c|x)=exp(βcTx)exp(β0Tx)++exp(βK1Tx)c{0,,K1}

Thay vào đó không nên

P(y=c|x)=exp(wcTx)1+exp(w1Tx)++exp(wK1Tx)c{1,,K1}P(y=0|x)=11+exp(w1Tx)++exp(wK1Tx)

Lưu ý bên lề: Trong thống kê, hồi quy softmax được gọi là hồi quy logistic đa thức và các lớp là {1, ..., K}. Tôi thấy điều này hơi khó xử vì khi K = 2, các lớp là {1, 2} thay vì {0, 1} nên nó không chính xác là một khái quát của hồi quy logistic.


Có phải nó thường được định nghĩa theo cách đó? Bạn có thể chỉ đến một tài liệu tham khảo?
The Laconic

@TheLaconic Xem định nghĩa của softmax tại scikit-learn.org/urdy/modules/neural_networks_supervised.html và www.tensorflow.org/versions/r1.1/get_started/mnist/beginners
nông dân

ĐỒNG Ý. Tôi hỏi vì tôi chưa bao giờ thấy các mô hình hồi quy MNL được định nghĩa theo cách này. Nhưng rõ ràng đó là "thông thường" trong bối cảnh mạng lưới thần kinh - và bây giờ tôi có cùng một câu hỏi như bạn.
The Laconic

1
Tôi không chắc làm thế nào để trả lời câu hỏi "không nên là X". Định nghĩa đã cho là khác biệt và định nghĩa phân phối xác suất (tổng bằng 1). Có vẻ như đó là những phần quan trọng, vậy tại sao không phải là phần đó thay vì phần khác?
kbrose

@kbrose vì thiếu nhận dạng
Taylor

Câu trả lời:


2

Có, bạn đúng rằng thiếu sự nhận dạng trừ khi một trong các vectơ hệ số được cố định. Có một số lý do không đề cập đến điều này. Tôi không thể nói lý do tại sao họ bỏ qua chi tiết này, nhưng đây là một lời giải thích về nó là gì và cách khắc phục nó.

Sự miêu tả

Giả sử bạn có các quan sát và các dự đoán , trong đó đi từ đến và biểu thị số / chỉ số quan sát. Bạn sẽ cần phải ước tính chiều hệ số vectơ .yi{0,1,2,,K1}xiRpi1nK pβ0,β1,,βK1

Hàm softmax thực sự được định nghĩa là có các thuộc tính tốt như tính khác biệt, tổng của nó là , v.v.

softmax(z)i=exp(zi)l=0K1exp(zl),
1

Hồi quy logistic đa thức sử dụng hàm softmax cho mỗi lần quan sát trên vectơ i

[xiβ0xiβ1xiβK1,]

có nghĩa là

[P(yi=0)P(yi=1)P(yi=K1)]=[exp[xiβ0]k=0K1exp[xiβk]exp[xiβ1]k=0K1exp[xiβk]exp[xiβK1]k=0K1exp[xiβk]].

Vấn đề

Tuy nhiên, khả năng không thể xác định được vì nhiều bộ sưu tập tham số sẽ cho khả năng giống nhau. Ví dụ: dịch chuyển tất cả các vectơ hệ số theo cùng một vectơ sẽ tạo ra khả năng tương tự. Điều này có thể được nhìn thấy nếu bạn nhân từng tử số và mẫu số của từng phần tử của vectơ với hằng số , không có gì thay đổi:cexp[xic]

[exp[xiβ0]k=0K1exp[xiβk]exp[xiβ1]k=0K1exp[xiβk]exp[xiβK1]k=0K1exp[xiβk]]=[exp[xi(β0c)]k=0K1exp[xi(βkc)]exp[xi(β1c)]k=0K1exp[xi(βkc)]exp[xi(βK1c)]k=0K1exp[xi(βkc)]].

Sửa nó

Cách để khắc phục điều này là hạn chế các tham số. Sửa một trong số chúng sẽ dẫn đến nhận dạng, bởi vì thay đổi tất cả chúng sẽ không còn được phép.

Có hai lựa chọn phổ biến:

  • đặt , có nghĩa là (bạn đề cập đến cái này) vàc=β0β0=0
  • đặt , có nghĩa là .c=βK1βK1=0

Bỏ qua nó

Đôi khi, sự hạn chế không cần thiết, mặc dù. Chẳng hạn, nếu bạn quan tâm đến việc hình thành khoảng tin cậy cho số lượng , thì đây cũng giống như , vì vậy hãy suy luận về số lượng tương đối không thực sự quan trọng. Ngoài ra, nếu nhiệm vụ của bạn là dự đoán thay vì suy luận tham số, dự đoán của bạn sẽ không bị ảnh hưởng nếu tất cả các vectơ hệ số được ước tính (không ràng buộc một).β10β12β10c[β12c]

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.