Predstavme si, že máme množinu údajov s dvoma atribútmi, \(X_1\) a \(X_2\), a že inštancie tejto množiny sú znázornené ako na obrázku nižšie. Pozdĺž osi x je zastúpený atribút \(X_1\), pozdĺž osi y atribút \(X_2\) a farba bodiek označuje triedu, do ktorej každá z týchto inštancií patrí. Budete súhlasiť, že lineárny model, ktorý určuje čiaru v rovine, by nám mohol pomôcť vyriešiť problém klasifikácie oddelením tried - jednej pod touto čiarou a druhej nad ňou. Aby sme mohli dospieť k záveru týmto spôsobom, budeme mať úžitok z funkcie sigmoidu.

Sigmoidná funkcia je populárnou funkciou v príbehu strojového učenia. Určuje sa rovnicou

\(σ(x)=\frac{1}{1+e^{−x}}\)

Jej obrázok vyzerá ako ten na obrázku nižšie.

Graph of sigmoid function

Okamžite si môžeme všimnúť, že táto funkcia má rozsah hodnôt od 0 do 1. Čím menšie sú hodnoty \(x\), tým bližšie je hodnota tejto funkcie k 0 a podobne čím väčšia je hodnota \(x\), tým bližšie je hodnota sigmoidnej funkcie 1. Pre \(x= 0\) je hodnota sigmoidnej funkcie 0,5. Ak túto hodnotu deklarujeme ako prahovú hodnotu a zavedieme pravidlá:

  1. Ak je hodnota sigmoidnej funkcie väčšia alebo rovná 0,5, priraďte x k kladnej triede a
  2. Ak je hodnota sigmoidnej funkcie menšia ako prahová hodnota 0,5, priraďte x k zápornej triede

Získame funkciu vhodnú pre klasifikačnú úlohu.

 

Zdá sa nám tiež, že čím vyššie sú hodnoty x, tým presvedčivejšie je rozhodnutie spojiť x s pozitívnou triedou, pretože výrazne prekračujeme prahovú hodnotu. Zdá sa tiež, že čím menšie sú hodnoty x, tým pravdepodobnejšie je rozhodnutie spojiť x so zápornou triedou, pretože sme výrazne pod prahovou hodnotou. Pre hodnoty x, ktoré sú okolo nuly, sú tieto argumenty slabšie. Preto môže byť sigmoidná funkcia spojená aj s interpretáciou pravdepodobnosti príslušnosti k triede.

 

Ak spojíme igmoidálnu funkciu a rovnicu lineárneho modelu, dostaneme rovnicu logistického regresného modelu, ktorá je vo všeobecnosti

\(y=σ(X_1,X_2,...,X_n)=\frac{1}{1+e^{−(ꞵ_0+ꞵ_1X_1+ꞵ_2X_2+ꞵ_3X_3+...+ꞵ_nX_n)}}\).

Argumenty \(X_1, X_2, ..., X_n\) označujú atribúty v súbore údajov, zatiaľ čo jeho hodnoty uu sa pohybujú od 0 do 1 a, ako sme videli, dávajú zmysel pre klasifikačnú úlohu. K tejto rovnici môžeme pridať aj nasledujúcu geometrickú interpretáciu: údaje sú klasifikované buď pod alebo nad "čiarou", ktorá je určená rovnicou lineárneho vzťahu, ktorú sme si pôvodne predstavovali.

Krížová entropia

Chybová funkcia, ktorá charakterizuje logistickú regresiu, sa nazýva krížová entropia . Najprv spoznajme intuíciu, ktorá sa skrýva za touto funkciou, a potom spoznajme jej matematickú formu.

Povedali sme, že hodnotu vypočítanú logistickým regresným modelom interpretujeme ako pravdepodobnosť príslušnosti do jednej z tried a že sa riadime pravidlom, že ak táto hodnota prekročí prahovú hodnotu 0,5, interpretujeme ju ako patriacu do pozitívnej triedy a ak je táto hodnota menšia ako 0,5,  interpretujeme to ako príslušnosť k negatívnej triede. Ak je hodnota pravdepodobnosti 0,5, interpretuje sa ako patriaca do kladnej triedy.

Vypočítame chybovú funkciu na tréningovej množine. V ňom vieme pre každý prípad, aké sú presné charakteristiky, takže ich môžeme vždy porovnať s charakteristikami, ktoré vypočítal, t.j. pripojil som sa k modelu.

 Predpokladajme, že pre tri inštancie patriace do kladnej triedy logistický regresný model vypočítal hodnoty 0,94, 0,56 a 0,3. V prvom prípade je hodnota blízka jednotke, takže naznačuje určité rozhodnutie modelu. V druhom prípade je táto hodnota menšia a bližšie k klasifikačnému prahu, ale dostatočná na dobré rozhodnutie modelu. V treťom prípade je hodnota pod prahovou hodnotou a spôsobila by chybu modelu. Pri navrhovaní chybovej funkcie chceme penalizovať výpočty modelu, ktoré pre kladné Hodnota je väčšia ako 1, t.j. aby boli ich príspevky k celkovej chybe modelu väčšie. Jednou z takýchto funkcií, ktorá spĺňa požadovanú vlastnosť, je \(− log(x)\), ktorej graf je znázornený na obrázku nižšie. Na to, aby chyba dostala kladnú hodnotu, potrebujeme znamienko mínus, pretože logaritmus je záporný pre hodnoty argumentu funkcie, ktoré sú od 0 do 1. V grafe tiež vidíme, že hodnoty funkcie sú malé pre argumenty bližšie k 1, t. j. že hodnoty funkcie sú väčšie pre argumenty, ktoré sú bližšie k nule. Takže teraz v poradí budú príspevky k celkovej chybe extrahovaných inštancií \(− log(0.94)= 0.062\), \(− log(0.56)= 0.579\) a \(− log(0.3)= 1.203\) a presne taký pomer veľkosti, aký sme chceli. Môžeme ich zaznamenať aj do tabuľky, ako sme to urobili a do úlohy lineárnej regresie. Do prvého stĺpca umiestnime značku triedy (presnú hodnotu), do druhého stĺpca pravdepodobnosť p vypočítanú modelom a do tretieho stĺpca zadáme hodnotu \(− log(p)\). Všimnite si, že názov stĺpca hovorí \(− y ∗ log (p)\), ale keďže \(y = 1\), je to to isté ako \(− log(p)\).

 Vyberme teraz tri inštancie zápornej triedy a diskutujme o očakávaniach, ktoré máme od chybovej funkcie v ich prípade. Nech sú pravdepodobnosti vypočítané logistickým regresným modelom 0,03, 0,48 a 0,74. Teraz je v prvom prípade hodnota modelu blízka nule, takže naznačuje určité rozhodnutie patriť do negatívnej triedy. V druhom prípade je táto hodnota blízko klasifikačnej prahovej hodnoty, ale je pod ňou, takže opäť stačí, aby sa model rozhodol pre negatívnu triedu. V prípade tretej inštancie je hodnota pravdepodobnosti nad prahovou hodnotou, takže model sa pomýli a klasifikuje inštanciu ako pozitívnu. Od chybovej funkcie pre záporné inštancie očakávame, že ich podiel na celkovej chybe je tým vyšší, čím ďalej sú od nuly. Jednou z takýchto funkcií, ktorá spĺňa túto vlastnosť, je − log(1 − p) a jej graf je znázornený na obrázku nižšie. Opäť používame funkciu so znamienkom mínus, aby bola chybová hodnota kladná. Teraz môžeme zapísať hodnoty tejto funkcie do tabuľky. Prvý stĺpec teraz obsahuje inštancie s hodnotou 0, druhý stĺpec obsahuje pravdepodobnosti p, ktoré model vypočítal, a posledný stĺpec obsahuje hodnoty chybových funkcií \(− log(1 − p)\). Keďže \(y = 0\) pre všetky inštancie, symbol v názve stĺpca \(−(1 − y) ∗ (1 − p)\) nič nemení.

Celková hodnota funkcií krížovej entropie sa získa, keď sa spočítajú chybové príspevky všetkých kladných a všetkých záporných inštancií (podobne ako sme to urobili v probléme lineárnej regresie a chyby strednej druhej hodnoty). Toto je napísané vo formulári

\(−\sum\limits_{i = 1}^{N}(y_i⋅log(p_i)+(1−y_i)⋅log(1−p_i))\)

kde prvý faktor sčítava príspevky chýb pozitívnych prípadov a druhý faktor prispieva k chybám negatívnych prípadov. Hodnota yi je presná charakteristika triedy v trénovacom súbore a pi je pravdepodobnosť vypočítaná logistickým regresným modelom. Táto chyba sa nazýva binárna crossentropia.

Hodnoty neznámych \(β\) parametrov v modeli logistickej regresie sa zistia výberom hodnoty parametra, pre ktorú je funkcia krížovej chyby najmenšia. Technika gradientného zostupu nám môže pomôcť aj v tomto prípade.

Teraz sa pozrime na trochu iný klasifikačný algoritmus.

 

 

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