Nazaj stat R

Uvod

Na področju znanosti se točnost (angl. accuracy) uporablja za določitev ustreznosti količine, glede na referenčno vrednost. Natančnost (angl. precision) je s točnostjo povezana, vendar le-ta določa stopnjo podobnosti rezultatov.

Če z lokom streljamo v tarčo, je na sliki 1 prikazana dobra točnost in slaba natančnost strelca, saj so vse puščice blizu sredine tarče, vendar niso vse na istem mestu. Slika 2 pa prikazuje strelca z dobro natančnostjo in slabo točnostjo, saj so vse puščice blizu skupaj, vendar po drugi strani dlje od sredine tarče.

**Dobra točnost** in slaba natančnost

Slika 1: Dobra točnost in slaba natančnost

**Dobra natančnost** in slaba točnost

Slika 2: Dobra natančnost in slaba točnost

Če se pri ovrednotenju algoritmov strojnega učenja zanašamo zgolj na točnost, lahko dobimo zavajajoče rezultate, kar velja predvsem za podatke, kjer napovedni razredi niso enakovredno zastopani.

Zakaj zgolj točnost ni dovolj?

Če napovedne modele vrednotimo z natančnostjo, vemo da morajo biti vrednosti v zgornjem levem in spodnjem desnem delu tabele napačnih klasifikacij (angl. confusion matrix) visoki, preostali dve vrednosti pa nizki.

Kaj te vrednosti dejansko pomenijo? Kaj je v osnovi narobe z dobro točnostjo?

Recimo, da je naša naloga odkrivanje teroristov na podlagi prepoznave obraza. V naših testnih podatkih imamo \(1000000\) obrazov, kjer je med njimi zgolj \(10\) teroristov. Če naš odločitveni model vsak primer označi za neterorista imamo \(1 - \frac{10}{1000000} \approx \boldsymbol{99.99\ \%}\) točen model.

Naš model bi dejansko moral biti sposoben vsakič odkriti terorista, vendar to pri prej omenjeni točnosti ne naredi nikoli! Z drugimi besedami, priklic našega modela je \(0\), kar v bistvu pomeni, da imamo izredno slab model.

Tabela napačnih klasifikacij

Preden gremo v podrobnosti, si poglejmo tabelo napačnih klasifikacij, ki je ponavadi v obliki, kot jo prikazuje tabela 1.

Tabela 1: Tabela napačnih klasifikacij (angl. confusion matrix)
  Dejansko
Dejansko
 
Napoved
pravilno razvrščeni pozitivni primeri
angl. True Positives (TP)
napačno razvrščeni negativni primeri
angl. False Positives (FP)
Natančnost
angl. Precision
Napoved
napačno razvrščeni pozitivni primeri
angl. False Negatives (FN)
pravilno razvrščeni negativni primeri
angl. True Negatives (TN)
Priklic
angl. Recall
Točnost
angl. Accuracy

Če si pogledamo tabelo napačnih klasifikacij še na konkretnem primeru napovedovanja gibanja cene zlata, kot prikazuje tabela 2.

Tabela 2: Tabela napačnih klasifikacij gibanja cene zlata
  Dejansko
Dejansko
 
Napoved
\(\color{green}{TP} = 140\) \(\color{darkred}{FP} = 26\) \(\color{gray}{\frac{140}{140 + 26} \approx \boldsymbol{84\ \%}}\)
Napoved
\(\color{darkred}{FN} = 86\) \(\color{green}{TN} = 726\)
\(\color{gray}{\frac{140}{140 + 86} \approx \boldsymbol{62\ \%}}\) \(\color{gray}{\frac{140 + 726}{140 + 726 + 26 + 86} \approx \boldsymbol{89\ \%}}\)

Točnost

Ali je to dober model? Točnost modela izračunamo z enačbo (1) in znaša približno \(\boldsymbol{89\ \%}\), kar pa dejansko ne pomeni ničesar.

\[ \begin{equation} \textbf{Točnost}\ \text{(angl. Accuracy)} = \frac{\color{green}{TP} + \color{green}{TN}}{\color{green}{TP} + \color{green}{TN} + \color{darkred}{FP} + \color{darkred}{FN}} \tag{1} \end{equation} \]

Zato pa imamo na voljo še druge metrike, kot je npr. natančnost, priklic in F-beta.

Natančnost

Natančnost se izračuna z enačbo (2) in predstavlja pravilnih pozitivnih napovedi.

\[ \begin{equation} \textbf{Natančnost}\ \text{(angl. Precision)} = \frac{\color{green}{TP}}{\color{green}{TP} + \color{darkred}{FP}} \tag{2} \end{equation} \]

Pri natančnosti se pri izračunu upoštevajo:

  • pravilno razvrščeni pozitivni primeri (TP), ki so bili napovedani pozitivno in so tudi dejansko bili pozitivni (npr. napovedan dvig cene zlata, ko se dvig dejansko tudi zgodil) ter
  • napačno razvrščeni negativni primeri (FP), ki so prav tako napovedani pozitivno, vendar so bili dejansko negativni (npr. napovedan dvig cene zlata, ko se je dejansko zgodil padec cene ali bolnik, ki dejansko ni okužen s COVID-19, vendar je na testiranju pozitiven).

Če izračunamo natančnost modela za napovedovanje gibanja cene zlata, dobimo \(\frac{TP}{TP + FP} = \frac{140}{140 + 26} \approx \boldsymbol{84\ \%}\).

Obe vrednosti, točnost in natančnost, sta v intervalu \([0, 1]\), kjer je večja vrednost boljša. Natančnost modela za napovedovanje gibanja cene zlata se zdi kar dobra in bistvu pomeni, da model ne generira veliko napačno razvrščenih negativnih primerov.

Priklic

Priklic se izračuna z enačbo (3) in je zelo koristna metrika pri številnih klasifikacijskih problemih. Vrača nam razmerje pravilno razvrščenih pozitivnih primerov med vsemi pozitivnimi primeri.

\[ \begin{equation} \textbf{Priklic}\ \text{(angl. Recall, Sensitivity, True positive rate)} = \frac{\color{green}{TP}}{\color{green}{TP} + \color{darkred}{FN}} \tag{3} \end{equation} \]

Pri primeru napovedovanja gibanja cene zlata priklic predstavlja delež vseh dvigov cen zlata, ki jih je model uspel identificirati. V tem primeru je tako treba upoštevati tudi napačno razvrščene pozitivne primere (npr. bolnik je dejansko okužen s COVID-19, vendar je na testiranju negativen). V nekaterih primerih so lahko napačno razvrščeni pozitivni primeri (FN) lahko veliko bolj problematični kot napačno razvrščeni negativni primeri (FP), zato je ključno, da ugotovimo, kateri napačno razvrščeni primeri so bolj pomembni pri našem problemu.

Pri napovedovanju gibanja cene zlata je priklic modela enak \(\frac{TP}{TP + FN} = \frac{140}{140 + 86} \approx \boldsymbol{62\ \%}\). Tako kot velja za točnost in natančnost, je tudi vrednost priklica v intervalu \([0, 1]\) in dobljeni rezultat ni najboljši.

F-\(\boldsymbol{\beta}\)

Če želimo, da sta natančnost in priklic ustreznih vrednosti, lahko uporabimo metriko F-\(\boldsymbol{{\beta}}\), ki zagotavlja ravnovesje med natančnostjo in priklicem. Privzeta F ocena je F1 in jo izračunamo z enačbo (4) ter ne favorizira nobene izmed prej omenjenih metrik.

\[ \begin{equation} \textbf{F1} = \frac{2 \cdot \text{Natančnost} \cdot \text{Priklic}}{\text{Natančnost} + \text{Priklic}} \tag{4} \end{equation} \]

Če izračunamo oceno F1 modela za napovedovanje gibanja cene zlata, dobimo \(\frac{2 \cdot \text{ Natančnost } \cdot \text{ Priklic}}{\text{Natanćnost } + \text{ Priklic}} = \frac{2 \cdot 84 \cdot 62}{84 + 62} \approx \boldsymbol{71\ \%}\).

Med izračunom ocene F lahko poljubno utežimo natančnost ali priklic s spreminjanjem parametra \(\beta\), kjer je posplošen način izračuna F ocene prikazan v enačbi (5).

\[ \begin{equation} \textbf{F}\boldsymbol{\beta} = \frac{(1 + \beta^2) \cdot \text{Natančnost} \cdot \text{Priklic}}{\beta^2 \cdot \text{Natančnost} + \text{Priklic}} \tag{5} \end{equation} \]

V praksi se najbolj pogosto uporabljajo naslednje vrednosti za parameter \(\beta\):

  • \(\boldsymbol{\beta = 0,5}\), kjer želimo razmerje med natančnostjo in priklicem ter damo večji pomen priklicu,
  • \(\boldsymbol{\beta = 1}\), kjer imamo enakovredno razmerje med natančnostjo in priklicem, kot prikazuje enačba (4),
  • \(\boldsymbol{\beta = 2}\), kjer želimo razmerje med natančnostjo in priklicem ter damo večji pomen natančnosti.

Zaključek

Natančnost algoritma strojnega učenja je lahko zavajujoča mera, zato je treba biti pri uporabi previden. Če je napovedovanje pozitivnih in negativnih primerov enako pomembno ter so podatki enakovredno porazdeljenih po teh razredih, potem je lahko natančnost še vedno koristna metrika.

Vendar večino ta predpostavka ne drži, zato je pomembno da pri pregledu nabora podatkov temeljito premislite o potencialnih težavah in se odločite, kaj je v konkretnem primeru bolj pomembno - manj napačano razvrščenih pozitivnih (FN) oz. negativnih primerov (FP).

Ko je ta dilema razrešena, je izbira ustrezne metrike enostavna.