Podręcznik

2. Metody oceny jakości rozwiązań

2.3. Metody poprawy jakości klasyfikatora

Dla uzyskania poprawy jakości rozwiązania klasyfikatora rozpoznającego dwie klasy o niezrównoważonej liczebności można stosować różne metody. Do najbardziej znanych należy zróżnicowanie kosztu błędnych klasyfikacji odpowiadających różnym rodzajom błędu, metody równoważenia klas, specjalne metody kodowania klas, czy stosowanie zespołu klasyfikatorów omówione w rozdziale poprzednim.

12.3.1 Metoda różnicowania kosztu błędnej klasyfikacji

Dla uzyskania lepszych miar jakości przy rozpoznawaniu elementów klasy rzadkiej można zastosować w uczeniu funkcję kary uwzględniającą koszt złego rozpoznania elementów tej klasy [58]. Niech K_{ij} oznacza koszt związany z błędnym rozpoznaniem przez model klasyfikatora klasy i-tej jako klasa j-ta. Jednocześnie można nagradzać klasyfikator za poprawną klasyfikację poprzez przyjęcie wartości ujemnej wagi dla kosztu K_{ij}. Przy oznaczeniu klasy rzadkiej symbolem + a klasy większościowej symbolem – i uwzględnieniu przyjętych oznaczeń jak w tabeli 12.2 całkowity koszt klasyfikacji przy użyciu modelu M można wyrazić wzorem [65]


 K_c(M)=TP \times K_{TP}+FP \times K_{FP}+FN \times K_{FN}+TN \times K_{TN} (12.24)

Zauważmy, że przyjęcie standardowych wartości K_{TP}=K_{TN}=0 oraz K_{FP}=K_{FN}=1 oznacza klasyczne podejście do oceny jakości (równa kara za oba rodzaje błędów i brak nagrody za poprawną klasyfikację), gdyż


 K_c(M)=(TP+TN) \times 0+(FN+FP) \times 1=FN+FP (12.25)


Funkcja kary jest w tym przypadku równa liczbie błędnych klasyfikacji. Dla zilustrowania wpływu doboru wartości wag elementów kosztu na ocenę modelu klasyfikatora przyjmijmy wartości tych wag jak niżej:

K_{TP}=0

K_{FP}=1

K_{FN}=100

K_{TN}=0

W przyjętej definicji funkcji kary zakwalifikowanie błędne klasy rzadkiej do większościowej jest karane 100-krotnie bardziej niż przypadek fałszywego alarmu (zakwalifikowanie rekordu należącego do klasy większościowej jako rekordu klasy rzadkiej).

Rozważmy dla porównania dwa przypadki wyników odpowiadające dwu modelom klasyfikatora M_1 oraz M_2 jak przedstawiono w tabelach 12.7 oraz 12.8.


Tabela 12.7 Wyniki klasyfikacji przy użyciu modelu M_1

Model M1

Klasa +

Klasa –

Klasa +

200 (TP)

60 (FN)

Klasa –

50 (FP)

300 (TN)


Tabela 12.8 Wyniki klasyfikacji przy użyciu modelu M_2

Model M2

Klasa +

Klasa –

Klasa +

180 (TP)

80 (FN)

Klasa –

5 (FP)

345 (TN)


W przypadku klasycznej definicji kosztów klasyfikacji (oba rodzaje błędów traktowane z jednakową wagą równą 1) otrzymuje się

 K_c\left(\mathrm{M}_1\right)=200 \times 0+60 \times 1+50 \times 1+300 \times 0=110

 K_c\left(\mathrm{M}_2\right)=180 \times 0+80 \times 1+5 \times 1+345 \times 0=85


Lepszym klasyfikatorem jest tutaj model M_2, gdyż jego funkcja kosztu jest mniejsza.

Koszty całkowite w przypadku przyjętego różnicowania wag błędnych klasyfikacji wynoszą

 K_c\left(\mathrm{M}_1\right)=200 \times 0+100 \times 60+50 \times 1+300 \times 0=6050

 K_c\left(\mathrm{M}_2\right)=180 \times 0+80 \times 100+5 \times 1+345 \times 0=8005


Tym razem lepszym klasyfikatorem okazał się model M_1, gdyż wartość kosztu klasyfikacji z nim skojarzona jest mniejsza.

Zmodyfikowana metoda obliczania kosztu błędnej klasyfikacji może posłużyć odpowiedniemu zaprojektowaniu klasyfikatora. Jako funkcję celu w uczeniu definiować można nie liczbę wszystkich błędnych klasyfikacji traktowanych jednakowo (podejście klasyczne), ale z odpowiednimi mnożnikami za poszczególne rodzaje błędów które zmuszą klasyfikator do odpowiedniego ukształtowania granic przynależności do obu klas. W wyniku takiego podejścia próg przynależności do obu klas ulega takiemu przesunięciu, aby kosztem zwiększenia liczby fałszywych alarmów zmniejszyć liczbę błędnego rozpoznania elementów klasy rzadkiej.

12.3.2 Metody równoważenia klas

Inną metodą pozwalającą na polepszenie jakości klasyfikacji w przypadku dwu klas niezrównoważonych jest próba poprawy stopnia zrównoważenia poprzez zastosowanie odpowiedniego próbkowania [24,49,65]. W wyniku takiego podejścia względna reprezentacja klasy rzadkiej powinna zostać wzbogacona w stosunku do klasy większościowej. W praktycznym rozwiązaniu tego problemu stosuje się zarówno zmniejszanie liczebności klasy większościowej użytej w uczeniu jak i zwiększanie liczby reprezentantów klasy rzadkiej.

Najprostszym rozwiązaniem jest zredukowanie liczby danych uczących klasy większościowej do poziomu reprezentowanego przez klasę rzadką. Powstaje wówczas problem doboru próbek uwzględnionych w uczeniu. Jednym z rozwiązań jest stworzenie wielu klasyfikatorów, z których każdy trenowany jest na pełnym zbiorze próbek rzadkich i wybranym podzbiorze (innym dla każdego klasyfikatora) próbek większościowych. Na przykład, jeśli klasa rzadka jest reprezentowana przez 100 próbek uczących, a większościowa przez 1000, można wytrenować 10 klasyfikatorów, każdy na innym podzbiorze klasy większościowej. W następnym etapie tworzy się zespół klasyfikatorów a wynik końcowy może być otrzymany na zasadzie głosowania większościowego (ang. majority voting).

Innym rozwiązaniem, które nadaje się do zastosowań w pewnych przypadkach (np. dane wejściowe dwuwymiarowe, dane wielowymiarowe zrzutowane na płaszczyznę bądź w przestrzeń trójwymiarową) jest wizualizacja rozkładu danych obu klas. Bez utraty zdolności generalizacyjnych można odrzucić te próbki większościowe, które położone są daleko od przewidywanej granicy obu klas. W zbiorze uczącym pozostawia się jedynie reprezentatywną liczbę próbek, porównywalną z populacją klasy próbek rzadkich.

W przypadku podejścia drugiego celem jest zwiększenie liczby reprezentantów klasy rzadkiej do poziomu populacji klasy większościowej. Odbywa się to poprzez sztuczne dodawanie do zbioru uczącego dodatkowych próbek klasy rzadkiej na zasadzie interpolacji między oryginalnymi punktami danych. Współrzędne dodawanych punktów tworzy się na zasadzie uśredniania współrzędnych kilku najbliższych sąsiadów należących do tej samej klasy. Innym rozwiązaniem jest dodawanie szumu losowego do współrzędnych istniejących punktów klasy rzadkiej i tworzenie w ten sposób nowych danych klasy rzadkiej. Tego typu podejście wyrównuje liczebność obu klas, ale nie wzbogaca informacji o modelowanym procesie. Zapobiega jedynie obcięciu pojedynczych próbek rzadkich umieszczonych w otoczeniu próbek klasy większościowej.

Najczęściej łączy się oba podejścia, redukując zarówno liczebność klasy większościowej jak i wzbogacając reprezentację klasy rzadkiej. Takie podejście do problemu równoważenia klas jest najbardziej zalecane w praktyce, gdyż w stosunkowo najmniejszym stopniu zaburza oryginalny rozkład danych obu klas.

12.3.3 Problemy klasyfikacji wieloklasowej

Niektóre metody klasyfikacyjne, na przykład SVM są w oryginale zaprojektowane do klasyfikacji binarnej i są w stanie rozróżnić jedynie 2 klasy. Rozróżnianie wielu klas wymaga stosowania specjalnych technik stosujących kombinację klasyfikatorów binarnych. Do najbardziej znanych podejść należy metoda jeden przeciw jednemu i jeden przeciw pozostałym [59,68].

W pierwszej metodzie przy M klasach tworzy się M(M-1)/2 klasyfikatorów binarnych odpowiedzialnych za rozpoznanie kombinacji 2 klas kolejno parowanych ze sobą. Przy podaniu na wejście wszystkich klasyfikatorów wektora testowego x ostatecznym zwycięzcą jest ta klasa, która zostanie wskazana przez większość głosujących.

W metodzie jeden przeciw reszcie przy M klasach konstruuje się M klasyfikatorów, z których każdy trenowany jest do rozróżnienia między pojedynczą klasą a klasą zbiorczą złożoną z pozostałych. Przy podaniu na wejście takiego klasyfikatora wektora testowego x zwycięska klasa (pojedyncza lub wszystkie klasy zbiorowe tworzące resztę) jest nagradzana głosem. Klasa która otrzyma najwięcej głosów jest uważana za zwycięzcę.

Zdecydowana większość rozwiązań klasyfikatorów umożliwia rozróżnienie wielu klas jednocześnie w jednym układzie klasyfikacyjnym. Wymaga to zdefiniowania wektora etykiet klas (wektor \mathbf{d}). Najczęściej stosowanym rozwiązaniem jest wówczas zwykłe kodowanie zero-jedynkowe. Etykieta klasy do której należy wektor \mathbf{x} jest kodowana poprzez wartość 1, a pozostałe klasy przez zero. Wzorzec testowany \mathbf{x} należy do klasy, na którą wskazuje jedynka, przy czym wartość 1 przypisuje się neuronowi o największej wartości sygnału wyjściowego. Pozostałe neurony przyjmują zerową wartość sygnału wyjściowego. Przy takim rozwiązaniu liczba neuronów wyjściowych klasyfikatora jest równa liczbie klas.

Przykładowo przy zwykłym (pojedynczym) kodowaniu zero-jedynkowym czterech klas można je przyporządkować przy użyciu kodu przedstawionego w tabeli 12.9


Tabela 12.9 Przykład zwykłego kodowania zero-jedynkowego binarnego czterech klas

Klasa

Kod klasy

Klasa 1

1000

Klasa 2

0100

Klasa 3

0010

Klasa 4

0001


Należy zauważyć, że na etapie odtwarzania może powstać problem interpretacji binarnej wyniku rzeczywisto-liczbowego generowanego zwykle przez klasyfikator. Najczęściej wyjściu klasyfikatora o największym sygnale przypisuje się wartość 1 a pozostałym wyjściom zero. Problemem może być podobna wartość dwu lub więcej sygnałów lub ich bardzo mały (zbliżony do zera) poziom wartości. W takich przypadkach wiarygodność wyniku klasyfikacji opartej na jednej wartości jedynkowej jest stosunkowo mała.

Innym rodzajem kodowania zero-jedynkowego jest tak zwane kodowanie rozproszone, w którym liczba jedynek użyta w kodowaniu klasy może być dowolna. Oznacza to, że liczba neuronów wyjściowych w takim klasyfikatorze może być różna od liczby klas. Po określeniu sygnałów wyjściowych y_i poszczególnych neuronów i zaokrągleniu ich wartości do zera (gdy y < 0.5 ) lub jedynki (gdy y > 0.5 ) porównuje się wektor wyjściowy \mathbf{y} z wektorami kodowymi klas obliczając odległość Hamminga (odległość ta jest sumą różnic między poszczególnymi składowymi obu wektorów binarnych). Wzorzec przypisuje się do klasy dla której ta odległość jest najmniejsza. Przykład takiego kodowania dla czterech klas przy użyciu 5 neuronów wyjściowych przedstawiono w tabeli 12.10.


Tabela 12.10 Przykład kodowania zero-jedynkowego rozproszonego czterech klas

Klasa

Kod klasy

Klasa 1

00000

Klasa 2

00111

Klasa 3

11001

Klasa 4

11110


Zaletą kodowania rozproszonego jest mniejsza wrażliwość układu na wszelkiego rodzaju niedokładności klasyfikatora spowodowane szumem, zwłaszcza w przypadku, gdy sygnały wyjściowe neuronów są bliskie sobie i przypisanie jedynki największemu z nich może rodzić pewne wątpliwości.