Przede wszystkim, jak już wyjaśnił @Marc Claesen, półnadzorowana klasyfikacja jest jedną z technik, które pozwalają zająć się sytuacją, w której wiadomo, że klasy są naprawdę odrębne, ale nie masz pewności, do której klasy faktycznie należy sprawa.
Istnieją jednak również powiązane sytuacje, w których „rzeczywistość” nie jest tak jasna, a założenie posiadania naprawdę odrębnych klas nie jest spełnione: przypadki graniczne mogą być rzeczywistością „fizyczną” (patrz poniżej artykuły na temat aplikacji gdzie spełniliśmy taki warunek).
Jest jedno kluczowe założenie dla półnadzorowanych klasyfikatorów , które musisz upewnić się, że jest spełnione: założenie, że w przestrzeni cech granice klas towarzyszą niskiej gęstości próbki . Jest to określane jako założenie klastra.
Nawet jeśli rzeczywistość leżąca u podstaw twoich danych ma odrębne klasy, twój zestaw danych może mieć nieproporcjonalnie więcej przypadków granicznych: np. Jeśli twoja technika klasyfikacji ma na celu klasyfikację trudnych przypadków, podczas gdy jasne i łatwe przypadki nie są interesujące i już twoje dane treningowe odzwierciedlają to sytuacja.
biorąc tylko „pewne” klasyfikacje na szkolenie? Obawiam się, że w tym przypadku będzie więcej błędnych klasyfikacji, ponieważ przypadki „graniczne” nie są objęte.
W pełni się z tobą zgadzam, że wykluczenie przypadków granicznych jest często złym pomysłem: usunięcie wszystkich trudnych przypadków kończy się sztucznie łatwym problemem. IMHO jest nawet gorsze, że wykluczenie przypadków granicznych zwykle nie kończy się na szkoleniu modeli, ale przypadki graniczne są również wykluczone z testowania, dlatego testowanie modelu odbywa się tylko w przypadkach łatwych. Dzięki temu nawet nie zdajesz sobie sprawy, że model nie działa dobrze w przypadkach granicznych.
Oto dwa artykuły, które napisaliśmy o problemie różniącym się od twojego tym, że w naszej aplikacji również rzeczywistość może mieć „mieszane” klasy (bardziej ogólna wersja twojego problemu: obejmuje to również niepewność w etykietach referencyjnych).
- Aplikacja: diagnostyka nowotworów mózgu. Zastosowaliśmy regresję logistyczną. Modelowanie częściowo nadzorowane nie było właściwe, ponieważ nie możemy założyć niskiej gęstości próbki na granicach klas.
C. Beleites, K. Geiger, M. Kirsch, SB Sobottka, G. Schackert i R. Salzer: Ramanowa spektroskopowa ocena tkanek gwiaździaka: przy użyciu miękkich informacji odniesienia, Anal. Bioanal. Chem., 400 (2011), 2801 - 2816.
- Artykuł teoretyczny określający ogólne ramy pomiaru wyników klasyfikatora w przypadkach granicznych.
C. Beleites, R. Salzer i V. Sergo:
Walidacja miękkich modeli klasyfikacji przy użyciu członkostwa w klasie częściowej: Rozszerzona koncepcja wrażliwości i spółka zastosowana do klasyfikacji Astrocytoma Tissues
Chemom. Intel. Laboratorium. Syst., 122 (2013), 12–22.
Łącza prowadzą do strony projektu pakietu R, który opracowałem w celu wykonania obliczeń wydajności. Istnieją dalsze linki zarówno do oficjalnej strony internetowej, jak i do moich manuskryptów artykułów. A ja nie był używany dotychczas WEKA, rozumiem, że interfejs do R jest dostępny .
względy praktyczne:
- Chociaż podejście „kopiuj i etykietuj” jest proste, nie działa dobrze ze wszystkimi klasyfikatorami i implementacjami w praktyce. Np. AFAIK nie ma sposobu, aby powiedzieć
libSVM
tuningowi przez walidację krzyżową, że wszystkie kopie każdego punktu danych muszą być przechowywane w tej samej krotnie walidacji krzyżowej. W ten sposób libSVM
strojenie prawdopodobnie spowodowałoby masywne dopasowanie modelu.
- Również w przypadku regresji logistycznej zauważyłem, że wiele implementacji nie pozwoliło na częściowe etykiety członkostwa, których potrzebowałem.
- Implementacja, której użyłem w powyższych dokumentach, jest w rzeczywistości ANN bez ukrytej warstwy, używając logistyki jako sigmoidalnej funkcji link (
nnet::multinom
).