Sobes.tech
Middle — Senior

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į.

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

  1. 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.