přesnost a úplnost modelu AI

Posunete rozhodovací práh nad rozdělením skóre a uvidíte, jak roste přesnost, zatímco klesá úplnost. Cvičení na 6 minut, zdarma a bez registrace.

PokročiláSimulace6 min

Posuňte rozhodovací práh nad rozdělením skóre a splňte zadanou podmínku na přesnost nebo úplnost.

Co si procvičíte

  • Vysvětlíte, proč posun prahu nahoru zvyšuje přesnost a zároveň snižuje úplnost
  • Najdete práh, který splní zadanou podmínku na úplnost nebo přesnost a zároveň maximalizuje tu druhou metriku
  • Přečtete z živých počtů TP, FP, FN a TN, jak se práh promítá do reálných chyb
  • Uvidíte, jak nízká základní míra pozitivní třídy srazí přesnost i při vysoké úplnosti

Vyberte si variantu

Co práh doopravdy dělá

Klasifikační model téměř nikdy nevrací rovnou „ano“ nebo „ne“. Vrací skóre, obvykle číslo mezi 0 a 100, které vyjadřuje, jak moc si je jistý, že jde o pozitivní případ (podvod, poruchu, spam, závažné porušení pravidel). Rozhodnutí, od jakého skóre nahoru se případ považuje za pozitivní, dělá teprve práh, a ten práh nastavuje člověk, ne model. Přesně tenhle jeden posuvník rozhoduje o tom, kolik bude falešných poplachů a kolik přehlédnutých případů, aniž by se na samotném modelu cokoli měnilo.

Ve hře vidíte dvě rozdělení skóre vedle sebe, jedno pro skutečně pozitivní třídu, druhé pro negativní. Táhnutím za práh se živě přepočítávají čtyři čísla: TP (správně zachycené pozitivní případy), FP (falešné poplachy), FN (přehlédnuté pozitivní případy) a TN (správně zachycené negativní případy). Z nich se odvozují přesnost a úplnost, a graf i čísla ukazují přesně to samé z jiného úhlu.

Proč obě metriky nejdou naráz

Zvýšení prahu znamená, že model za pozitivní označí jen ty nejjistější případy. Přesnost tím roste, protože z méně případů, které model označí, je větší podíl skutečně správný. Zároveň ale víc skutečně pozitivních případů se skóre pod novým prahem propadne sítem, takže úplnost klesá. Snížení prahu dělá přesný opak. U rozdělení se stejným rozptylem pro obě třídy, jaké používá tahle hra, je tenhle vztah matematicky zaručený: přesnost s rostoucím prahem roste přísně monotónně a úplnost přísně monotónně klesá. Neexistuje práh, který by obě metriky maximalizoval současně, existuje jen bod, kde je kompromis nejlepší vzhledem k tomu, co firma potřebuje.

Kdy chcete vysokou úplnost, a kdy vysokou přesnost

Volba záleží na tom, která chyba je dražší. U screeningu závažné nemoci nebo u detekce bezpečnostního rizika je přehlédnutý případ (FN) mnohem dražší než jeden zbytečný poplach navíc, proto se zadává podlaha na úplnost a přesnost se maximalizuje jen v rámci toho, co podlaha dovolí. U automatického mazání recenzí nebo u blokování e-mailů jako spam je to naopak: falešný poplach (FP) smaže něco, co smazané být nemělo, a to bolí víc než pár položek navíc ve frontě k ruční kontrole, takže se zadává podlaha na přesnost. Tahle volba není matematická, je obchodní, model jen poctivě spočítá důsledky obou možností.

Past nízké základní míry

Nejzrádnější scénář nastává, když je pozitivní třída vzácná. Detekce platebního podvodu je typický případ: podvodných bývá jen malý zlomek transakcí. I model s vynikající úplností, řekněme 95 %, může mít při tisících legitimních transakcí přesnost jen kolem 19 %, protože i pár procent falešných poplachů z obrovské negativní třídy v absolutních číslech výrazně převáží malý počet skutečných podvodů. Tvrzení typu „model má 99% přesnost“ bez znalosti základní míry pozitivní třídy proto nic neříká, 99% přesnost modelu, který skoro nikdy neoznačí nic jako pozitivní, může klidně znamenat, že zachytává jen zlomek skutečných případů. Pokročilá úroveň hry staví přesně tenhle jev na reálných číslech, ne jako tvrzení k zapamatování, ale jako výpočet, který si můžete sami ověřit.

Co si z toho odnést do rozhodování o AI

Když dodavatel AI řešení předloží jedno číslo, „model je přesný na 95 %“, je to neúplná věta. Chybí odpověď na dvě otázky: přesný podle které metriky, a při jakém prahu. Stejný model může být při jednom prahu přesný z 95 % a zachytit jen třetinu skutečných případů, při jiném prahu zachytit skoro všechny případy a být přesný jen z poloviny. Obě čísla jsou pravdivá, popisují jen jiný bod na téže křivce. Smysluplná otázka proto nezní „jak je model přesný“, ale „jaký kompromis mezi přesností a úplností tahle firma na tomhle prahu potřebuje, a proč zrovna tenhle práh a ne jiný“.

Praktický důsledek je, že práh není technický detail, který se nastaví jednou při spuštění a zapomene. Je to obchodní páka, kterou lze měnit podle toho, jak se mění cena chyby: sezónní špička může unést víc falešných poplachů výměnou za méně přehlédnutých případů, útlum naopak ne. Kdo tenhle vztah mezi prahem, přesností a úplností pochopí na jednoduché simulaci, dokáže se pak ptát dodavatele na správné otázky, místo aby se spokojil s jedním marketingovým procentem.

Časté dotazy

Co znamená přesnost (precision) a úplnost (recall)?
Přesnost odpovídá na otázku: ze všeho, co model označil jako pozitivní, kolik toho bylo doopravdy pozitivní. Počítá se jako TP děleno součtem TP a FP. Úplnost odpovídá na jinou otázku: ze všech skutečně pozitivních případů, kolik jich model zachytil. Počítá se jako TP děleno součtem TP a FN. Obě metriky popisují jinou chybu, přesnost trestá falešné poplachy, úplnost trestá přehlédnuté případy, a žádné jediné číslo je nenahradí.
Co je false positive a false negative?
False positive (FP) je případ, který model označil jako pozitivní, ale ve skutečnosti pozitivní nebyl, třeba poctivá transakce omylem označená jako podvod. False negative (FN) je opak: skutečně pozitivní případ, který model přehlédl, třeba doopravdy podvodná transakce, kterou model pustil bez povšimnutí. Který z nich bolí víc, závisí čistě na scénáři: u screeningu závažné nemoci je FN mnohem dražší, u automatického blokování plateb může být dražší naopak FP.
Proč nejde mít najednou vysokou přesnost i vysokou úplnost?
Protože obě reagují na posun prahu opačně. Když práh zvýšíte, model označí jako pozitivní jen nejjistější případy, takže přesnost roste, ale víc skutečně pozitivních případů propadne sítem a úplnost klesá. Když práh snížíte, je to přesně naopak. U rozdělení skóre se stejným rozptylem pro obě třídy (jako v tomhle cvičení) je tenhle vztah matematicky zaručený: přesnost prahu roste přísně monotónně, úplnost přísně monotónně klesá. Volba prahu je proto vždy volba kompromisu, ne hledání ideálního bodu, kde vyhrají obě metriky.
Co je F1 skóre a kdy ho použít?
F1 je harmonický průměr přesnosti a úplnosti, číslo mezi 0 a 1, které je vysoké jen tehdy, když jsou vysoké obě metriky současně. Hodí se tam, kde nemáte jasně vyšší cenu jedné chyby nad druhou a chcete jediné souhrnné číslo pro porovnání různých prahů nebo modelů. Tam, kde jedna chyba jasně bolí víc (třeba u screeningu nemoci, kde FN je mnohem dražší než FP), je lepší zadat rovnou podlahu na tu důležitější metriku, přesně jak to dělá tahle hra u úloh typu úplnost nebo přesnost.
Proč může mít model s vysokou úplností extrémně nízkou přesnost?
Kvůli nízké základní míře pozitivní třídy. Když je podvodná jen jedna transakce z dvou set, i model s 95% úplností (zachytí 95 % skutečných podvodů) může mít při tisících legitimních transakcí přesnost jen kolem 20 %, protože i malé procento falešných poplachů z obrovské negativní třídy v absolutních číslech výrazně převáží nízký počet skutečných podvodů. Tenhle jev je jeden z nejčastějších zdrojů zklamání z „99% přesných“ modelů v praxi a hra ho v pokročilé úrovni staví na skutečných číslech, ne jen jako tvrzení.

Zdroje