Tại sao hàm softmax được sử dụng để tính xác suất mặc dù chúng ta có thể chia mỗi giá trị cho tổng của vectơ?


20

Áp dụng hàm softmax trên một vectơ sẽ tạo ra "xác suất" và các giá trị trong khoảng từ 0 đến 1 .

Nhưng chúng ta cũng có thể chia mỗi giá trị cho tổng của vectơ và điều đó sẽ tạo ra xác suất và giá trị trong khoảng từ 0 đến 1 .

Tôi đọc câu trả lời ở đây nhưng nó nói rằng lý do là vì nó khác biệt, mặc dù cả hai chức năng đều khác nhau.


1
Tôi nghĩ rằng nó tốt hơn nếu bạn lần đầu tiên nhìn vào hồi quy logistic. 'mục tiêu' của bạn là biến đổi đơn điệu thành (0,1). Đây là những gì chức năng logistic làm. Lưu ý rằng bất kỳ hàm phân phối tích lũy (xác suất) nào trên dòng thực cũng hoạt động - xem hồi quy probit sử dụng hàm phân phối bình thường. (,)
seanv507

Câu trả lời:


36

Hàm bạn đề xuất có một số ít bất cứ khi nào tổng của các phần tử bằng không.

Giả sử vector của bạn là [1,13,23]. Vectơ này có tổng bằng 0, do đó phép chia không được xác định. Các chức năng không phải là khác biệt ở đây.

Ngoài ra, nếu một hoặc nhiều phần tử của vectơ âm nhưng tổng không khác, kết quả của bạn không phải là xác suất.

Giả sử vectơ của bạn là [1,0,2] . Điều này có tổng bằng 1, do đó, việc áp dụng hàm của bạn dẫn đến [1,0,2] , đây không phải là vectơ xác suất vì nó có các phần tử âm và các phần tử vượt quá 1.

Nhìn rộng hơn, chúng ta có thể thúc đẩy hình thức cụ thể của hàm softmax từ góc độ mở rộng hồi quy logistic nhị phân cho trường hợp ba hoặc nhiều kết quả phân loại.

Làm những việc như lấy giá trị tuyệt đối hoặc hình vuông, như được đề xuất trong các nhận xét, có nghĩa là xx có cùng xác suất dự đoán; điều này có nghĩa là mô hình không được xác định . Ngược lại, exp(x) là đơn điệu và dương cho tất cả x thực , do đó, kết quả softmax là (1) một vectơ xác suất và (2) mô hình logistic đa thức được xác định.


Cảm ơn bạn rất nhiều. Chúng ta có thể giải quyết cả hai vấn đề bằng cách chia cho tổng các giá trị tuyệt đối, phải không?
floyd

2
Không. Điều gì xảy ra nếu bạn tính tổng các giá trị tuyệt đối của cả hai ví dụ của tôi và sau đó chia cho tổng đó?
Sycorax nói Phục hồi

xi2/sum(X2)

8
[0,0,0]

8
xi2/jxj2|xi|/j|xj|exp(x)

4

Softmax có hai thành phần:

  1. Chuyển đổi các thành phần thành e ^ x. Điều này cho phép mạng thần kinh hoạt động với xác suất logarit, thay vì xác suất thông thường. Điều này biến hoạt động chung của nhân xác suất thành phép cộng, điều này tự nhiên hơn nhiều đối với cấu trúc đại số tuyến tính của các mạng thần kinh.

  2. Bình thường hóa tổng của chúng thành 1, vì đó là tổng xác suất chúng ta cần.

Một hậu quả quan trọng của điều này là định lý của Bayes rất tự nhiên đối với một mạng như vậy, vì nó chỉ là phép nhân xác suất được chuẩn hóa bởi mẫu số.

Trường hợp tầm thường của mạng một lớp với kích hoạt softmax tương đương với hồi quy logistic.

Trường hợp đặc biệt của hai thành phần softmax tương đương với kích hoạt sigmoid, do đó phổ biến khi chỉ có hai lớp. Trong phân loại nhiều lớp, softmax được sử dụng nếu các lớp loại trừ lẫn nhau và sigmoid thành phần được sử dụng nếu chúng độc lập.

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.