Loss function (stratová funkcia)

Čo je loss function?

Loss function (v slovenskom preklade stratová funkcia) je matematická funkcia, ktorá meria rozdiel medzi predikovanými hodnotami modelu a skutočnými hodnotami v tréningových dátach. Táto hodnota, označovaná ako strata (loss), vyjadruje mieru chyby modelu. Čím nižšia je hodnota stratovej funkcie, tým presnejšie model predikuje výsledky.

Ako stratová funkcia funguje pri tréningu

Počas trénovania model spracuje vstupné dáta a vytvorí predikciu. Stratová funkcia následne porovná túto predikciu so skutočnou hodnotou a vypočíta numerickú hodnotu, ktorá reprezentuje chybu. Optimalizačný algoritmus, napríklad gradient descent, potom upraví váhy modelu tak, aby minimalizoval túto hodnotu.

Proces sa opakuje cez mnoho iterácií. V každej iterácii model upravuje svoje parametre smerom k nižšej strate. Tento cyklus tvorí základ učenia v strojovom učení. Zahŕňa kroky ako predikcia, výpočet straty, úprava váh.

Typy stratových funkcií

Výber stratovej funkcie závisí od typu úlohy, ktorú model rieši.

  • Pre regresné úlohy sa často používa Mean Squared Error (MSE), ktorá počíta priemernú hodnotu štvorcov rozdielov medzi predikciou a skutočnosťou.
  • Pre klasifikačné úlohy je štandardom Cross-Entropy Loss, ktorá meria rozdiel medzi predikovanými pravdepodobnosťami a skutočnými triedami.
  • Medzi ďalšie bežné stratové funkcie patrí Mean Absolute Error (MAE) pre regresiu, Hinge Loss pre SVM klasifikátory a Huber Loss, ktorá kombinuje vlastnosti MSE a MAE.
  • Niektoré špecializované aplikácie využívajú vlastné stratové funkcie prispôsobené konkrétnym požiadavkám.
Vieš, že
Vieš, že…

…stratová funkcia a cost function označujú v praxi ten istý koncept? Termín cost function sa častejšie používa v kontexte optimalizácie, zatiaľ čo loss function v kontexte strojového učenia.

Význam stratovej funkcie pre optimalizáciu

Stratová funkcia definuje, čo model považuje za úspech. Rôzne stratové funkcie vedú k rôznemu správaniu modelu. Nevhodne zvolená stratová funkcia môže viesť k tomu, že model optimalizuje nesprávny cieľ.

Pri trénovaní neurónových sietí gradient stratovej funkcie určuje smer a veľkosť úprav váh. Stratové funkcie musia byť diferencovateľné, aby algoritmy ako backpropagation mohli vypočítať potrebné gradienty. Pri trénovaní hlbokých neurónových sietí môžu nastať problémy ako miznúce alebo explodujúce gradienty, ktoré komplikujú konvergenciu modelu. Tieto problémy sú spôsobené primárne voľbou aktivačných funkcií (napr. sigmoid, tanh) a inicializáciou váh, nie samotnou stratovou funkciou.

Zdroje a odkazy

Použité zdroje:

  • Google Developers – Machine Learning Crash Course, Loss Functions: https://developers.google.com/machine-learning/crash-course

Odporúčané zdroje:

  • Deep Learning Book – Optimization for Training Deep Models: https://www.deeplearningbook.org

Uvedené informácie sú orientačné a môžu sa líšiť v závislosti od verzie, implementácie a prostredia.