Klasifikácia

Typy klasifikácie

Na samom začiatku je dôležité zdôrazniť, že nie všetky klasifikácie sú rovnaké. Preto najskôr zistíme, aké klasifikácie existujú a čo ich charakterizuje. Príklady triedenia papierov alebo triedenia pošty sú príkladmi binárnej klasifikácie , pretože máme len dve skupiny: kúsky papiera na vyhodenie a kúsky papiera na uskladnenie, t. j. žiaduca a nežiaduca pošta. Skupiny vo svete strojového učenia sa nazývajú triedy , takže sa tohto dátumu budeme držať aj naďalej. Aby sme mohli rozlišovať medzi triedami, spájame ich s názvami, ktoré sa približujú tomu, čo v skutočnosti obsahujú. Napríklad "kúsky papiera" a "nevyžiadaná pošta" sú dostatočne jasné názvy. Názvy sú často špecifikované označeniami, ktoré sa zobrazujú v množine údajov, na ktorú sa použije úloha klasifikácie.

 Ak máme viac ako dve triedy, hovoríme o multitriednej klasifikačnej úlohe . Taká je napríklad úloha triedenia fotografií podľa udalostí, kde každá udalosť môže predstavovať jednu triedu. Môžeme vytvoriť tri adresáre, t. j. tri triedy, dať im názvy "exkurzia", "narodeniny tety" a "výlet" a potom každú z fotografií priradiť k jednej z týchto tried vložením do príslušného adresára.

 Môžeme premýšľať o rôznych typoch klasifikácie na základe kritérií príslušnosti. Napríklad jeden e-mail môže byť žiaduci alebo nežiaduci, nemôže patriť do triedy žiaducich aj nežiaducich e-mailov súčasne. Podobne je to aj s fotografiami a triedami, ktoré sme zaviedli. Na druhej strane, jeden novinový článok môže byť súčasne na tému kultúry, cestovania a jedla, takže ho môžeme spojiť s väčším počtom tried – tou, ktorá reprezentuje kultúru, tú, ktorá predstavuje cestovanie a tú, ktorá predstavuje jedlo. Keďže v tomto prípade majú inštancie viac funkcií, t. j. štítky, nazývame tento typ klasifikácie multilabelárna klasifikácia . Aj keď je to veľmi zaujímavé a užitočné, multilabelárnu klasifikáciu sa nebudeme zaoberať ďalším obsahom, ale zameriame sa na binárnu a viactriednu klasifikáciu.

Klasifikácia z pohľadu strojového učenia

Keď premýšľame o klasifikačnej úlohe z pohľadu strojového učenia, zaujímajú nás diskrétne mapovania, teda mapovania, ktoré dokážu vstupným premenným priradiť jednu z konečných hodnôt. Najčastejšie je počet tried menší, vyjadrený jednociferným číslom, ale môžete si spomenúť aj na sadu ImageNet  a súťaž v klasifikácii obrázkov, v ktorej sa používa 1000 tried. Premenné, ktoré môžu mať konečný počet hodnôt, sa nazývajú kategorické, takže môžeme hovoriť o klasifikácii Je to ako mapovanie, ktoré je charakterizované kategorickou cieľovou premennou

 \( F(x) = \begin{cases} 0 & \text{if } x < 0 ,\\ \frac{1}{2} & \text{if } 0 \leq x < 1 ,\\ 1 & \text{if } x \geq 1 \end{cases} \)

Príklad diskrétnej funkcie.

Keďže klasifikácia je úloha strojového učenia pod dohľadom, množina údajov použitá na trénovanie modelu obsahuje dvojice vstupov a očakávaných výstupov. Vstupmi môžu byť obrázky, textové správy alebo tabuľkové údaje a na ich prípravu sa vzťahujú všetky pokyny diskutované v lekcii o príprave súboru údajov. Výstupom je vždy názov triedy. Hoci sme zaviedli názvy tried, aby sme uľahčili sledovanie úlohy klasifikácie, keď sa dostaneme k časti prípravy údajov, musíme ich transformovať aj na číselné hodnoty. Tu sa môžeme riadiť prípravami, o ktorých sme hovorili pre prácu s kategorickými atribútmi: mapovanie množiny hodnôt alebo  jednorazové kódovanie.

V prípade binárnej klasifikácie zvyčajne mapujeme názvy tried na hodnoty 0 a 1. Napríklad výskyt názvu triedy "nevyžiadaná pošta" je nahradený hodnotou 0 a výskyt názvu "nevyžiadaná pošta" hodnotou 1. O inštanciách, ktoré majú označenie 0, sa často hovorí, že patria do  zápornej triedy a o inštanciách, ktoré majú označenie 1, sa hovorí, že patria do kladnej triedy.

 Pokiaľ ide o klasifikáciu viacerých tried, na prípravu cieľovej premennej používame jednorazové kódovanie . Napríklad pri úlohe triedenia fotografií podľa udalostí prevedieme výstupy na vektory s dĺžkou tri, pretože máme presne tri triedy: "exkurzia", "narodeniny tety" a "výlet". Ďalej každej z týchto hodnôt priradíme vektor, ktorý má jednotku na príslušnej pozícii a nulu na všetkých zostávajúcich pozíciách. To bude, v poradí, hodnoty (1, 0, 0), (0, 1, 0) a (0, 0, 1). Tu je dôležité dôsledne dodržiavať zvolené poradie tried.

Nižšie sa zoznámime s dvoma algoritmami používanými pre úlohu binárnej klasifikácie. Problém klasifikácie viacerých tried je možné vyriešiť pomocou špeciálne navrhnutých algoritmov, ale aj pomocou niekoľkých pridružených binárnych klasifikátorov. Približujeme si dve takéto techniky nazývané "jeden proti všetkým" a "jeden na jedného".

Predstavme si, že máme tri triedy: červenú, zelenú a modrú. Prístup "jeden proti všetkým" znamená, že sa musíme naučiť tri binárne klasifikátory: jeden, ktorý odlišuje zelenú triedu od ostatných (zväzky červenej a modrej triedy), jeden, ktorý odlišuje modrú triedu od ostatných (zväzky zelenej a červenej triedy), a jeden, ktorý odlišuje červenú triedu od ostatných (zväzky zelenej a modrej triedy). Keď potrebujeme klasifikovať novú inštanciu, spustíme každý z troch binárnych klasifikátorov a na získané výsledky použijeme princíp najvyššej spoľahlivosti: inštancia sa pripojí k triede, ktorej klasifikátor je najbezpečnejší. Čoskoro uvidíme, ako sa posúdi bezpečnosť klasifikátora.

Individuálny prístup

Opäť si predstavte, že máme tri triedy: červenú, zelenú a modrú. Individuálny prístup zahŕňa trénovanie binárnych klasifikátorov, ktoré dokážu rozlíšiť medzi každým z párov tried: červená a zelená, zelená a modrá a červená a modrá. Vo všeobecnosti, ak máme n tried, počet binárnych klasifikátorov, ktoré musíme trénovať, je \(\frac{n ⋅ (n−1)}{2}\). Keď potrebujeme klasifikovať novú inštanciu, spustíme každý z naučených klasifikátorov a na získané výsledky aplikujeme princíp väčšinového hlasovania: inštancia sa pripojí k triede, za ktorú hlasuje najväčší počet klasifikátorov.

One-on-one approach

Last modified: Tuesday, 10 June 2025, 11:20 PM