Dlaczego funkcja softmax jest używana do obliczania prawdopodobieństw, chociaż każdą wartość możemy podzielić przez sumę wektora?

20

Zastosowanie funkcji softmax na wektorze spowoduje „prawdopodobieństwa” i wartości od do . 01

Ale możemy również podzielić każdą wartość przez sumę wektora, co da prawdopodobieństwa i wartości od do .01

Przeczytałem tutaj odpowiedź , ale mówi ona, że ​​powodem jest to, że jest różniczkowalna, chociaż obie funkcje są różniczkowalne.

Floyd
źródło
1
Myślę, że lepiej, jeśli spojrzysz najpierw na regresję logistyczną. twoim „celem” jest monotoniczna transformacja do (0,1). Tak właśnie działa funkcja logistyczna. Zauważ, że każda funkcja rozkładu skumulowanego (prawdopodobieństwa) na linii rzeczywistej również działa - patrz regresja probit, która używa normalnej funkcji rozkładu. (,)
seanv507

Odpowiedzi:

36

Proponowana funkcja ma osobliwość, ilekroć suma elementów wynosi zero.

Załóżmy, że twój wektor to [1,13,23] . Ten wektor ma sumę 0, więc podział nie jest zdefiniowany. Funkcja nie jest tutaj rozróżnialna.

Dodatkowo, jeśli jeden lub więcej elementów wektora jest ujemnych, ale suma jest niezerowa, wynik nie jest prawdopodobieństwem.

Załóżmy, że twój wektor to [1,0,2] . Ma to sumę 1, więc zastosowanie tej funkcji powoduje [1,0,2] , co nie jest wektorem prawdopodobieństwa, ponieważ zawiera elementy ujemne i elementy przekraczające 1.

Patrząc szerzej, możemy motywować określoną formę funkcji softmax z perspektywy rozszerzenia binarnej regresji logistycznej na przypadek trzech lub więcej kategorycznych wyników.

Robienie rzeczy takich jak przyjmowanie wartości bezwzględnych lub kwadratów, jak sugerowano w komentarzach, oznacza, że i mają takie samo przewidywane prawdopodobieństwo; oznacza to, że model nie został zidentyfikowany . Natomiast jest monotoniczny i dodatni dla wszystkich rzeczywistych , więc wynikiem softmax jest (1) wektor prawdopodobieństwa i (2) zidentyfikowany jest wielomianowy model logistyczny.xxexp ( x ) xexp(x)x

Sycorax mówi Przywróć Monikę
źródło
Dziękuję bardzo. Oba problemy możemy rozwiązać, dzieląc przez sumę wartości bezwzględnych, prawda?
floyd
2
Nie. Co się stanie, jeśli zsumujesz wartości bezwzględne obu moich przykładów, a następnie podzielisz przez tę sumę?
Sycorax mówi Przywróć Monikę
Naprawdę dziękuję. Teraz rozumiem. ale możemy rozwiązać ten problem, biorąc wartość bezwzględną licznika lub obliczając dla każdej wartości w wektorze. Nie próbuję być uparty, po prostu dziwne jest, że ludzie wymyślili złożoną funkcję, chociaż istnieją prostsze metody obliczania prawdopodobieństw. Nie znam dużo matematyki, więc może są inne właściwości matematycznexi2/sum(X2)
Floyd
8
Twoja propozycja wciąż się nie udaje dla . Dodatkowe powody, dla których funkcja softmax dotyczy jej właściwości jako uogólnienia binarnej regresji logistycznej w przypadku wielu wyników. Mamy wiele wątków na ten temat, takich jak stats.stackexchange.com/questions/349418/...[0,0,0]
Sycorax mówi Przywróć Monikę
8
Oprócz punktu , zastosowanie lubnie ma pożądanej właściwości, że zmniejszenie elementu wektora zawsze zmniejszy jego udział prawdopodobieństwa. Zmniejszenie elementów ujemnych zwiększyłoby ich wkład. ma ładną właściwość, że jego wynik jest dodatni dla wszystkich rzeczywistych danych wejściowych i jest monotoniczny w całej linii rzeczywistej. | x i | / j | x j | exp ( x )xi2/jxj2|xi|/j|xj|exp(x)
Bridgeburners
4

Softmax ma dwa składniki:

  1. Przekształć komponenty na e ^ x. Dzięki temu sieć neuronowa może pracować z prawdopodobieństwami logarytmicznymi, a nie zwykłymi. To zamienia zwykłą operację mnożenia prawdopodobieństw na dodawanie, co jest o wiele bardziej naturalne dla opartej na algebrze liniowej struktury sieci neuronowych.

  2. Normalizuj ich sumę do 1, ponieważ jest to całkowite prawdopodobieństwo, którego potrzebujemy.

Ważną tego konsekwencją jest to, że twierdzenie Bayesa jest bardzo naturalne dla takiej sieci, ponieważ jest to po prostu zwielokrotnienie prawdopodobieństw znormalizowanych przez mianownik.

Trywialny przypadek sieci jednowarstwowej z aktywacją softmax jest równoważny regresji logistycznej.

Specjalny przypadek dwuskładnikowego softmax jest równoważny aktywacji sigmoidalnej, która jest popularna, gdy istnieją tylko dwie klasy. W klasyfikacji wielu klas softmax jest stosowany, jeśli klasy wzajemnie się wykluczają, a jeśli chodzi o niezależność, stosuje się sigmoid pod względem składowym.

CodesInChaos
źródło