Czy budowanie klasyfikatora wieloklasowego jest lepsze niż kilka binarnych?

18

Muszę podzielić adresy URL na kategorie. Powiedzmy, że mam 15 kategorii, do których planuję wyzerować każdy adres URL.

Czy 15-drożny klasyfikator jest lepszy? Gdzie mam 15 etykiet i generuję funkcje dla każdego punktu danych.

Lub budowanie 15 binarnych klasyfikatorów, powiedzmy: film lub nie-film, i użyj liczb, które otrzymuję z tych klasyfikacji, aby zbudować ranking, wybrać najlepszą kategorię, czy będzie lepiej?

madCode
źródło

Odpowiedzi:

12

Przede wszystkim musisz zadać sobie pytanie, czy twój problem jest wielopłaszczyznowy (tzn. Pojedynczy adres URL może należeć do kilku klas), czy nie (tj. Pojedynczy adres URL może należeć tylko do jednej klasy).

Jeśli to pierwsze, skorzystaj z baterii binarnych klasyfikatorów, ponieważ jest to domyślny sposób rozwiązywania problemów z wieloma etykietami.

Jeśli to drugie, odpowiedź zależy od kombinacji tego, jak wyglądają twoje dane, jaki jest cel twojej analizy i jakiej metody używasz - prawdopodobnie powinieneś po prostu wypróbować jedno i drugie i wybrać najlepiej.
Należy tylko pamiętać, że niektóre metody (np. SVM) nie mogą faktycznie dokonać klasyfikacji wieloklasowej ze względu na sposób ich zdefiniowania, a zatem wewnętrznie wykorzystują baterię klasyfikatorów binarnych.


źródło
moje stwierdzenie problemu dotyczy poprzedniego założenia @mbq. Wiem, że są multilabele. i tak, jak powiedziałeś, zdecydowałem się na 15 klasyfikatorów binarnych, ale znów muszę je uszeregować, aby wybrać jedną najlepszą kategorię. Spróbuję więc przeprowadzić kolejną klasyfikację najwyższego poziomu, używając liczb uzyskanych z baterii klasyfikatorów binarnych. Czy widzisz jakiś problem?
madCode
Maszyny SVM mogą przeprowadzać klasyfikację wieloklasową. Metoda jest bardzo podobna do regresji softmax (patrz „W sprawie algorytmicznej implementacji wieloklasowych maszyn wektorowych opartych na jądrze”).
user1149913,
4

Będzie to zależeć od sposobu rozproszenia danych. Jest piękny przykład, który został niedawno podany do podobnego pytania, w którym OP chciał wiedzieć, czy pojedyncza liniowa funkcja dyskryminacyjna byłaby lepszym klasyfikatorem do decydowania o populacji A względem B lub C, czy też ta oparta na wielu liniowych funkcjach dyskryminujących, które oddzielają A, B i C. Ktoś dał bardzo ładny kolorowy wykres rozrzutu, aby pokazać, jak użycie dwóch dyskryminatorów byłoby lepsze niż jeden w tym przypadku. Spróbuję link do tego.

Michael R. Chernick
źródło
Wytrzymać. Mam problem ze znalezieniem go, ale będę szukał dalej.
Michael R. Chernick
Przepraszamy za brak możliwości znalezienia linku. Wyobraź sobie obłok jednego koloru po lewej, drugi pośrodku i trzeci po prawej. Dwie liniowe linie dyskryminujące dobrze oddzieliłyby grupę środkową od lewej i prawej, ale żadna pojedyncza linia nie poradziłaby sobie wcale dobrze. Obraz byłby wart więcej niż wszystkie te słowa.
Michael R. Chernick
1
@MichaelChernick Czy to jest link, którego szukasz?
Myślę, że rozumiem, co mówisz: bit.ly/M1NydS - obraz, który zdefiniowałeś, natknąłem się na tę prezentację. Klasyfikacja czterokierunkowa lub trójdrożna ... może być bezpośrednia. Ale .. Zastanawiam się, czy precyzja / wycofanie zostałyby zagrożone, gdyby dokonano klasyfikacji w 15 kierunkach, dr. Chernick.
madCode
@Procrastinator Dziękujemy za znalezienie tego. Miałem tak dużo problemów ze znalezieniem go i spędzałem dużo czasu na szukaniu! To był ostatni post, więc pomyślałem, że łatwo będzie go znaleźć.
Michael R. Chernick
1

Niektóre metody radzą sobie dobrze na przykład z wieloklasowymi, losowymi lasami i MLP.

Jeśli nie chcesz iść w tym kierunku, możliwe, że ESK może wykonać 1-vs-All dla twojego problemu, tylko testy pokażą.

image_doctor
źródło