Kaip nustatyti nuostolių funkcijos išvestinę logloss ir MSE?
sobes.tech AI
Atsakymas iš AI
Mašininio mokymosi nuostolių funkcijoms dažnai reikia apskaičiuoti išvestinę (gradientą), kad optimizuotų modelį.
- MSE (Vidutinė kvadratinė klaida) — vidutinė kvadratinė klaida:
Nuostolių funkcija:
[ L = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 ]
Išvestinė, palyginti su prognoze ( \hat{y}_i ):
[ \frac{\partial L}{\partial \hat{y}_i} = -\frac{2}{n} (y_i - \hat{y}_i) ]
- LogLoss (logaritminė nuostolių funkcija) — naudojama klasifikacijos užduotyse (pvz., logistinė regresija):
Binarinei klasifikacijai:
[ L = -\frac{1}{n} \sum_{i=1}^n \left[ y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i) \right] ]
Kur ( y_i \in {0,1} ), ( \hat{y}_i ) yra iš anksto prognozuota tikimybė klasės 1.
Išvestinė, palyginti su ( \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) ]
Logistinėje regresijoje, jei ( \hat{y}_i = \sigma(z_i) ) (sigmoid), tada išvestinė pagal įėjimą ( z_i ) bus:
[ \frac{\partial L}{\partial z_i} = \hat{y}_i - y_i ]
Tai supaprastina skaičiavimus mokymo metu.
Todėl, norint optimizuoti modelį, būtina naudoti šias išvestines parametrų atnaujinimui naudojant gradientinius metodus.