Wcześniej napotkaliśmy klasyfikacja binarna modele, które mogą wybrać jedną z 2 możliwych opcji, na przykład to, czy:
- Dany e-mail jest spamem lub nie jest spamem.
- Dany guz jest złośliwy lub łagodny.
W tej sekcji przeanalizujemy, klasyfikacja wieloklasowa które mają wiele możliwości. Na przykład:
- Czy ten pies to beagle, basset czy hound?
- Czy to kwiat to irys syberyjski, irys niderlandzki, irys z Błękitnej Flagi, Czy krasnoludzkie irysy?
- Czy to jest samolot Boeing 747, Airbus 320, Boeing 777 lub Embraer 190?
- Czy to zdjęcie przedstawia jabłko, niedźwiedzia, słodycze, psa lub jajko?
Niektóre rzeczywiste problemy wieloklasowe wiążą się z wyborem spośród milionów w oddzielnych klasach. Weźmy na przykład klasyfikację wieloklasową który potrafi zidentyfikować obraz niemal wszystkiego.
W tej sekcji przedstawiamy 2 główne warianty klasyfikacji wieloklasowej:
- one-vs.-all
- one-vs.-one, czyli inaczej: softmax
Jedna czy wszystkie
Opcja One-vs.-all umożliwia zastosowanie klasyfikacji binarnej. dla serii prognoz „tak lub nie” w wielu możliwych etykietach.
Biorąc pod uwagę problem z klasyfikacją z N możliwymi rozwiązaniami, rozwiązanie: jeden kontra wszystko rozwiązanie składa się z N oddzielnych klasyfikatorów binarnych – jeden plik binarny dla każdego możliwego wyniku. Podczas trenowania model jest uruchamiany za pomocą sekwencji klasyfikatorów binarnych, które trenują każdy z nich pod kątem odpowiedzi pytanie klasyfikacyjne.
Na przykład na zdjęciu kawałka owocu cztery można wytrenować różne moduły rozpoznawania, które odpowiadają na inne pytania: tak/nie. pytanie:
- Czy na tym obrazie jest jabłko?
- Czy ten obraz jest pomarańczowy?
- Czy to zdjęcie przedstawia banana?
- Czy to zdjęcie przedstawia winogrona?
Poniższy obraz pokazuje, jak to działa w praktyce.
.Takie podejście jest dość rozsądne, gdy łączna liczba zajęć jest niewielka, ale staje się coraz bardziej nieefektywna wraz z liczbą klas rośnie.
Możemy stworzyć znacznie wydajniejszy model „jeden niż wszystkie”. z głęboką siecią neuronowej, w której każdy węzeł wyjściowy reprezentuje zajęcia. Ilustracja poniżej przedstawia to podejście.
Jeden czy jeden (softmax)
Jak widać, wartości prawdopodobieństwa w warstwie wyjściowej, na rys. 8 nie sumują się do 1,0 (lub 100%). (sumują się do 1, 43). Pojedynek jeden kontra wszystko to prawdopodobieństwo dla każdego zbioru binarnego jest określane niezależnie od pozostałych zbiorów. Określamy prawdopodobieństwo z „apple” a „nie jabłko” bez uwzględniania prawdopodobieństwa opcje owoców: „pomarańczowy”, „gruszka” i „winogrono”.
A co, jeśli chcemy przewidzieć prawdopodobieństwo wykorzystania poszczególnych owoców względem siebie? W tym przypadku zamiast wpisywać „jabłko” a „nie” chcemy przewidzieć „jabłko” a „pomarańczowy” a „gruszka” zamiast „winogrona”. Ten typ klasyfikacji wieloklasowej jest nazywany klasyfikacją jeden-vs.-jeden.
Możemy wdrożyć klasyfikację 1:1, używając tego samego typu architektura sieci używana do klasyfikacji „jednakowa” czy „wszystko” z jedną kluczową zmianą. Musimy zastosować inne przekształcenie do warstwy wyjściowej.
W przypadku porównania „jeden kontra wszystko” zastosowaliśmy funkcję aktywacji sigmoidalnej do każdego wyniku niezależnie od siebie, co daje wartość wyjściową między 0 a 1 dla każdego węzła, ale nie gwarantuje, że te wartości będą zsumowane dokładnie 1.
W przypadku wartości one-vs.-one możemy zamiast tego zastosować funkcję o nazwie softmax, która przypisuje prawdopodobieństwo dziesiętne każdej klasom w zadaniu wieloklasowym, tak aby wszystkie prawdopodobieństwa dają sumę 1,0. To dodatkowe ograniczenie i ułatwia naukę szybciej niż w innym przypadku.
Poniższy obraz ponownie implementuje klasyfikację „jedna (jedna” lub „wszystko) dla wielu klas” jako zadania 1:1. Pamiętaj, że aby wykonać funkcję softmax, musisz pamiętać, warstwa bezpośrednio poprzedzająca warstwę wyjściową (zwaną warstwą softmax), musi mieć tyle samo węzłów co warstwa wyjściowa.
Opcje softmax
Rozważ te warianty funkcji softmax:
Full softmax to funkcja softmax, którą omówiliśmy. czyli Funkcja softmax oblicza prawdopodobieństwo dla każdej możliwej klasy.
Próbkowanie kandydatów oznacza, że funkcja softmax oblicza prawdopodobieństwo. dla wszystkich etykiet pozytywnych, ale tylko dla losowej próbki etykiety negatywne. Na przykład, jeśli chcemy określić, niezależnie od tego, czy na obrazku jest beagle czy pies, podaj prawdopodobieństwo dla każdego przykładu, na którym nie jest pies.
Pełny softmax jest stosunkowo niedrogi, gdy liczba klas jest niewielka. ale staje się niesamowicie kosztowna ze względu na rosnącą liczbę klas. Próbkowanie kandydatów może poprawić wydajność rozwiązywania problemów z dużą liczbą liczby klas.
Jedna czy 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 zajęć. Oto przykłady:
- Nie można używać funkcji softmax.
- Musisz polegać na wielu regresjach logistycznych.
Na przykład model „1/1” na rys. 9 powyżej zakłada, że każde dane wejściowe obraz przedstawia dokładnie jeden rodzaj owocu: jabłko, pomarańczę, gruszkę lub winogrona. Jeśli jednak zdjęcie wejściowe może zawierać wiele rodzajów owoców – miska jabłek i pomarańczy, regresji.