Search
Termín odevzdání úlohy je v Upload Systému. Odevzdává se do upload systému.
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 je soubor (odkaz je níže), se kterým budete při řešení úlohy pracovat. Předpokládá se, že k řešení úlohy bude použit Python. Do odevzdávacího systému se odevzdává pdf report a implementace související s částí Hlavně bezpečně. Celková délka reportu by měla být rozhodně kratší než dvě strany A4. Doporučená délka reportu je jedna strana A4.
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$. Výsledek klasifikace daného klasifikátoru lze tedy vyjádřit jako funkci $C(\bf x, \alpha) \in \{0,1\}$, kde $\bf x$ je vektor náležící vzorku, který chceme klasifikovat.
Všechny klasifikátory pustíme na testovací množině $X = \{{\bf x}_0, {\bf x}_1, \dots, {\bf x}_{99} \}$. Zároveň vyzkoušíme 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\}$ (viz C1, C2, C3, C4, C5 v classif_result_tables.zip). Dále máme k dispozici skutečnou příslušnost vzorků $\bf x_0, \bf x_1, \dots, \bf x_{99}$ z testovací množiny (viz GT v classif_result_tables.zip).
classif_result_tables.zip
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 (tabulka C1) 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 krátkém 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.
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 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 tabulkách C1, C2, C3, C4, C5 (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 s výsledky klasifikace na testovací množině pro různé parametry $\alpha$ (ve stejném formátu jako C1, C2, atd.) a případně dalšími parametry dle uvážení. 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). V pdf reportu vysvětlete, podle jakých kritérií se bude funkce rozhodovat, a odevzdejte také řešící funkci.
True
False