Podręcznik
3. Perceptron wielowarstwowy
3.4. Funkcje kosztu
Do zastosowania algorytmów uczenia gradientowego (rozdział 2.2) wymagane jest wyznaczenie wartości funkcji kosztu oraz jej pochodnych po parametrach sieci. W tym rozdziale zostaną omówione podstawowe funkcje kosztu.
W problemach regresji najczęściej stosujemy błąd średniokwadratowy (ang. MSE - Mean Squared Error) (wzór 14):

gdzie jest liczbą przykładów,
prawidłową etykietą dla
-tego przykładu, a
wyjściem sieci dla
-tego przykładu. Błąd średniokwadratowy polega na wyznaczeniu różnicy między prawidłową wartością a wyjściem sieci, podniesieniu do kwadratu i uśrednieniu dla wszystkich przykładów.
W problemach klasyfikacji binarnej (klasyfikacji dla dwóch klas) stosujemy binarną entropię krzyżową (ang. BCE - binary cross-entrophy) (wzór 15):

Funkcja ta na pierwszy rzut oka wydaje się trudna do zrozumienia. Spróbujmy zbudować sobie intuicje odnośnie jej działania. Dla pojedynczego przykładu (pomijamy sumowanie po ) rozważmy funkcję kosztu daną wzorem (wzór 16):

Dla problemów klasyfikacji binarnej w warstwie wyjściowej stosujemy sigmoidalną funkcję aktywacji i wyjście sieci ma wartości z zakresu (0, 1). Dla rozważamy funkcję kosztu przedstawioną na wykresie 6a. Jeśli wyjście sieci
ma wartość 0 to koszt jest zerowy. Im bliżej
jest wartości 1 tym większa wartość funkcji kosztu, czyli dla predykcji nieprawidłowej klasy z dużą pewnością model dostaje silną negatywną informację zwrotną.
Odwrotnie dla stosujemy funkcję kosztu przedstawioną na rysunku 6b. Jeśli
to koszt jest zerowy. Im bliżej
jest zera, tym większy koszt. Jeżeli przyjrzymy się uważnie wzorowi (15), dostrzeżemy, że jest to inna forma zapisu (16) (i dodatkowo uwzględnienie wielu przykładów).


Dla wielu klas stosujemy entropię krzyżową wieloklasową (ang. categorical cross-entrophy) (wzór 17):

gdzie oznacza liczbę klas, a
jest indeksem klasy. Interpretacja jest taka sama jak dla binarnej entropii krzyżowej, ale tu uwzględniamy w wyliczeniu tylko wyjście sieci odpowiadające prawidłowej klasie.