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.
- 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) ]
- 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.