Sobes.tech
Middle — Senior

Jak wyznaczyć pochodną funkcji straty dla logloss i MSE?

sobes.tech AI

Odpowiedź od AI

W funkcjach straty w uczeniu maszynowym często konieczne jest obliczenie pochodnej (gradientu) w celu optymalizacji modelu.

  1. MSE (Średni błąd kwadratowy) — średni błąd kwadratowy:

Funkcja straty:

[ L = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 ]

Pochodna względem prognozy ( \hat{y}_i ):

[ \frac{\partial L}{\partial \hat{y}_i} = -\frac{2}{n} (y_i - \hat{y}_i) ]

  1. LogLoss (logarytmiczna funkcja straty) — używana w zadaniach klasyfikacji (np. regresja logistyczna):

Dla klasyfikacji binarnej:

[ L = -\frac{1}{n} \sum_{i=1}^n \left[ y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i) \right] ]

gdzie ( y_i \in {0,1} ), ( \hat{y}_i ) to przewidywane prawdopodobieństwo klasy 1.

Pochodna względem ( \hat{y}_i ):

[ \frac{\partial L}{\partial \hat{y}_i} = -\frac{1}{n} \left( \frac{y_i}{\hat{y}_i} - \frac{1 - y_i}{1 - \hat{y}_i} \right) ]

W kontekście regresji logistycznej, jeśli ( \hat{y}_i = \sigma(z_i) ) (funkcja sigmoidalna), to pochodna względem wejścia modelu ( z_i ) będzie:

[ \frac{\partial L}{\partial z_i} = \hat{y}_i - y_i ]

To upraszcza obliczenia podczas treningu.

Dlatego, aby zoptymalizować model, należy używać tych pochodnych do aktualizacji parametrów za pomocą metod gradientowych.