Jak mierzymy jakość: trafność, macierz pomyłek, precyzja i czułość
🎯 Po co Ci to?
„Sztuczna inteligencja wykrywa raka z 95-procentową skutecznością" — nagłówek, który widziałeś w tej albo bardzo podobnej postaci. Po tej jednostce będziesz umiał w kilka sekund ocenić, czy taka liczba jest imponująca, czy bezwartościowa. Nauczysz się też rzeczy praktycznej poza informatyką: dlaczego przy rzadkich zjawiskach nasza intuicja co do „procentu trafień" jest po prostu błędna — i jak myślą o tym lekarze, sędziowie i banki.
✅ Czego się nauczysz
Po tej lekcji potrafisz:
- policzyć trafność i wskazać sytuację, w której jest ona miarą mylącą;
- zbudować i odczytać macierz pomyłek (cztery rodzaje wyników);
- policzyć precyzję i czułość oraz wyjaśnić różnicę między nimi po ludzku;
- uzasadnić, dlaczego podniesienie czułości zwykle obniża precyzję;
- rozstrzygnąć, która miara jest ważniejsza w danym zastosowaniu.
🔁 Przypomnij sobie
Z Jednostki 9.3: jakość mierzymy na danych, których model nie widział. Teraz przyjmujemy, że ten warunek jest spełniony, i pytamy o coś innego: jaką liczbą opisać wynik. Z Jednostki 9.2 przypomnij sobie nierównowagę klas — 990 zdjęć zdrowej skóry i 10 zdjęć czerniaka. Za chwilę okaże się, dlaczego to psuje najbardziej oczywistą miarę.
📘 Wyjaśnienie
Trafność i jej pułapka
Najprostsza miara: trafność (ang. accuracy) to udział poprawnych odpowiedzi we wszystkich odpowiedziach. Model odpowiedział dobrze w 900 z 1000 przypadków — trafność 90%.
Dla zadań zrównoważonych (mniej więcej tyle samo przypadków każdej klasy) to miara sensowna. Dla zadań niezrównoważonych jest myląca aż do absurdu. Weźmy badanie przesiewowe choroby, która występuje u 1 osoby na 100. Napiszmy „model", który zawsze odpowiada „zdrowy" — jedna linijka kodu, zero uczenia, zero danych:
- trafność: 99%;
- liczba wykrytych chorych: 0;
- wartość medyczna: żadna.
To nie sztuczka retoryczna, a codzienna pułapka. Im rzadsze zjawisko, tym wyższą trafność daje bezmyślne „nie ma go" — a więc tym mniej ta liczba mówi.
📐 DEFINICJA — trafność (accuracy): udział poprawnych odpowiedzi modelu we wszystkich rozpatrzonych przypadkach.
Po ludzku: ile procent odpowiedzi było dobrych. Czym to NIE jest: to nie miara przydatności modelu. Przy rzadkich zjawiskach model bezużyteczny osiąga wysoką trafność, a model użyteczny — niższą.
Macierz pomyłek: cztery rodzaje wyników
Żeby zobaczyć, jak model się myli, rozkładamy jego odpowiedzi na cztery przypadki. Ustalamy, którą klasę nazywamy „dodatnią" (zwykle tę, którą chcemy wykryć: choroba, spam, awaria):
| model: choroba | model: zdrowy | |
|---|---|---|
| naprawdę choroba | prawdziwie dodatni (TP) | fałszywie ujemny (FN) — przeoczenie |
| naprawdę zdrowy | fałszywie dodatni (FP) — fałszywy alarm | prawdziwie ujemny (TN) |
To zestawienie nazywamy macierzą pomyłek. Dwie komórki na przekątnej to sukcesy, dwie pozostałe to dwa zupełnie różne rodzaje porażki:
- fałszywy alarm (FP) — zdrowy pacjent dostaje skierowanie na niepotrzebną biopsję; ważny e-mail ląduje w spamie;
- przeoczenie (FN) — chory pacjent wraca do domu z informacją, że wszystko w porządku; oszustwo przechodzi niezauważone.
Zwijanie obu do jednej liczby („model pomylił się 100 razy") gubi najważniejszą informację, bo koszt tych dwóch pomyłek prawie nigdy nie jest taki sam.
Precyzja i czułość
Dwie miary, które patrzą na macierz pomyłek z dwóch różnych stron.
Czułość (ang. recall, w medycynie sensitivity) — jaką część rzeczywistych przypadków model wychwycił:
czułość = TP / (TP + FN)
Precyzja (ang. precision) — jaka część alarmów modelu była prawdziwa:
precyzja = TP / (TP + FP)
Po ludzku, w postaci dwóch pytań:
- czułość odpowiada na pytanie: „Czy nic mi nie umknęło?"
- precyzja odpowiada na pytanie: „Czy mogę wierzyć, gdy model bije na alarm?"
Bywa potrzebna jedna liczba łącząca obie — wtedy używa się miary F1, czyli ich średniej harmonicznej: F1 = 2 · precyzja · czułość / (precyzja + czułość). Średnia harmoniczna jest tu ważna, bo mocno karze skrajności: model o czułości 100% i precyzji 5% ma F1 poniżej 10%, choć zwykła średnia dałaby „przyzwoite" 52%.
📐 DEFINICJA — precyzja i czułość:
- Czułość = udział wykrytych przypadków dodatnich wśród wszystkich rzeczywiście dodatnich.
- Precyzja = udział trafnych alarmów wśród wszystkich alarmów modelu.
Po ludzku: czułość mówi „ile z chorych znalazłem", precyzja — „ilu z tych, których wskazałem, było naprawdę chorych". Czym to NIE jest: to nie dwie nazwy tej samej rzeczy i nie da się ich maksymalizować niezależnie od siebie.
Dlaczego nie da się mieć obu naraz
Model uczący się nie zwraca decyzji, tylko stopień pewności — liczbę z przedziału od 0 do 1 (przypomnij sobie tabelę z rozkładem prawdopodobieństw z Jednostki 9.1; formalnie zajmiemy się nią przy funkcji softmax w Jednostce 10.3). Decyzję podejmujemy my, ustalając próg: „jeśli pewność przekracza 0,5 — uznajemy, że choroba".
I tu robi się ciekawie, bo próg to pokrętło wymieniające jedną miarę na drugą:
próg 0,9 → model alarmuje tylko przy wielkiej pewności
mało fałszywych alarmów (wysoka PRECYZJA)
ale część chorych przeoczona (niska CZUŁOŚĆ)
próg 0,1 → model alarmuje przy najmniejszym podejrzeniu
prawie nikogo nie przeoczy (wysoka CZUŁOŚĆ)
ale masa fałszywych alarmów (niska PRECYZJA)
Nie ma tu rozwiązania „matematycznie najlepszego" — wybór progu jest decyzją o tym, który błąd wolimy popełniać. To rozstrzygnięcie etyczne i organizacyjne, nie techniczne, i dlatego nie powinien go podejmować sam programista.
- Badanie przesiewowe (czerniak, rak piersi): ważniejsza czułość. Fałszywy alarm oznacza dodatkowe badanie i stres; przeoczenie może oznaczać śmierć. Dlatego przesiew ustawia się „nadwrażliwie", a jego wyniki weryfikuje dokładniejszym badaniem.
- Filtr spamu: ważniejsza precyzja. Spam w skrzynce to irytacja; list od pracodawcy wyrzucony do spamu to realna strata.
- Wykrywanie oszustw na kartach: kompromis zależny od kosztów — blokada uczciwej transakcji zniechęca klienta, przeoczone oszustwo kosztuje bank.
Kiedy model przewiduje liczbę
Wszystko powyżej dotyczy klasyfikacji, czyli wyboru z listy możliwości. Jeśli model przewiduje liczbę (cena mieszkania, temperatura, czas dostawy), to nie ma „trafień" — jest tylko odległość od prawdy. Używamy wtedy miar błędu:
- średni błąd bezwzględny (MAE) — przeciętna różnica między przewidywaniem a rzeczywistością, w tych samych jednostkach co etykieta (np. „model myli się przeciętnie o 47 tys. zł"). Miara czytelna dla człowieka;
- średni błąd kwadratowy (MSE) i jego pierwiastek (RMSE) — podnoszą różnice do kwadratu, więc mocniej karzą duże pomyłki. Wygodne matematycznie i dlatego często używane jako funkcja straty w treningu (Jednostka 11.1).
„Na poziomie specjalisty" — co to naprawdę znaczy
Nagłówki o AI dorównującej lekarzom pochodzą z konkretnych badań. Ich schemat jest zawsze podobny: zbiera się zbiór opisanych przypadków z potwierdzoną diagnozą, mierzy się czułość i precyzję modelu, a potem prosi się grupę specjalistów o ocenę tych samych przypadków i porównuje wyniki.
Czytając takie doniesienia, warto pytać: na ilu przypadkach? z ilu ośrodków? czy specjaliści mieli dostęp do wywiadu z pacjentem, czy tylko do zdjęcia (bo lekarz w gabinecie ma dużo więcej informacji niż piksele)? i czy sprawdzono model na danych z innego szpitala niż ten, z którego pochodził trening? Bez odpowiedzi na te pytania „na poziomie specjalisty" jest zdaniem marketingowym, nie naukowym. Do samych zastosowań medycznych i ich granic wrócimy w Jednostce 12.5.
💭 Pomyśl: Model do wykrywania oszustw finansowych ma czułość 99% i precyzję 2%. Bank przetwarza milion transakcji dziennie, z czego oszustwem jest 100. Ile alarmów wygeneruje model w ciągu dnia? Czy taki model da się wdrożyć?
Sprawdź odpowiedź
Czułość 99% znaczy, że model wykryje 99 z 100 oszustw. Precyzja 2% znaczy, że te 99 trafień stanowi 2% wszystkich alarmów — więc alarmów jest łącznie około 99 / 0,02 ≈ 4950 dziennie, z czego ponad 4850 to fałszywe alarmy.
Czy da się wdrożyć? Jako automatyczna blokada — nie: blokowanie 4850 uczciwych transakcji dziennie byłoby katastrofą. Jako pierwsze sito przed weryfikacją — czasem tak, o ile bank ma zdolność sprawdzenia 5000 zgłoszeń dziennie (co przy zespole ludzi jest kosztowne, ale realne, jeśli straty z oszustw są większe). To dobra ilustracja zasady: „dobra" wartość miary zależy od tego, co dzieje się z alarmem dalej, a nie od samej liczby.
⚠️ Uwaga, pułapka
Największa pułapka tej jednostki nie jest matematyczna, a językowa: słowo „skuteczność" nie ma definicji. Gdy je widzisz, nie wiesz, czy chodzi o trafność, czułość, precyzję, F1, czy o coś zmyślonego na potrzeby komunikatu prasowego. A różnica jest ogromna: ten sam model przy jednym progu decyzyjnym daje „96% skuteczności" (trafność), a przy tym samym progu „31% skuteczności" (precyzja) — obie liczby są prawdziwe i obie opisują ten sam model. Pytanie brzmi więc nie „ile procent?", ale: którą miarę podajesz, na jakich danych i przy jakim progu?
🕰️ Oś czasu — modele „na poziomie specjalisty"
- 2017 — model konwolucyjny rozpoznaje zmiany skórne (w tym czerniaka) z dokładnością porównywalną z doświadczonymi dermatologami; praca opublikowana w Nature.
- 2017 — model wykrywa zapalenie płuc na zdjęciach rentgenowskich klatki piersiowej, w badaniu przewyższając radiologów (CheXNet).
- 2019 — model diagnozuje retinopatię cukrzycową ze zdjęć dna oka z dokładnością porównywalną z konsylium okulistów.
- 2020 — model określa zaawansowanie raka wątrobowokomórkowego na cyfrowych preparatach tkankowych na poziomie patologów.
📐 Definicje tej lekcji
- Trafność (accuracy) — udział poprawnych odpowiedzi we wszystkich.
- Macierz pomyłek — zestawienie czterech możliwych wyników: TP, FP, FN, TN.
- Fałszywie dodatni (FP) — fałszywy alarm.
- Fałszywie ujemny (FN) — przeoczenie.
- Czułość (recall) — udział wykrytych przypadków wśród wszystkich rzeczywistych.
- Precyzja (precision) — udział trafnych alarmów wśród wszystkich alarmów.
- Miara F1 — średnia harmoniczna precyzji i czułości.
- Próg decyzyjny — wartość pewności, od której model uznaje przypadek za dodatni.
- MAE / RMSE — miary błędu dla zadań przewidywania liczby.
📌 Najważniejsze w pigułce
- Trafność myli przy rzadkich zjawiskach: „zawsze zdrowy" daje 99% i zero wartości.
- Model myli się na dwa różne sposoby: fałszywy alarm i przeoczenie. Ich koszty są różne.
- Czułość = „ile z chorych znalazłem". Precyzja = „ilu ze wskazanych było chorych".
- Precyzję i czułość wymieniamy jedną na drugą, przesuwając próg decyzyjny — to decyzja etyczna, nie techniczna.
- Przesiew potrzebuje czułości, filtr spamu — precyzji.
- Słowo „skuteczność" bez podania miary, danych i progu nie znaczy nic.
🎒 Zadania
Zadanie 9.4.1. Model badał 1000 zdjęć zmian skórnych, wśród których było 50 czerniaków. Wykrył 40 z nich, a przy okazji zaalarmował przy 90 zdjęciach zmian łagodnych. (a) Zbuduj macierz pomyłek. (b) Policz trafność, czułość i precyzję. (c) Policz trafność „modelu", który zawsze odpowiada „zmiana łagodna". (d) Który model jest lepszy i dlaczego?
Pokaż rozwiązanie
(a) TP = 40 (wykryte czerniaki), FN = 50 − 40 = 10 (przeoczone czerniaki), FP = 90 (fałszywe alarmy), TN = 950 − 90 = 860.
| model: czerniak | model: łagodna | |
|---|---|---|
| naprawdę czerniak | 40 | 10 |
| naprawdę łagodna | 90 | 860 |
(b) Trafność = (40 + 860) / 1000 = 90%. Czułość = 40 / 50 = 80%. Precyzja = 40 / 130 ≈ 30,8%.
(c) Model „zawsze łagodna": poprawnie rozpozna wszystkie 950 zmian łagodnych i przeoczy wszystkie 50 czerniaków, więc trafność = 950 / 1000 = 95%.
(d) Model z punktu (b) jest bez porównania lepszy, choć ma niższą trafność (90% < 95%). Bo wykrywa 4 na 5 czerniaków, a model „zawsze łagodna" nie wykrywa żadnego — jego czułość to 0%. To najważniejszy wniosek tej jednostki: przy rzadkich zjawiskach trafność potrafi wskazać jako lepszy model całkowicie bezużyteczny.
Zadanie 9.4.2. Dla modelu z zadania 9.4.1 policz miarę F1. Następnie wyjaśnij, dlaczego zamiast zwykłej średniej arytmetycznej precyzji i czułości używa się średniej harmonicznej.
Pokaż rozwiązanie
Precyzja ≈ 0,308, czułość = 0,8. F1 = 2 · 0,308 · 0,8 / (0,308 + 0,8) = 0,4928 / 1,108 ≈ 0,445, czyli około 44,5%.
Średnia arytmetyczna dałaby (0,308 + 0,8) / 2 = 0,554, czyli 55,4% — wyraźnie więcej. Powód, dla którego wolimy średnią harmoniczną: karze skrajności. Model, który alarmuje przy każdym przypadku, ma czułość 100% i precyzję równą częstości choroby (tu 5%). Średnia arytmetyczna dałaby mu 52,5% — wynik pozornie przyzwoity dla modelu, który nie robi nic sensownego. F1 dałaby 2 · 1 · 0,05 / 1,05 ≈ 9,5%, czyli odzwierciedla rzeczywistą bezużyteczność. Średnia harmoniczna jest wysoka tylko wtedy, gdy obie składowe są wysokie.
Zadanie 9.4.3. Dla każdego zastosowania rozstrzygnij, czy ważniejsza jest precyzja, czy czułość, i uzasadnij, wskazując konkretny koszt każdego z dwóch rodzajów błędu: (a) system wykrywający broń w bagażu na lotnisku; (b) model podpowiadający lekarzowi diagnozy rzadkich chorób genetycznych; (c) automatyczne usuwanie treści naruszających prawo z serwisu społecznościowego.
Pokaż rozwiązanie
(a) Czułość — przeoczenie broni może kosztować życie wielu osób, a fałszywy alarm to dodatkowa kontrola bagażu (kilka minut i drobna niedogodność). Dlatego bramki na lotniskach są ustawione skrajnie nadwrażliwie i praktycznie każdy alarm weryfikuje człowiek.
(b) Czułość, ale z zastrzeżeniem: model ma podpowiadać, a decyzję podejmuje lekarz, więc fałszywy alarm jest tani (lekarz go odrzuci), a przeoczenie rzadkiej choroby oznacza często lata bez rozpoznania. Warunkiem jest jednak, by liczba podpowiedzi nie była tak duża, że lekarz przestanie je czytać — miara jakości musi uwzględniać realne obciążenie człowieka.
(c) Precyzja — usunięcie legalnej wypowiedzi jest ingerencją w wolność wypowiedzi i pomyłką trudną do naprawienia (materiał już zniknął, autor często nie ma skutecznej ścieżki odwołania), więc automatycznie usuwamy tylko przy bardzo wysokiej pewności, a przypadki wątpliwe kierujemy do oceny człowieka. To zresztą przykład, w którym o wyborze progu decyduje nie inżynier, a prawo i regulamin serwisu — wątek, który wraca w Jednostce 20.3.
🔍 Sprawdź, czy umiesz
- [ ] Policzyć trafność i wskazać, kiedy jest miarą myląca.
- [ ] Zbudować macierz pomyłek i nazwać cztery jej komórki.
- [ ] Policzyć precyzję i czułość z macierzy pomyłek.
- [ ] Wyjaśnić, jak próg decyzyjny wymienia precyzję na czułość.
- [ ] Wskazać, która miara jest ważniejsza w przesiewie medycznym, a która w filtrze spamu.
- [ ] Zadać trzy pytania kontrolne wobec nagłówka „AI ze skutecznością 95%".