Model ma 95% skuteczności. Czy można mu powierzyć decyzję?
Jak dobrać próg decyzji AI do kosztów błędów i przepustowości kontroli: policzalny przykład, kalibracja, odroczenie i kryteria odbioru.

Na spotkaniu projektowym pada zdanie: „Model ma 95% skuteczności, więc możemy zautomatyzować decyzję”. Brzmi jak informacja o gotowości produktu. W rzeczywistości nie wiemy jeszcze, co policzono, jakie błędy wystąpiły i co stanie się z urządzeniem, człowiekiem albo procesem po błędnej odpowiedzi. Sama liczba nie rozstrzyga, czy automat ma akceptować wyrób, zatrzymywać linię, czy tylko podpowiadać operatorowi.
Przyjrzymy się kontroli jakości, w której model nadaje każdej sztuce wynik związany z podejrzeniem wady. Model jest już wytrenowany. Nie zmieniamy jego wag; zmieniamy regułę przekształcającą wynik w działanie. To często pomijany etap między oceną algorytmu a uruchomieniem procesu.
W przykładzie wykorzystamy jawnie syntetyczne 1000 obserwacji, dwa zestawy założeń kosztowych i ograniczoną przepustowość kontroli ręcznej. Nie są to wyniki benchmarku ani pomiary wdrożenia BBest24. Celem jest nauczenie się, jakie pytania zadać przed wyborem progu i jak sprawdzić, czy pozornie korzystna decyzja nadal działa po zmianie warunków.
Najpierw nazwij działanie i błąd
Przyjmujemy, że klasa dodatnia oznacza wadliwy produkt, a wysoki wynik modelu oznacza silniejsze podejrzenie wady. Działanie dodatnie kieruje sztukę do zatrzymania lub dodatkowej obsługi. Taka definicja jest ważniejsza niż nazwy positive i negative, które w innym projekcie mogą mieć odwrotne znaczenie.
Fałszywie ujemny wynik oznacza przepuszczenie wady, a fałszywie dodatni zatrzymanie dobrej sztuki. Pierwszy może prowadzić do reklamacji, drugi do dodatkowej pracy lub utraty przepustowości. Nie muszą mieć podobnego kosztu. Prawdziwie dodatni wynik także może kosztować: wadliwą sztukę trzeba odseparować, sprawdzić albo naprawić. Na początku użyjemy uproszczonej funkcji kosztu błędów, a następnie pokażemy jej granice.
Dla oceny wykrywania potrzebujemy co najmniej liczby przeoczonych wad i liczby fałszywych alarmów. Recall opisuje udział wykrytych wad wśród wszystkich wad, a precision udział rzeczywistych wad wśród alarmów. Definicje i mianowniki zestawia dokumentacja scikit-learn 1.9.1. W raporcie warto obok procentów zapisać liczby sztuk. „Recall 90%” przy 10 wadach ma inną siłę dowodową niż ten sam odsetek przy tysiącu niezależnych wad.
Trzeba również określić jednostkę decyzji. Dziesięć zdjęć jednego produktu nie tworzy dziesięciu niezależnych produktów. Jeśli alarm zatrzymuje całą partię, koszt nie jest kosztem pojedynczej klatki. Zanim zaczniemy optymalizować próg, musimy wiedzieć, na jakim obiekcie działa procedura.
Model, wynik i próg to trzy różne elementy
Model zwraca wynik liczbowy. Reguła może przyjąć postać: zatrzymaj sztukę, jeśli score ≥ t. Próg t jest parametrem decyzji, a nie niezmienną własnością modelu. Dwa procesy korzystające z tych samych predykcji mogą zasadnie używać różnych wartości.
Nie każdy wynik w przedziale od zera do jedności jest wiarygodnym prawdopodobieństwem. Może dobrze porządkować przykłady, ale zawyżać pewność. W naszym zestawie liczby 0,1, 0,3, 0,5, 0,7 i 0,9 są wyłącznie punktami skali rankingu. Nie interpretujemy wyniku 0,9 jako 90% prawdopodobieństwa wady. To ograniczenie pozwala analizować próg bez udawania wykonanej kalibracji.
Dokumentacja doboru progu scikit-learn rozdziela estymację modelu i regułę decyzji oraz ostrzega przed dobieraniem progu na danych użytych do treningu. W praktyce potrzebujemy wydzielonych danych do strojenia i osobnej końcowej oceny. Wielokrotne oglądanie zbioru testowego podczas poprawiania reguł stopniowo zamienia go w zbiór projektowy.
Domyślny próg biblioteki jest wygodnym punktem startu do sprawdzenia działania kodu. Nie jest uzasadnieniem biznesowym ani dowodem spełnienia kryterium jakości. Tak samo wysoki wynik ogólnej metryki nie określa, co zrobić z przypadkiem, którego model nie potrafi rozstrzygnąć.
To rozdzielenie wpływa również na wersjonowanie. Zachowanie tego samego pliku modelu przy zmianie progu zmienia działanie produktu. Potraktowanie tego jako drobnej korekty konfiguracji może ominąć przegląd wymagany dla nowego modelu, mimo że konsekwencje operacyjne są większe.
Zestaw, który można policzyć ręcznie
Nasz zbiór zawiera 950 dobrych i 50 wadliwych sztuk. Rozkład wyników zapisujemy w pięciu grupach. To celowo mały model tabelaryczny: czytelnik może odtworzyć każdą liczbę bez uczenia sieci neuronowej.
W razie potrzeby przewiń tabelę poziomo.
| Wynik modelu | Dobre sztuki | Wadliwe sztuki | Razem |
|---|---|---|---|
| 0,1 | 800 | 2 | 802 |
| 0,3 | 100 | 3 | 103 |
| 0,5 | 35 | 10 | 45 |
| 0,7 | 12 | 15 | 27 |
| 0,9 | 3 | 20 | 23 |
Automat, który przepuszcza wszystko, uzyskuje 95% accuracy, bo poprawnie traktuje 950 dobrych produktów. Jednocześnie przeocza wszystkie 50 wad. To nie paradoks: metryka odpowiada na pytanie o udział poprawnych etykiet, a nie o zdolność zatrzymania wad w tym konkretnym procesie.
Przy progu 0,4 zatrzymujemy grupy 0,5, 0,7 i 0,9. Wykrywamy 45 wad, przepuszczamy pięć i wywołujemy 50 fałszywych alarmów. Recall wynosi 90%, precision około 47,4%, a accuracy 94,5%. Mimo niższej accuracy niż automat przepuszczający wszystko, uzyskujemy funkcję, której tamten w ogóle nie realizował.
Przy progu 0,6 liczba fałszywych alarmów spada do 15, ale przeoczonych wad rośnie do 15. Accuracy wzrasta do 97%, a recall spada do 70%. Czy to poprawa? Bez informacji o konsekwencjach obu błędów nie ma jednej odpowiedzi. Właśnie dlatego wykres jakości powinien prowadzić do decyzji produktowej, a nie ją zastępować.
Tabela pokazuje także, dlaczego obok głównej metryki powinna znaleźć się macierz pomyłek. Recenzent może sprawdzić, które liczby się zmieniły i czy odpowiada to celowi projektu. Niewielki wzrost accuracy może oznaczać znaczny spadek udziału zatrzymanych wad.
Dwa procesy, ta sama predykcja
Dla procesu A przyjmujemy koszt przeoczonej wady 100 zł i koszt fałszywego alarmu 2 zł. W procesie B odpowiednie koszty wynoszą 10 zł i 15 zł. To hipotetyczne wartości dydaktyczne, nie cennik usług ani wycena ryzyka rzeczywistego produktu. Drugi proces może reprezentować sytuację, w której niepotrzebne zatrzymanie jest szczególnie kosztowne, a przeoczona wada ma ograniczone skutki.
Liczymy K = FN × koszt przeoczenia + FP × koszt fałszywego alarmu. Pomijamy na razie stałe koszty działania modelu i obsługę prawidłowo wykrytych wad. Zestawienie dotyczy tej samej partii 1000 sztuk.
W razie potrzeby przewiń tabelę poziomo.
| Próg | Przeoczone wady FN | Fałszywe alarmy FP | Koszt A | Koszt B |
|---|---|---|---|---|
| 0,2 | 2 | 150 | 500 zł | 2270 zł |
| 0,4 | 5 | 50 | 600 zł | 800 zł |
| 0,6 | 15 | 15 | 1530 zł | 375 zł |
| 0,8 | 30 | 3 | 3006 zł | 345 zł |
Spośród czterech ocenionych wartości proces A wybiera 0,2, a proces B 0,8. Nie zmieniliśmy modelu ani danych. Zmieniliśmy konsekwencje działania. To także nie jest dowód, że znaleźliśmy globalne optimum dla wszystkich progów i wszystkich kosztów; porównaliśmy jawnie określone możliwości.
Różnica 30 zł między progami 0,6 i 0,8 w procesie B jest niewielka wobec niepewności założeń. Gdy koszt przeoczenia wzrośnie z 10 zł do 13 zł, dla 0,6 otrzymamy 420 zł, a dla 0,8 już 435 zł. Wybór odwraca się. Zespół powinien więc znać zakres wiarygodnych kosztów i sprawdzić wrażliwość decyzji, zamiast traktować najmniejszą liczbę w tabeli jak obiektywny nakaz.
Ograniczenie operacyjne może ponownie odwrócić wybór. Jeśli proces nie dopuszcza 30 przeoczonych wad na tysiąc, pozornie najtańszy wariant jest niedopuszczalny. Warto oznaczyć takie warianty przed porównywaniem pozostałych, aby wykres nie zamienił wymagania w pomijaną pozycję kosztową.
Kiedy funkcja kosztu jest zbyt prosta
Liniowy model zakłada, że kolejne błędy sumują się niezależnie. Rzeczywisty proces może mieć progi: jeden fałszywy alarm obsłużymy bez problemu, ale dziesiąty w ciągu minuty zatrzyma produkcję. Jedna przeoczona wada może uruchomić kontrolę całej partii. Wtedy koszt zależy od czasu, grupowania i stanu procesu, nie tylko od liczby etykiet.
Niektóre wymagania powinny być ograniczeniami, a nie pozycjami do swobodnego wymieniania na pieniądze. Jeżeli produkt ma maksymalny dopuszczalny odsetek przeoczeń określonego typu, najpierw sprawdzamy spełnienie tego warunku, a dopiero potem porównujemy koszt pozostałych wariantów. Nie wolno ukrywać niespełnienia wymagania za niższą wartością funkcji celu.
Warto też oddzielić koszt znany od założonego. Czas dodatkowej kontroli można zmierzyć. Koszt przyszłej reklamacji może pochodzić z historii innego produktu. Koszt utraty klienta bywa szerokim scenariuszem, a nie wiarygodną średnią. Tabela założeń powinna pokazywać źródło i zakres każdej wartości. Dzięki temu rozmowa dotyczy przesłanek, które da się poprawić, zamiast sporu o jedną „właściwą” metrykę.
Niekiedy trzeba też rozdzielić wagę różnych usterek. Uśrednienie częstej wady kosmetycznej i rzadkiej, poważnej wady funkcjonalnej może dać atrakcyjny wynik, pozostawiając istotny problem bez kontroli. Nasz binarny przykład nie określa takiej polityki; rzeczywista specyfikacja musi ustalić, czy różne typy wad wymagają osobnych ograniczeń.
Trzecia decyzja: potrzebna dodatkowa informacja
Zamiast jednego progu możemy ustalić dwa. Wynik poniżej dolnego progu automatycznie przepuszcza sztukę, wynik równy górnemu lub wyższy automatycznie ją zatrzymuje, a przedział pomiędzy trafia do kontroli ręcznej. Dolna granica należy do przedziału ręcznego; górna do automatycznego zatrzymania. Takie szczegóły trzeba określić w kodzie i testach, szczególnie gdy wyniki są zaokrąglane.
Dla przedziału [0,4; 0,6) do człowieka trafia grupa 0,5, czyli 45 sztuk. Poza nią pozostaje pięć automatycznie przepuszczonych wad i 15 automatycznych fałszywych alarmów. Poszerzenie do [0,2; 0,8) kieruje do kontroli 175 sztuk, pozostawiając dwa przeoczenia i trzy fałszywe alarmy automatu.
To zestawienie nie zakłada nieomylnego człowieka. Wskazuje jedynie, które przypadki automat oddaje do innej procedury. Jakość końcowa zależy od sposobu badania, czasu, instrukcji i dostępu operatora do informacji. Jeżeli operator tylko potwierdza widoczną sugestię modelu, nie otrzymujemy niezależnej kontroli. W badaniu odbiorczym warto osobno ocenić poprawność oraz czas tej ścieżki.
Odroczenie decyzji powinno mieć znaczenie operacyjne. „Do sprawdzenia” musi wskazywać właściciela, termin, sposób przechowania sztuki i warunek zakończenia. W przeciwnym razie system jedynie zamienia błąd klasyfikacji w kolejkę bez odpowiedzialności. Dla części produktów przy braku odpowiedzi należy zatrzymać proces, dla innych dopuszczalny jest kontrolowany tryb zastępczy; wybór wynika z wymagań zastosowania.
Wynik kontroli musi wrócić do systemu z identyfikatorem tej samej sztuki. Poprawna ocena człowieka przypisana niewłaściwemu produktowi pozostaje błędem procesu. Ma to szczególne znaczenie, gdy kilku operatorów obsługuje wspólną kolejkę lub urządzenie wraca po naprawie.
Operatorzy też mają ograniczoną przepustowość
Załóżmy napływ 1000 sztuk na godzinę i zdolność dodatkowej kontroli 120 sztuk na godzinę. Wąski przedział przekazuje 45 sztuk na godzinę, szerszy 175. Pierwszy wariant mieści się w średniej przepustowości, drugi zwiększa kolejkę o 55 sztuk w każdej godzinie, jeśli warunki pozostają takie same.
Nawet średnia 45 nie gwarantuje krótkiego oczekiwania. Przy sześciokrotnym wzroście napływu przez 10 minut wąski wariant dostarcza 45 przypadków, podczas gdy stanowisko zdąży obsłużyć 20. Kolejka rośnie o 25. Po powrocie normalnego napływu nadwyżka zdolności wynosi 75 sztuk na godzinę, więc opróżnienie tej dodatkowej kolejki zajmie 20 minut w uproszczonym modelu płynnym.
To obliczenie zakłada stały udział trudnych przypadków, równomierną pracę i brak przerw. W rzeczywistości wadliwa partia może jednocześnie zwiększyć napływ i trudność kontroli. Dlatego trzeba badać rozkład czasów obsługi, kumulacje zdarzeń i maksymalny dopuszczalny czas oczekiwania. Samo porównanie średnich jest rozpoznaniem przeciążenia, nie pełnym modelem kolejki.
Automatyczne poszerzanie lub zwężanie strefy niepewności podczas przeciążenia zmienia politykę jakości. Jeśli system ma to robić, reguła wymaga jawnego projektu i testów. Ciche przepuszczanie przypadków, bo operator jest zajęty, nie jest technicznym szczegółem optymalizacji.
Test przeciążenia powinien zatem sprawdzać także los fizycznych produktów: gdzie czekają, czy mogą przypadkowo wrócić do zaakceptowanego towaru i czy po restarcie można odtworzyć ich status. To konsekwencje polityki decyzji, a nie dodatkowe udogodnienia interfejsu.
Kalibracja odpowiada na inne pytanie
Dobrze skalibrowany wynik probabilistyczny pozwala porównywać deklarowane prawdopodobieństwo z częstością zdarzeń w podobnych przypadkach. Nie oznacza pewności dla konkretnej sztuki. Dokumentacja kalibracji scikit-learn opisuje to rozróżnienie oraz wykresy wiarygodności. Nasza syntetyczna skala nie spełnia takiego założenia, dlatego nie podstawiamy jej bezpośrednio do wzoru na oczekiwany koszt jednostkowy.
Guo i współautorzy pokazali na badanych sieciach i zbiorach, że dobra klasyfikacja może współistnieć ze słabą kalibracją, a proste przekształcenie wyniku może ją poprawić. To wynik konkretnego badania, nie obietnica, że temperature scaling naprawi dowolny model. On Calibration of Modern Neural Networks, 2017.
Przed wykorzystaniem prawdopodobieństw w decyzji trzeba sprawdzić kalibrację na danych odpowiadających zastosowaniu, także w istotnych podgrupach. Dobra średnia dla wszystkich produktów może ukrywać słabe działanie na nowej rewizji. Zmiana modelu, preprocessingu albo warunków wejścia powinna uruchamiać ponowną ocenę, a nie tylko podmianę pliku z wagami.
Kalibracja i dobór progu potrzebują więc osobnych dowodów. Użyteczny ranking może wspierać empirycznie sprawdzony próg, nawet jeśli wartości nie są wiarygodnymi prawdopodobieństwami. Z kolei skalibrowane prawdopodobieństwa nie gwarantują, że wybrany próg spełnia ograniczenia jakości lub przepustowości.
Skąd dowiedzieć się o wadach, które przepuszczono
Jeżeli etykiety zbieramy wyłącznie dla zatrzymanych produktów, widzimy głównie obszar, w którym model już podejrzewa problem. Nie znamy przeoczeń w automatycznie zaakceptowanych sztukach. Brak reklamacji nie jest automatycznie etykietą „produkt dobry”: wada może ujawnić się później lub nigdy nie zostać zgłoszona.
Plan obserwacji powinien obejmować niezależne sprawdzanie części zaakceptowanych sztuk i powiązanie późniejszych informacji z wcześniejszą decyzją. Dobór próbki musi umożliwiać interpretację: celowe szukanie trudnych przypadków jest przydatne do diagnostyki, lecz bez odpowiednich wag nie daje bezpośredniej estymacji częstości błędów w całym strumieniu.
W rejestrze potrzebujemy wersji modelu, wyniku przed zaokrągleniem, wersji progów, identyfikatora produktu, czasu i końcowej oceny. Warto zapisać także powód braku etykiety. Dzięki temu da się odróżnić poprawę algorytmu od zmiany tego, które produkty w ogóle poddano sprawdzeniu.
Etykieta referencyjna też ma niepewność. Gdy dwóch kontrolerów różnie ocenia graniczną rysę, problem nie znika po nazwaniu jednej opinii ground truth. Potrzebna jest definicja wady, procedura rozstrzygania sporów i informacja, które przypadki pozostały niejednoznaczne.
Zmiana częstości wad zmienia wynik procesu
W naszym przykładzie 5% sztuk ma wadę. Zestaw przygotowany do testów może zawierać więcej wad niż typowa produkcja, aby ułatwić analizę rzadkich przypadków. Nie wolno bez przeliczenia przenosić odsetka alarmów i precision z takiego zbioru do zakładu.
Przy niezmienionej czułości 90% i odsetku fałszywych alarmów 50/950, udział wad 1% daje na 1000 sztuk około dziewięciu prawdziwych alarmów i 52,1 fałszywego alarmu w wartości oczekiwanej. Precision spada do około 14,7%. To obliczenie zakłada niezmienione warunkowe zachowanie modelu; rzeczywista zmiana produkcji może naruszyć również to założenie.
Wniosek nie brzmi „model się zepsuł”, lecz „zmieniły się warunki interpretacji”. Trzeba ustalić, czy przesunęła się częstość klas, wygląd produktów, jakość zdjęć czy definicja wady. Każda z tych zmian może wymagać innej reakcji. Automatyczne dostrojenie progu bez etykiet potrafi ukryć problem z kamerą, którego próg nie naprawi.
Monitoring powinien zachowywać informacje potrzebne do takiego rozpoznania. Sam odsetek alarmów nie powie, czy poprawiła się produkcja, zmieniło oświetlenie, czy model przestał widzieć wady. Mniejszy zestaw interpretowalnych sygnałów połączony z niezależną kontrolą jest bardziej użyteczny niż rozbudowany panel bez hipotezy diagnostycznej.
Brak poprawnego wyniku nie jest wynikiem ujemnym
Reguła progowa zakłada, że model rzeczywiście otrzymał prawidłowe wejście i zwrócił poprawną liczbę. Pusta klatka, timeout, niezgodny rozmiar obrazu albo wartość NaN wymagają osobnej ścieżki. Szczególnie niebezpieczny jest kod, który po błędzie podstawia zero, a zero interpretuje jako brak wady. Wtedy awaria techniczna systematycznie zamienia się w automatyczną akceptację.
Przed progiem powinien działać kontrakt wejścia i wyniku: kompletność obrazu, zgodność wersji, dozwolony zakres oraz aktualność predykcji względem konkretnej sztuki. Predykcja spóźniona o jeden produkt może być matematycznie poprawna i operacyjnie bezużyteczna. Powiązanie identyfikatora jest równie ważne jak wartość wyniku.
W teście odbiorczym trzeba wstrzyknąć te sytuacje i sprawdzić końcowe zachowanie. Rejestr „błąd inferencji” pomaga diagnozować, ale sam nie mówi, czy produkt został zatrzymany. Właściciel procesu musi wskazać dozwoloną reakcję, a implementacja potwierdzić ją obserwowalnym stanem.
Jak przeprowadzić odbiór reguły decyzji
Odbiór powinien dotyczyć całego przepływu, nie tylko pliku modelu. Zamrażamy wersję preprocessingu, modelu, progów i instrukcji kontroli ręcznej. Na wydzielonym zbiorze sprawdzamy wyniki globalne oraz istotne grupy produktów, a następnie testujemy napływ, przeciążenie i brak informacji zwrotnej.
Minimalna karta decyzji powinna zawierać:
- definicję wady i jednostki decyzji oraz źródło etykiet;
- dolny i górny próg wraz z regułą równości na granicy;
- liczbę przeoczeń, fałszywych alarmów i odroczeń z mianownikami;
- założenia kosztowe, ograniczenia jakości i wrażliwość wyboru;
- zdolność kontroli ręcznej, czas oczekiwania i zachowanie przy przeciążeniu;
- kryterium wycofania zmiany oraz sposób odzyskania poprzedniej konfiguracji.
Przed pełną automatyzacją można uruchomić ocenę w trybie obserwacyjnym: reguła proponuje działanie, ale dotychczasowy proces nadal je rozstrzyga. Taki etap ma sens tylko wtedy, gdy zapisujemy rozbieżności i rzeczywiste wyniki. Samo stwierdzenie, że model działał przez tydzień bez awarii programu, nie dowodzi poprawności decyzji.
Próg jest częścią produktu. Powinien mieć właściciela, wersję, uzasadnienie i warunki ponownego sprawdzenia. Dopiero wtedy zdanie o skuteczności modelu można zastąpić bardziej użytecznym stwierdzeniem: wiemy, jakie decyzje podejmuje ten system, jakie błędy dopuszcza, jak je wykrywamy i co robimy, gdy warunki przestają odpowiadać założeniom.
Źródła
- scikit-learn 1.9.1: Tuning the decision threshold for class prediction - rozdzielenie predykcji od działania i oddzielne dane do strojenia progu.
- scikit-learn 1.9.1: Metrics and scoring - definicje metryk klasyfikacji.
- scikit-learn 1.9.1: Probability calibration - interpretacja prawdopodobieństw i ocena kalibracji.
- Guo, Pleiss, Sun, Weinberger: On Calibration of Modern Neural Networks, ICML 2017 - badanie kalibracji sieci neuronowych.
Źródła sprawdzono 21.10.2026; dokumentacja oznaczała wersję 1.9.1. Wszystkie dane, koszty i obliczenia kolejek w artykule są syntetycznymi przykładami. Nie trenowano ani nie benchmarkowano rzeczywistego modelu.