AI 101
Co to jest Macierz Pomyłek?

Jednym z najpotężniejszych narzędzi analitycznych w uczeniu maszynowym i nauce o danych jest macierz pomyłek. Macierz pomyłek jest w stanie dostarczyć badaczom szczegółowych informacji o tym, jak klasyfikator uczenia maszynowego wykonał się w odniesieniu do klas docelowych w zbiorze danych. Macierz pomyłek pokaże wyświetlać przykłady, które zostały właściwie sklasyfikowane w przeciwieństwie do błędnie sklasyfikowanych przykładów. Zobaczmy bliżej, jak jest zbudowana macierz pomyłek i jak można ją interpretować.
Co to jest Macierz Pomyłek?
Zacznijmy od podania prostej definicji macierzy pomyłek. Macierz pomyłek jest narzędziem analitycznym predykcyjnym. Konkretnie, jest to tabela, która wyświetla i porównuje wartości rzeczywiste z wartościami przewidywanymi przez model. W kontekście uczenia maszynowego macierz pomyłek jest wykorzystywana jako miara do analizy, jak klasyfikator uczenia maszynowego wykonał się na zbiorze danych. Macierz pomyłek generuje wizualizację metryk takich jak precyzja, dokładność, specyficzność i recall.
Powodem, dla którego macierz pomyłek jest szczególnie przydatna, jest to, że w przeciwieństwie do innych typów metryk klasyfikacji, takich jak prosta dokładność, macierz pomyłek generuje bardziej kompletny obraz tego, jak model wykonał się. Używanie tylko metryki takiej jak dokładność może doprowadzić do sytuacji, w której model całkowicie i konsekwentnie błędnie identyfikuje jedną klasę, ale nie jest to zauważalne, ponieważ średnia wydajność jest dobra. Tymczasem macierz pomyłek daje porównanie różnych wartości takich jak Fałszywe Negatywy, Prawdziwe Negatywy, Fałszywe Pozytywy i Prawdziwe Pozytywy.

Zdefiniujmy różne metryki, które reprezentuje macierz pomyłek.
Recall w Macierzy Pomyłek
Recall to liczba prawdziwie pozytywnych przykładów podzielona przez liczbę fałszywych negatywów i łączną liczbę pozytywnych przykładów. Innymi słowy, recall reprezentuje proporcję prawdziwych pozytywnych przykładów, które model klasyfikacji maszynowej sklasyfikował. Recall jest podawany jako procent pozytywnych przykładów, które model był w stanie sklasyfikować spośród wszystkich pozytywnych przykładów zawartych w zbiorze danych. Ta wartość może być również określana jako „hit rate”, a powiązana z nią wartość to „czułość”, która opisuje prawdopodobieństwo recall, czyli szybkość prawdziwie pozytywnych predykcji.
Precyzja w Macierzy Pomyłek
Podobnie jak recall, precyzja jest wartością, która śledzi wydajność modelu w zakresie klasyfikacji pozytywnych przykładów. W przeciwieństwie do recall, precyzja dotyczy tego, ile z przykładów, które model oznaczył jako pozytywne, było rzeczywiście pozytywne. Aby to obliczyć, liczba prawdziwych pozytywnych przykładów jest dzielona przez liczbę fałszywych pozytywów plus prawdziwe pozytywy.
Aby uczynić różnicę między recall i precyzją bardziej klarowną, precyzja stara się ustalić, jaki procent wszystkich przykładów oznaczonych jako pozytywne był rzeczywiście pozytywny, podczas gdy recall śledzi procent wszystkich prawdziwie pozytywnych przykładów, które model mógł rozpoznać.
Specyficzność w Macierzy Pomyłek
Podczas gdy recall i precyzja są wartościami, które śledzą pozytywne przykłady i prawdziwą szybkość pozytywną, specyficzność ilościuje prawdziwą szybkość negatywną lub liczbę przykładów, które model określił jako negatywne, które były rzeczywiście negatywne. Jest to obliczane przez podzielenie liczby przykładów sklasyfikowanych jako negatywne przez liczbę fałszywych pozytywów w połączeniu z prawdziwymi negatywnymi przykładami.
Zrozumienie Macierzy Pomyłek

Photo: Jackverr via Wikimedia Commons, (https://commons.wikimedia.org/wiki/File:ConfusionMatrix.png), CC BY SA 3.0
Przykład Macierzy Pomyłek
Po zdefiniowaniu niezbędnych terminów, takich jak precyzja, recall, czułość i specyficzność, możemy zobaczyć, jak te różne wartości są reprezentowane w macierzy pomyłek. Macierz pomyłek jest generowana w przypadku klasyfikacji, stosowalna, gdy istnieją dwie lub więcej klas. Macierz pomyłek, która jest generowana, może być tak wysoka i szeroka, jak jest to konieczne, zawierając dowolną liczbę klas, ale dla celów prostoty, zbadamy macierz pomyłek 2 x 2 dla zadania klasyfikacji binarnej.
Załóżmy, że klasyfikator jest używany do określenia, czy pacjent ma chorobę, czy nie. Cechy będą wprowadzane do klasyfikatora, a klasyfikator zwróci jedną z dwóch różnych klasyfikacji – albo pacjent nie ma choroby, albo ją ma.
Zacznijmy od lewej strony macierzy. Lewa strona macierzy pomyłek reprezentuje przewidywania, które klasyfikator wykonał dla poszczególnych klas. Zadanie klasyfikacji binarnej będzie miało dwie wiersze tutaj. Odnosząc się do górnej części macierzy, śledzi ona wartości prawdziwe, rzeczywiste etykiety klas, przypadków danych.
Interpretacja macierzy pomyłek może być wykonana przez zbadanie, gdzie wiersze i kolumny się przecinają. Sprawdź przewidywania modelu wobec prawdziwych etykiet modelu. W tym przypadku wartości Prawdziwych Pozytywów, liczba poprawnych pozytywnych predykcji, znajduje się w lewym górnym rogu. Fałszywe pozytywy znajdują się w prawym górnym rogu, gdzie przykłady są rzeczywiście negatywne, ale klasyfikator oznaczył je jako pozytywne.
Dolny lewy róg siatki wyświetla przypadki, które klasyfikator oznaczył jako negatywne, ale były rzeczywiście pozytywne. Wreszcie, dolny prawy róg macierzy pomyłek jest miejscem, w którym znajdują się wartości Prawdziwych Negatywów, lub gdzie znajdują się rzeczywiście fałszywe przykłady.
Gdy zestaw danych zawiera więcej niż dwie klasy, macierz rośnie o tyle klas. Na przykład, jeśli istnieją trzy klasy, macierz będzie macierzą 3 x 3. Niezależnie od rozmiaru macierzy pomyłek, metoda interpretacji jest dokładnie taka sama. Lewa strona zawiera przewidywane wartości, a rzeczywiste etykiety klas biegną wzdłuż góry. Przypadki, które klasyfikator poprawnie przewidział, biegną ukośnie od lewego górnego rogu do prawego dolnego rogu. Poprzez spojrzenie na macierz można rozróżnić cztery metryki predykcyjne omówione powyżej.
Na przykład, można obliczyć recall, biorąc prawdziwe pozytywy i fałszywe negatywy, dodając je razem i dzieląc przez liczbę prawdziwych pozytywnych przykładów. Tymczasem precyzja może być obliczona przez połączenie fałszywych pozytywów z prawdziwymi pozytywami, a następnie dzielenie wartości przez łączną liczbę prawdziwych pozytywów.
Chociaż można spędzić czas na ręcznym obliczaniu metryk, takich jak precyzja, recall i specyficzność, te metryki są tak powszechnie używane, że większość bibliotek uczenia maszynowego ma metody wyświetlania ich. Na przykład, Scikit-learn dla Pythona ma funkcję, która generuje macierz pomyłek.












