przypomnij sobie, że regresja logistyczna wytwarza dziesiętne wartości pomiędzy 0 i 1.0. Na przykład wynik regresji logistycznej wynoszący 0,8 z klasyfikatora wiadomości e-mail sugeruje 80% szans, że anemail jest spamem, a 20% szans, że nie jest spamem. Oczywiście suma prawdopodobieństwa, że e-mail jest spamem lub nie jest spamem wynosi 1.0.
Softmax rozszerza ten pomysł na świat wielopoziomowy. Oznacza to, że Softmax przypisuje prawdopodobieństwa dziesiętne każdej klasie w problemie wieloplatformowym.Te prawdopodobieństwa dziesiętne muszą sumować się do 1.0. To dodatkowe ograniczenie w szkoleniu PSP przebiega szybciej niż w innym przypadku.
na przykład, wracając do analizy obrazu, którą widzieliśmy na rysunku 1, Softmaxmight tworzy następujące podobieństwa obrazu należącego do klasy aparticular:
Klasa | prawdopodobieństwo |
---|---|
Apple | 0.001 |
niedźwiedź | 0.04 |
cukierki | 0.008 |
pies | 0.95 |
jajo | 0.001 |
SoftMax jest zaimplementowany przez warstwę sieci neuronowej tuż przed warstwą wyjściową. Warstwa Softmax musi mieć taką samą liczbę węzłów jak warstwa wyjściowa.
Rysunek 2. Warstwa Softmax w sieci neuronowej.
kliknij ikonę plusa, aby zobaczyć równanie Softmax.
równanie Softmax wygląda następująco:
zauważ, że ta formuła zasadniczo rozszerza formułę logisticregression na wiele klas.
opcje Softmax
rozważ następujące warianty Softmax:
-
Pełny Softmax to Softmax, o którym rozmawialiśmy; oznacza to, że Softmax oblicza prawdopodobieństwo dla każdej możliwej klasy.
-
próbkowanie kandydatów oznacza, że Softmax oblicza prawdopodobieństwo dla wszystkich pozytywnych etykiet, ale tylko dla losowej próbki etykiet. Na przykład, jeśli jesteśmy zainteresowani określeniem, czy obraz wejściowy to beagle czy bloodhound, nie mamy prawdopodobieństwa dla każdego przykładu Nie-psa.
Pełny Softmax jest dość tani, gdy liczba klas jest mała, ale staje się zbyt drogi, gdy liczba klas rośnie.Próbkowanie kandydatów może poprawić wydajność w problemach mających dużąliczba klas.
jedna etykieta vs.wiele etykiet
Softmax zakłada, że każdy przykład jest członkiem dokładnie jednej klasy.Niektóre przykłady mogą jednak być jednocześnie członkiem wielu klas.Dla takich przykładów:
- nie możesz używać Softmax.
- musisz polegać na wielu regresjach logistycznych.
Załóżmy na przykład, że twoje przykłady to obrazy zawierające dokładnie jeden element—każdy z owoców. Softmax może określić prawdopodobieństwo, że jeden itemjest gruszka, pomarańcza, jabłko, i tak dalej. Jeśli twoje przykłady są obrazami zawierającymi różnego rodzaju rzeczy-miseczki z różnymi rodzajami owoców-będziesz musiał zamiast tego użyć wielu regresji logistycznych.