Takéstatistická klasifikace, třídění do třídPokročilý
Definice
Klasifikace je úloha strojového učení, při níž model přiřazuje vstupům jednu nebo více předem daných tříd. Používá se například pro spam, detekci podvodů, rozpoznávání obrázků nebo třídění zákaznických zpráv. Model se učí ze štítkovaných dat a jeho výstupem bývá třída, skóre nebo pravděpodobnost.
Nezaměňujte: Klasifikace se v tomto hesle chápe hlavně jako úloha strojového učení, i když v širším smyslu může znamenat také taxonomické třídění, bezpečnostní stupeň dokumentu nebo obecné rozdělování objektů do kategorií.
Co klasifikace v modelu rozhoduje
Klasifikace řeší otázku, do které z předem známých kategorií patří nový vstup. Vstupem může být text e-mailu, obrázek, transakce, zvukový záznam nebo řádek tabulky. Výstupem není libovolné číslo jako u regrese, ale štítek: například spam, není spam, kočka, pes nebo riziková platba.
Klasifikační model obvykle nevidí „pravdu“ přímo. Učí se ze vzorů v datech, kde jsou příklady už označené správnou třídou. Pokud jsou trénovací štítky nekonzistentní, zastaralé nebo zaujaté, model se naučí i jejich chyby. Kvalita klasifikace proto nezačíná algoritmem, ale definicí tříd a sběrem dat.
Od štítkovaných příkladů k hranici rozhodnutí
Trénování klasifikátoru znamená hledání pravidla, které odděluje třídy v prostoru vlastností. U jednoduchého problému může hranice připomínat čáru mezi dvěma skupinami bodů. U neuronových sítí je hranice mnohem složitější, ale princip zůstává podobný: model převádí vstup na skóre pro jednotlivé třídy a učí se, aby správná třída dostávala vyšší skóre.
Binární klasifikace rozlišuje dvě možnosti, například schválit nebo zamítnout. Vícetřídní klasifikace vybírá jednu z více tříd, například druh zvířete na fotografii. Víceštítková klasifikace dovolí přiřadit několik tříd současně, třeba u článku označeného štítky bezpečnost a cloud.
Práh rozhodnutí mění dopad chyb
Model často vrací pravděpodobnost nebo skóre, nikoli hotové rozhodnutí. Teprve rozhodovací práh určí, kdy se výsledek považuje za pozitivní třídu. Nižší práh zachytí více případů, ale přidá falešné poplachy. Vyšší práh sníží počet falešných poplachů, ale může propustit část skutečných případů.
Volba prahu je produktové a provozní rozhodnutí. U filtrování spamu bývá falešně zahozená důležitá zpráva dražší než doručený spam. U detekce podvodu může být naopak přijatelné ručně zkontrolovat více transakcí, pokud systém zachytí rizikové platby včas.
Metriky, které ukazují jiné druhy úspěchu
Přesnost sama o sobě často klame, hlavně u nevyvážených dat. Pokud je podvodná jen malá část plateb, model může dosáhnout vysoké přesnosti tím, že všechno označí jako bezpečné. Proto se používá matice záměn, precision, recall, F1 skóre, ROC křivka nebo PR křivka.
Správná metrika závisí na ceně chyby. Recall říká, kolik skutečných pozitivních případů model našel. Precision říká, kolik označených pozitivních případů bylo opravdu správně. F1 skóre kombinuje obě veličiny, ale neumí samo rozhodnout, která chyba je pro konkrétní systém dražší.
Kde klasifikace ztrácí spolehlivost
Klasifikace se zhoršuje, když se mění svět kolem modelu. Slovník spamu, chování zákazníků i vzhled produktů v e-shopu se posouvají. Model natrénovaný na starých datech může mít dobré historické metriky a současně slabý výkon v produkci.
Praktické nasazení proto zahrnuje průběžné měření, kontrolu chyb, nové štítkování a někdy i opatrné vysvětlování rozhodnutí. Důvěryhodný klasifikátor není jen přesný model, ale celý proces od definice tříd po sledování dopadů na uživatele.
Příklady z praxe
Spam filtr v poště
E-mailový systém převede zprávu na vlastnosti, například výskyt podezřelých slov, odkazy a historii odesílatele. Klasifikátor vrátí skóre pro třídu spam a aplikace podle prahu rozhodne, zda zprávu doručí, přesune do spamu nebo pošle k další kontrole.
score = model.predict_proba([email_features])[0][1] label = "spam" if score >= 0.80 else "doručit" print(score, label)Detekce rizikové platby
Bankovní systém vyhodnocuje platbu podle částky, země, zařízení a obvyklého chování klienta. Klasifikátor označí část transakcí jako rizikové, takže se dočasně pozastaví nebo vyžádají dodatečné ověření. Výsledkem je méně podvodů, ale také nutnost hlídat falešné poplachy u legitimních plateb.
Časté omyly
- MýtusKdyž má klasifikátor přesnost 99 %, je určitě výborný.
- Ve skutečnostiVysoká přesnost může být zavádějící u nevyvážených tříd. Model, který téměř vždy předpoví většinovou třídu, může mít vysokou přesnost a přesto nenajít případy, které jsou pro byznys nebo bezpečnost nejdůležitější.
- MýtusKlasifikace vždy přiřadí právě jednu třídu.
- Ve skutečnostiBinární a vícetřídní klasifikace často vybírá jednu možnost, ale víceštítková klasifikace může vrátit několik tříd najednou. Článek, obrázek nebo zákaznický požadavek může patřit do více kategorií současně.
- MýtusPravděpodobnost z modelu je totéž jako jistota rozhodnutí.
- Ve skutečnostiSkóre klasifikátoru je odhad založený na datech a modelu. Bez kalibrace a kontroly na nových datech může být skóre příliš sebevědomé nebo naopak zbytečně opatrné.
Časté dotazy
- Jaká data potřebuje klasifikace pro trénování?
- Klasifikace potřebuje příklady, u kterých je známá správná třída, tedy štítkovaná data. U tabulkových dat jde o sloupce s vlastnostmi a sloupec s cílovou třídou. U obrázků, textů nebo zvuku je potřeba navíc převod vstupu na reprezentaci, se kterou model umí pracovat. Důležité je, aby trénovací data odpovídala reálnému použití a aby každá třída měla dostatek reprezentativních příkladů.
- Co dělat, když má klasifikace silně nevyvážené třídy?
- Klasifikace na nevyvážených datech může vypadat úspěšně, i když prakticky selhává. Pokud pozitivní třída tvoří jen malé procento případů, samotná přesnost zvýhodní model, který většinu vstupů označí jako běžné. V takové situaci se sleduje hlavně matice záměn, precision, recall a často PR křivka. Pomoci může také převzorkování, vážení tříd nebo změna rozhodovacího prahu.
- Znamená vysoká pravděpodobnost u klasifikace jistý výsledek?
- Klasifikace může vracet pravděpodobnosti, ale tyto hodnoty nemusí být dobře kalibrované. Skóre 0,9 nemusí vždy znamenat, že z deseti podobných případů bude devět správných. Některé modely jsou v pravděpodobnostech přehnaně sebejisté, jiné opatrné. Pokud pravděpodobnost ovlivňuje důležitá rozhodnutí, je vhodné kontrolovat kalibraci modelu a nebrat samotné skóre jako záruku pravdy.
- Kdy má klasifikace smysl místo ručně napsaných pravidel?
- Klasifikace se vyplatí nasadit, když jsou třídy předem definované, existují spolehlivě označené příklady a rozhodnutí se bude opakovat ve větším objemu. Ruční pravidla často stačí u jednoduchých, stabilních a dobře popsatelných případů. Model dává větší smysl tam, kde se kombinuje mnoho slabých signálů, například v textu, obrazu nebo transakční historii.
Zdroje
- Basic classification: Classify images of clothing(otevře se v novém okně)
- Transfer Learning for Computer Vision Tutorial(otevře se v novém okně)
- Image Classification(otevře se v novém okně)
- Statistical classification(otevře se v novém okně)