Uczenie maszynowe i sztuczne sieci neuronowe/Wykład Ocena jakości klasyfikacji

Z Brain-wiki

Ocena klasyfikatorów binarnych

Klasyfikatory binarne to te, których zadaniem jest przypisanie danemu przykładowi jednej z dwóch możliwych klas. Przykładem takiego klasyfikatora jest znana już nam regresja logistyczna.

Jako przykład roboczy rozważmy problem klasyfikowania osób na zdrowe i chore na podstawie objawów. Klasyfikator jako cechy przyjmuje na wejściu objawy (przedstawione w postaci numerycznej) i zwraca wynik klasyfikacji (testu). Zakładamy, że mamy dane zawierające zarówno objawy O jak i faktyczny stan osoby W dla pewnej grupy osób (W może mieć dwie wartości: zdrowy, chory). Mamy też pewien klasyfikator, który realizuje odwzorowanie: [math] H(O) \rightarrow K [/math] I tu podobnie, wynik klasyfikatora K może przyjąć jedną z dwóch wartości: zdrowy lub chory.

Typy błędów

Porównując wyniki W i K możemy mieś cztery sytuacje, :

Stan faktyczny Razem
chory zdrowy
wynik klasyfikacji chory TP: prawidłowa decyzja pozytywna FP (błąd I typu: wynik fałszywie pozytywny) P'
zdrowy FN (błąd II typu: wynik fałszywie negatywny) TN: prawidłowa decyzja negatywna N'
Razem P N

Anglojęzyczna nomenklatura często stosowana do opisu tych możliwości to:

  • TP: true positive, hit
  • TN: true negative, correct rejection
  • FP: false positive, false alarm, Type I error
  • FN: false negative, with miss, Type II error

Miary

Jeśli mamy zbiór uczący o pewnej liczebności to dla każdego z elementów zbioru uczącego zachodzi jedna z powyżej opisanych możliwości. Dla całego zbioru uczącego mamy konkretne ilości przypadków każdego typu. Zliczenia tych przypadków są podstawą do stworzenia pewnych miar pozwalających na ocenę klasyfikatora. Miary oparte na tych definicjach to:

Czułość i specyficzność

  • czułość: (inne spotykane nazwy: sensitivity, true positive rate TPR, hit rate, recall). Można ją interpretować jako prawdopodobieństwo, że klasyfikacja będzie poprawna pod warunkiem, że przypadek jest pozytywny. Prawdopodobieństwo, że test wykonany dla osoby chorej wykaże, że jest ona chora.
[math]TPR = \frac{TP}{ P} = \frac{TP} { TP+FN}[/math]
  • specyficzność: (specificity (SPC), True Negative Rate). Prawdopodobieństwo, że klasyfikacja będzie poprawna, pod warunkiem, że przypadek jest negatywny. Prawdopodobieństwo, że dla osoby zdrowej test nie wykryje choroby.
[math]SPC = \frac{TN}{ N} = \frac{TN} { FP + TN} = 1 - FPR [/math]

Precyzja

  • precyzja pozytywna: (positive predictive value (PPV), precision). Odpowiada on na pytanie: Jeśli wynik testu jest pozytywny, jakie jest prawdopodobieństwo, że osoba badana jest chora?
[math]PPV = \frac{TP}{ TP + FP}[/math]
  • precyzja negatywna: (negative predictive value (NPV).) Odpowiada on na pytanie: Jeśli wynik testu jest negatywny, jakie jest prawdopodobieństwo, że osoba badana jest zdrowa?
[math]NPV = \frac{TN }{ TN + FN}[/math]

Fałszywe alarmy

  • częstość fałszywych alarmów ( false positive rate (FPR), fall-out)
[math]FPR = \frac{FP}{ N} = \frac{FP}{ FP + TN} = 1-SPC[/math]
  • częstość fałszywych odkryć: (false discovery rate (FDR))
[math]FDR = \frac{FP}{ FP + TP}[/math]

Miary zbalansowane

  • dokładność ( accuracy (ACC))
[math]ACC = \frac{TP + TN}{P + N}[/math]
  • F1-score: średnia harminiczna z precyzji i czułości:
[math]F_1= 2 \frac{PPV \cdot TPR}{PPV+TPR}= \frac{2TP}{ 2TP+FP+FN}[/math]

Miara ta daje ocenę balansu między czułością a precyzją. Miara ta nie uwzględnia wyników prawdziwie negatywnych.

  • współczynnik korelacji Matthews ( Matthews correlation coefficien)t:
[math] \text{MCC} = \frac{ TP \times TN - FP \times FN } {\sqrt{ (TP + FP) ( TP + FN ) ( TN + FP ) ( TN + FN ) } } [/math]

Ten współczynnik uwzględnia wyniki zarówno prawdziwie jaki i fałszywie pozytywne i negatywne i jest na ogół uważany jako zrównoważona miara, która może być stosowany nawet wtedy, gdy klasy są bardzo różnej liczebności. MCC jest w istocie współczynnikiem korelacji pomiędzy obserwowanymi i przewidywanymi klasyfikacjami binarnymi; zwraca wartość od -1 do +1. Współczynnik +1 odpowiada idealnej klasyfikacji, 0 nie lepiej niż losowe przypisanie wyniku i -1 oznacza całkowitą niezgodę między klasyfikacją i stanem faktycznym.

Klasyfikator z progiem

ROC rozklady.png

Prawdopodobieństwa podejmowania każdego rodzaju decyzji będą się zmieniały wraz z przesuwaniem progu podejmowania decyzji, czyli wartości hipotezy przy której zaliczamy przypadek do klasy 1.

Krzywe charakterystyki roboczej odbiorcy (ROC)

Krzywa ROC
każdy punkt na tej krzywej otrzymywany jest dla ustalonej wartości progu i ma współrzędne (1−specyficzność, czułość).

Krzywa ROC przydaje się do porównywania różnych klasyfikatorów oraz do wyboru punktu pracy (progu)

Kross-walidacja

Generalizacja: O co tu chodzi?

Schemat ilustrujący koncepcję generalizacji

Na rysunku obok przedstawiona jest schematycznie koncepcja generalizacji. Wyobraźmy sobie, że jest pewna przestrzeń P, która zawiera pary, np. liczb {((a,b), c)}. W tym przykładzie jest to przestrzeń wszystkich odwzorowań [math]\mathcal{R}^2 \rightarrow \mathcal{R}[/math]. Niektóre z tych par reprezentują pewną konkretną relację R: np. są to pary spełniające warunek [math]c=\sqrt{a^2 +b^2}[/math]. Wyobraźmy sobie dalej, że mamy dane dwa skończone zestawy par, które tą relację spełniają, ale oczywiście nie są w stanie obejmować wszystkich możliwych par. Jeden z nich oznaczymy U, a drugi T. Załóżmy, że mamy dwie wersje sieci, które uczymy na zbiorze U (mogą się one różnić architekturą, albo punktem startu procedury uczącej, albo ilością iteracji algorytmu uczącego itp.). Po procesie uczenia sieci te mają mały i porównywalny błąd na zbiorze U, ale jedna z nich nauczyła się relacji wskazanej na rys. jako g1 a druga relacji g2. Na podstawie rezultatów odtwarzania przykładów ze zbioru testowego mówimy, że sieć druga ma lepszą generalizację niż sieć pierwsza.

Porównywanie klasyfikatorów na podstawie błędów generalizacji.

Najlepiej byłoby mieć możliwie mały błąd generalizacji — jak go oszacować? Można zastosować następujące techniki:

  • wiele zbiorów testowych: trzeba mieć dużo danych, żeby wystarczyło na rozsądny zbiór treningowy i kilka testowych
  • kros-walidacja: najprostsza wersja (leave-one-out):
    • wybierz przypadek do odrzucenia
    • trenuj klasyfikator na wszystkich przypadkach oprócz tego jednego — na tym jednym oblicz błąd generalizacji
    • powtarzaj to dla każdego przypadku
      Zaleta — można efektywnie użyć całego zbioru danych do uczenia i testowania,
      Cena — wielokrotne uczenie sieci
  • Bootstrapowanie — wielokrotnie losuje się z powtórzeniami z pełnego zbioru dwie próby:
    • do nauki klasyfikatora
    • do testowania.