Search
V této úloze si vyzkoušíte, jak vybrat optimální klasifikátor v různých situacích.
Odevzdávejte ZIP archiv se dvěma soubory:
Report by měl být rozhodně kratší než dvě strany A4. Doporučená délka reportu je jedna strana A4.
Hodnocení bude uděleno na základě PDF reportu v závislosti na optimalitě řešení a kvalitě zdůvodnění zvoleného řešení. [0–5 bodů]
Při řešení praktických úloh strojového učení máme často k dispozici více klasifikátorů a musíme se rozhodnout, který je nejvhodnější pro danou úlohu. V ZIP balíčku (viz výše) jsou datové soubory, s nimiž budete při řešení úlohy pracovat.
Mějme 5 různých natrénovaných binárních klasifikátorů. Výsledek klasifikace každého z klasifikátorů je závislý na hodnotě parametru $\alpha$ a lze jej tedy vyjádřit jako funkci $C(\bf x, \alpha) \in \{0,1\}$, kde $\bf x$ je vektor popisující objekt, který chceme klasifikovat.
Všechny klasifikátory jsme aplikovali na testovací množinu $X = \{{\bf x}_0, {\bf x}_1, \dots, {\bf x}_{99} \}$. Zároveň jsme vyzkoušeli všechny přípustné hodnoty parametru $\alpha\in\{\alpha_0, \alpha_1, \dots, \alpha_{49}\}$. Pro klasifikátor $i\in\{1,2, \dots,5\}$ dostane tabulku s hodnotami $C_i(\bf x_j,\alpha_k)\in \{0,1\}$, kde $j \in \{0, 1,.., 99\}$, $k \in \{0, 1,.., 49\}$ (soubory C1.dsv až C5.dsv). Dále máme k dispozici skutečnou třídu vzorků $\bf x_0, \bf x_1, \dots, \bf x_{99}$ z testovací množiny (soubor GT.dsv).
C1.dsv
C5.dsv
GT.dsv
V této části předpokládejme, že klasifikátory slouží k binární klasifikaci obrázků (např. jestli je na obrázku pes). Pro klasifikátor 1 (soubor C1.dsv) určete, která hodnota parametru $\{\alpha_0, \alpha_1, \dots, \alpha_{49}\}$ je nejvhodnější. Uvědomte si, že zatím nevíte, pro jakou konkrétní úlohu bude daný klasifikátor použit, a proto je nutné použít dostatečně obecnou úvahu. Tedy použitá úvaha by neměla použití klasifikátoru eliminovat na jednu konkrétní úlohu.
V PDF reportu vaší volbu parametru zdůvodněte (užijte pojmy jako např. sensitivita, falešně pozitivní, ROC křivka atd.). Do reportu také vykreslete ROC křivku a na této křivce znázorněte bod, který odpovídá optimální hodnotě parametru $\alpha$.
Nyní si představte, že jste agent/ka 00111 a chcete k zabezpečení velmi tajných dokumentů použít svůj otisk prstu. Jedná se o velmi citlivá data, takže pokud nebudou kvalitně zabezpečena, tak bude lepší je zničit. K odemčení dat je vždy dostatek času. K dispozici máte 5 natrénovaných klasifikátorů (s různými hodnotami parametru $\alpha$). Vstupem klasifikátoru (vektor $\bf x$) je sken otisku prstu a v případě, že se jedná o váš otisk prstu, tak požadovaným výstupem klasifikátoru je hodnota 1 (dojde k odemčení dat), jinak hodnota 0. Všechny klasifikátory byly otestovány na testovací množině $X$ pro všechny hodnoty parametru $\alpha$. Výsledky testu pro jednotlivé klasifikátory jsou uloženy v souborech C1.dsv až C5.dsv (viz výše). K dispozici je také skutečná příslušnost jednotlivých otisků prstů (viz GT).
Vyberte vhodný klasifikátor a jeho parametr $\alpha$.
V PDF reportu uveďte svoji volbu a vysvětlete, podle jakých kritérií byla provedena.
Tato část navazuje na předchozí část Přísně tajné! Váš kolega, také agent, se nabídne, že vám poskytne svůj klasifikátor, který je opět závislý na parametru $\alpha$. Protože není jisté, jestli se nejedná o dvojitého agenta, tak bude dobré nejdříve zjistit, jestli je klasifikátor lepší než klasifikátor vybraný v předchozí části.
Z bezpečnostních důvodů bude muset rozhodnutí provést předem vytvořená funkce. Vstupem funkce bude tabulka C6 uložená v souboru C6.dsv, který v tuto chvíli nemáte k dispozici. Soubor bude mít stejný formát, jako soubory C1.dsv až C5.dsv. Výstupem funkce bude rozhodnutí, zda je nový klasifikátor lepší než ten z předchozí části (True, pokud je klasifikátor lepší, jinak False).
C6.dsv
True
False
V PDF reportu vysvětlete, podle jakých kritérií se bude funkce rozhodovat, a odevzdejte také funkci, která tuto úlohu řeší (soubor .py se může jmenovat libovolně, ale odevzdejte v ZIPu jen jeden).
.py