Neyron tarmoq formulalari: qo‘llanma · Yo‘qotishlar — regressiya

RMSE: o‘rtacha kvadratik xatoning ildizi

Regressiyaning eng mashhur metrikasi — va eng ko‘p noto‘g‘ri o‘qiladiganlaridan biri. Uni mayda detallarigacha tahlil qilamiz: ildiz nima uchun kerak, RMSE va MAE orasidagi farq nimani bildiradi, nega RMSE vektorlar orasidagi masofa, u qanday qilib siljish va tarqoqlikka ajraladi va minimum bir xil bo‘lsa-da, uning gradiyenti MSE gradiyentidan nimasi bilan farq qiladi.

Javharbek Abdulatipov · 35 daq o‘qish
$$\mathrm{RMSE}=\sqrt{\frac{1}{n}\sum_{i=1}^{n}\bigl(y_i-\hat{y}_i\bigr)^2}$$

U nima uchun kerak

Model kvartira narxini, mahsulotga talabni, ertangi haroratni bashorat qiladi. U qanchalik adashishini bitta son bilan qanday aytish mumkin? Xatolarning oddiy o‘rtachasi yaramaydi: yuqoriga va pastga xatolar bir-birini yo‘qotadi. MSE xatolarni kvadratga oshiradi — lekin unda javob «so‘m kvadrat» yoki «gradus kvadrat»da chiqadi va «MSE 1 417 000 ga teng» degan gap buyurtmachiga hech narsa demaydi. RMSE ildiz chiqaradi va xatoni maqsadli o‘zgaruvchi birliklariga qaytaradi, MSE’ni yaxshi ko‘rishga sabab bo‘lgan barcha xossalarni saqlab qolgan holda.

U qayerda uchraydi:

  • regressiya modellarini baholash — hisobotlar, maqolalar va Kaggle musobaqalarida eng keng tarqalgan metrikalardan biri;
  • vaqt qatorlarini bashorat qilish — ob-havo, talab, energiya iste’moli; odatda uning yonida MAE va MAPE turadi;
  • tavsiya tizimlari — mashhur Netflix Prize (2006–2009) reyting bashoratlarini aynan RMSE bo‘yicha baholagan;
  • fizika va metrologiya — o‘lchovlarning o‘rtacha kvadratik xatosi, GPS aniqligi, signalning «RMS» qiymati;
  • modellarni o‘qitish — RMSE va MSE’ni minimallashtirish bir xil modelni beradi, lekin ularning gradiyentlari har xil (hosila bo‘limiga qarang).
Bir daqiqada asosiysi

RMSE — bu ildiz ostidagi MSE: $y$ birliklaridagi xato, u ham MSE kabi katta xatolarni qattiqroq jazolaydi. Doim $\mathrm{MAE}\le\mathrm{RMSE}\le\sqrt n\,\mathrm{MAE}$, va $\mathrm{RMSE}^2=\bar r^{\,2}+\sigma_r^2$ — siljish kvadrati va qoldiqlar dispersiyasining yig‘indisi. RMSE minimumi MSE minimumi bilan ustma-ust tushadi, gradiyenti esa — $2\,\mathrm{RMSE}$ ga bo‘lingan MSE gradiyenti.

Intuitsiya: o‘rtacha kvadratning tomoni

Har bir $r_i=y_i-\hat y_i$ xatoni tomoni $|r_i|$ bo‘lgan kvadrat sifatida chizamiz. Uning yuzi $r_i^2$ — obyektning MSE’ga qo‘shgan hissasi. Yuzlarni qo‘shib, $n$ ga bo‘lamiz — o‘rtacha yuz, ya’ni MSE chiqadi. RMSE esa — yuzi o‘rtacha yuzga teng bo‘lgan kvadratning tomoni.

Ko‘k nuqtalarni — bashoratlarni torting. O‘ngda barcha xatolar kvadratlari bitta burchakka joylangan: ko‘k kvadratning tomoni RMSE, firuza rang punktirli kvadratning tomoni MAE.

1-rasm. Umumiy misol: $y=(3;\,5;\,8)$, $\hat y=(2{,}5;\,5;\,10)$. $-2$ xato yuzi 4 bo‘lgan kvadratni, $0{,}5$ xato esa yuzi $0{,}25$ bo‘lganini beradi; o‘rtacha yuz $\mathrm{MSE}\approx1{,}417$, uning tomoni $\mathrm{RMSE}\approx1{,}190$. MAE tomoni kichikroq — $0{,}833$.
Nimaga e’tibor bering

Katta kvadrat o‘rtacha yuzni uzun tomon o‘rtacha uzunlikni tortganidan kuchliroq tortadi: $-2$ xatoga modullar yig‘indisining $80\%$ i, lekin kvadratlar yig‘indisining $94\%$ i to‘g‘ri keladi. Shuning uchun RMSE MAE’dan katta — xatolar qancha notekis bo‘lsa, shuncha katta. Uchala xatoni modul bo‘yicha bir xil qiling — ko‘k kvadrat firuza rangli bilan ustma-ust tushadi.

Formula mayda detallarigacha

Nomni o‘ngdan chapga o‘qisak, retseptning o‘zi chiqadi: squared error (xato kvadrati)ning mean (o‘rtacha)sidan root (ildiz).

$$r_i=y_i-\hat y_i\;\xrightarrow{\;(\cdot)^2\;}\;r_i^2\ge0\;\xrightarrow{\;\frac1n\sum\;}\;\mathrm{MSE}\;\xrightarrow{\;\sqrt{\cdot}\;}\;\mathrm{RMSE}$$
$y_i$
$i$-obyektning haqiqiy qiymati (fakt);
$\hat y_i$
modelning shu obyekt uchun bashorati;
$r_i=y_i-\hat y_i$
xato yoki qoldiq (residual); ishora kam baholaganimizni ($r_i>0$) yoki ortiq baholaganimizni ($r_i<0$) ko‘rsatadi;
$r_i^2$
kvadrat ishorani yo‘qotadi va katta xatolarni nomutanosib og‘ir qiladi: ikki baravar katta xato to‘rt baravar og‘ir;
$\frac1n\sum_{i=1}^n$
barcha $n$ ta obyekt bo‘yicha o‘rtacha — bu MSE, kvadrat birliklarda;
$\sqrt{\cdot}$
ildiz dastlabki birliklarni qaytaradi: $y$ so‘mda bo‘lsa, RMSE ham so‘mda.

Umumiy misol qadamma-qadam:

$i$$y_i$$\hat y_i$$r_i$$r_i^2$$|r_i|$
132,50,50,250,5
255000
3810−242
o‘rtacha−0,51,4170,833
$$\mathrm{RMSE}=\sqrt{\frac{0{,}25+0+4}{3}}=\sqrt{1{,}417}\approx1{,}190,\qquad \mathrm{MAE}=\frac{0{,}5+0+2}{3}\approx0{,}833$$

Xuddi shu kattalikni boshqa yozuvlarda ham tanish foydali:

$$\mathrm{RMSE}=\sqrt{\mathrm{MSE}}=\frac{\|y-\hat y\|_2}{\sqrt n}=M_2\bigl(|r_1|,\dots,|r_n|\bigr)$$

Ikkinchi yozuv — faktlar vektori va bashoratlar vektori orasidagi Yevklid masofasi, $\sqrt n$ ga bo‘lingan (unga 3D’da qaytamiz). Uchinchisi — xatolar modullarining kvadratik o‘rtachasi (quadratic mean, 2-tartibli darajali o‘rtacha). MAE — ularning o‘rta arifmetigi $M_1$, eng katta xato esa chegaraviy holat $M_\infty$. Darajali o‘rtachalar tengsizligi darhol $\mathrm{MAE}\le\mathrm{RMSE}\le\max_i|r_i|$ ni beradi.

Nega modul emas, kvadrat

Modullarni o‘rtachalash mumkin — bu MAE. Kvadrat tanlanadi, chunki u silliq (hamma joyda differensiallanuvchi), dispersiya va normal taqsimot bilan bog‘liq (MSE’ni minimallashtirish — gauss shovqinida maksimal haqiqatga o‘xshashlik usuli) va aniq formulalar beradi (eng kichik kvadratlar usuli). Tepadagi ildiz faqat o‘qish uchun kerak: u modellar tartibiga ta’sir qilmaydi.

Xossalar

  • Manfiy emaslik: $\mathrm{RMSE}\ge0$, va $\mathrm{RMSE}=0$ faqat ideal bashoratda, $\hat y=y$.
  • O‘lchov birliklari — $y$ niki bilan bir xil. Narxlarni ming so‘mdan so‘mga o‘tkazdik — RMSE roppa-rosa 1000 marta oshdi: $\mathrm{RMSE}(c\,y,\,c\,\hat y)=|c|\,\mathrm{RMSE}(y,\hat y)$.
  • Siljish ta’sir qilmaydi: faktlar va bashoratlarga bir xil sonni qo‘shsak, RMSE o‘zgarmaydi. Shuning uchun RMSE xato qatorning darajasiga nisbatan kattami yoki yo‘qmi, aytmaydi — buning uchun MAPE va normallangan variantlar bor.
  • MSE bilan bir xil tartib: ildiz qat’iy o‘suvchi, shuning uchun modellarni RMSE va MSE bo‘yicha solishtirish doim bir xil tartibni beradi, minimumlari esa bitta nuqtada.
  • Chetga chiquvchi qiymatlarga sezgirlik: $E$ kattalikdagi bitta xato, atrofida qancha ideal bashorat bo‘lmasin, RMSE’ni kamida $E/\sqrt n$ qiladi.
  • Additiv emaslik: butun tanlanmaning RMSE’i uning qismlari RMSE’larining o‘rtachasi emas. Kvadratlar qo‘shiladi: $\mathrm{RMSE}^2=\sum_g \tfrac{n_g}{n}\,\mathrm{RMSE}_g^2$.
  • Bu norma ($1/\sqrt n$ ko‘paytuvchi aniqligida): $a$ va $b$ xato vektorlari uchun uchburchak tengsizligi bajariladi, $\mathrm{RMSE}(a+b)\le\mathrm{RMSE}(a)+\mathrm{RMSE}(b)$.

Siljish va tarqoqlik: xatolar uchun Pifagor teoremasi

Qoldiqlarni sistematik qismga — o‘rtacha $\bar r$ ga (model o‘rtacha oshirib yoki kamaytirib baholaydi) — va tasodifiy qismga, o‘rtacha atrofidagi tarqoqlik $\sigma_r$ ga ajratish mumkin. U holda

$$\mathrm{RMSE}^2=\underbrace{\bar r^{\,2}}_{\text{siljish}^2}+\underbrace{\sigma_r^2}_{\text{qoldiqlar dispersiyasi}},\qquad \bar r=\frac1n\sum_i r_i,\quad \sigma_r^2=\frac1n\sum_i\bigl(r_i-\bar r\bigr)^2$$
Ajratishni keltirib chiqarish

$r_i=\bar r+(r_i-\bar r)$ deb yozamiz va kvadratni ochamiz:

$$\frac1n\sum_i r_i^2=\frac1n\sum_i\Bigl(\bar r^{\,2}+2\bar r\,(r_i-\bar r)+(r_i-\bar r)^2\Bigr)=\bar r^{\,2}+\frac{2\bar r}{n}\underbrace{\sum_i(r_i-\bar r)}_{=\,0}+\sigma_r^2$$

O‘rta had yo‘qoladi: o‘rtachadan chetlanishlar yig‘indisi nolga teng. Bu $\operatorname{Var}X=\mathbb E X^2-(\mathbb E X)^2$ formulasidagi algebraning o‘zi.

2-rasm. Chapda — $\bar r$ siljish va $\sigma_r$ tarqoqlikka ega 40 ta qoldiq, o‘ngda — katetlari $|\bar r|$ va $\sigma_r$ bo‘lgan to‘g‘ri burchakli uchburchak: uning gipotenuzasi RMSE’ning o‘zi. $\bar r=1$ va $\sigma_r=1{,}5$ da $\mathrm{RMSE}=\sqrt{1+2{,}25}\approx1{,}80$ chiqadi.

Umumiy misolda $\bar r=-0{,}5$ (model o‘rtacha $0{,}5$ ga oshirib baholaydi), $\sigma_r\approx1{,}080$, va $0{,}25+1{,}167=1{,}417=\mathrm{MSE}$. Amaliy xulosa: siljish bepul olib tashlanadi — barcha bashoratlarga $\bar r$ ni qo‘shing, va u baholangan ma’lumotlarda RMSE roppa-rosa $\sigma_r$ gacha tushadi (bu yerda $1{,}190$ dan $1{,}080$ gacha). Amalda $\bar r$ validatsiyada baholanadi, yutuq esa testda tekshiriladi.

RMSE va standart chetlanish

Agar qoldiqlar o‘rtachasi nolga teng bo‘lsa (ozod hadli chiziqli regressiyada o‘qitish tanlanmasida doim shunday), RMSE qoldiqlarning standart chetlanishi bilan ustma-ust tushadi. Shundan uning statistikadagi «regressiyaning standart xatosi»ga yaqinligi kelib chiqadi — faqat u yerda qoldiqlar kvadratlari yig‘indisi $n$ ga emas, erkinlik darajalari soni $n-p$ ga bo‘linadi ($p$ — model parametrlari soni). Agar bundan tashqari xatolar normal bo‘lsa, qoldiqlarning taxminan $68\%$ i $\pm\mathrm{RMSE}$ oralig‘ida, taxminan $95\%$ i esa $\pm2\,\mathrm{RMSE}$ oralig‘ida yotadi.

RMSE va MAE: farq nimani aytadi

MAE «o‘rtacha qanchaga adashamiz» degan savolga, RMSE esa «kattalarini hisobga olganda xatoning odatiy kattaligi qancha» degan savolga javob beradi. Ularning nisbati $\mathrm{RMSE}/\mathrm{MAE}$ o‘lchamsiz va masshtabga bog‘liq emas: u faqat xatolar taqsimotining shaklini tasvirlaydi.

XatolarMAERMSERMSE / MAE
$[-a;\,a]$ da tekis$a/2$$a/\sqrt3$$2/\sqrt3\approx1{,}155$
normal $N(0,\,\sigma^2)$$\sigma\sqrt{2/\pi}$$\sigma$$\sqrt{\pi/2}\approx1{,}253$
$b$ masshtabli Laplas$b$$\sqrt2\,b$$\sqrt2\approx1{,}414$
barcha $|r_i|$ $c$ ga teng$c$$c$$1$
bitta xato $E$, qolgan $n-1$ tasi nol$E/n$$E/\sqrt n$$\sqrt n$
Normal xatolar uchun √(π/2) qayerdan keladi

$r\sim N(0,\sigma^2)$ uchun $\mathbb E\,r^2=\sigma^2$, modulning o‘rtachasi esa musbat yarim o‘q bo‘yicha integralning ikki baravariga teng:

$$\mathbb E|r|=2\int_0^\infty \frac{x}{\sigma\sqrt{2\pi}}\,e^{-x^2/2\sigma^2}\,dx=\frac{2\sigma^2}{\sigma\sqrt{2\pi}}=\sigma\sqrt{\frac{2}{\pi}}$$

Bundan $\sigma/\bigl(\sigma\sqrt{2/\pi}\bigr)=\sqrt{\pi/2}\approx1{,}2533$. Chekli tanlanmada bu taxminan bajariladi: 3-rasmda $n=2000$ da $1{,}248$ chiqadi.

3-rasm. Dispersiyasi birga teng 2000 ta xato (generator urug‘i — seed — qayd etilgan). Normal xatolar uchun nisbat $1{,}248$ (nazariya $1{,}253$), Laplas xatolari uchun $1{,}392$ ($1{,}414$), tekis xatolar uchun $1{,}153$ ($1{,}155$). Chetlanishlarni qo‘shing: har bir xato $\varepsilon$ ehtimollik bilan 10 ga ko‘paytiriladi. $\varepsilon=5\%$ dayoq RMSE $1{,}009$ dan $2{,}817$ gacha o‘sadi, MAE esa faqat $0{,}809$ dan $1{,}258$ gacha.

Bunday aralashmada MSE $1+99\varepsilon$ marta ($(1-\varepsilon)\cdot1+\varepsilon\cdot100$), MAE esa atigi $1+9\varepsilon$ marta o‘sadi, shuning uchun nazariy nisbat $\sqrt{1+99\varepsilon}\,/\bigl((1+9\varepsilon)\,\mathrm{MAE}_0\bigr)$ ga teng, bu yerda $\mathrm{MAE}_0$ — dastlabki taqsimotning MAE’i.

Chegaralar: MAE ≤ RMSE ≤ √n · MAE

$$\mathrm{MAE}\;\le\;\mathrm{RMSE}\;\le\;\sqrt n\;\mathrm{MAE}$$

Chap tenglik faqat barcha $|r_i|$ bir xil bo‘lganda bajariladi; o‘ng tenglik — butun xato bitta obyektda jamlanib, qolgan bashoratlar ideal bo‘lganda. Umumiy misolda nisbat $1{,}190/0{,}833\approx1{,}43$, maksimum esa $\sqrt3\approx1{,}73$: xatolar sezilarli darajada notekis.

Ikkala chegaraning isboti

Chap chegara — $(|r_1|,\dots,|r_n|)$ va $(1,\dots,1)$ vektorlar uchun Koshi — Bunyakovskiy tengsizligi:

$$\sum_i|r_i|\cdot1\le\sqrt{\sum_i r_i^2}\cdot\sqrt n\quad\Longrightarrow\quad\frac1n\sum_i|r_i|\le\sqrt{\frac1n\sum_i r_i^2}$$

Tenglik vektorlar proporsional bo‘lganda, ya’ni barcha $|r_i|$ teng bo‘lganda bajariladi. O‘ng chegara manfiy bo‘lmagan sonlar kvadratlari yig‘indisi ular yig‘indisining kvadratidan oshmasligidan kelib chiqadi:

$$\sum_i r_i^2\le\Bigl(\sum_i|r_i|\Bigr)^2\quad\Longrightarrow\quad\sqrt{\frac1n\sum_i r_i^2}\le\frac{1}{\sqrt n}\sum_i|r_i|=\sqrt n\,\mathrm{MAE}$$

Tenglik $i\ne j$ dagi barcha $|r_i|\,|r_j|$ ko‘paytmalar nolga teng bo‘lganda, ya’ni noldan farqli xato ko‘pi bilan bitta bo‘lganda bajariladi. Agar umumiy absolyut xato $n$ ta obyektdan $k$ tasiga teng bo‘lingan bo‘lsa, nisbat roppa-rosa $\sqrt{n/k}$ ga teng.

4-rasm. Chapda — ikki xato $(r_1;\,r_2)$. MAE bir xil bo‘lgan nuqtalar $|r_1|+|r_2|=2\,\mathrm{MAE}$ rombda, RMSE bir xil bo‘lganlari radiusi $\sqrt2\,\mathrm{RMSE}$ bo‘lgan aylanada yotadi. Romb $\mathrm{RMSE}=\mathrm{MAE}$ (unga $|r_1|=|r_2|$ da urinadi) va $\mathrm{RMSE}=\sqrt2\,\mathrm{MAE}$ (o‘qlardagi uchlardan o‘tadi) aylanalari orasida qisilgan. $(0{,}5;\,-2)$ nuqta uchun: $\mathrm{MAE}=1{,}25$, $\mathrm{RMSE}\approx1{,}458$. O‘ngda — xato $n$ ta obyektdan $k$ tasiga teng bo‘linganda $\sqrt{n/k}$ nisbati.
Farqni qanday o‘qish kerak

$\mathrm{RMSE}\approx\mathrm{MAE}$ — xatolar taxminan bir xil kattalikda. $\mathrm{RMSE}/\mathrm{MAE}\approx1{,}25$ — normal shovqin uchun odatiy. $1{,}4$ dan sezilarli katta — og‘ir dumlar yoki bir nechta katta xato: o‘rtachalarga ishonishdan oldin eng katta qoldiqlarga qarang.

Geometriya: masofa sifatida RMSE

Faktlar va bashoratlarni $n$ o‘lchovli fazo nuqtalari sifatida yozamiz: $y=(y_1,\dots,y_n)$ va $\hat y=(\hat y_1,\dots,\hat y_n)$. Xatolar kvadratlari yig‘indisi ular orasidagi oddiy Yevklid masofasining kvadrati, shuning uchun

$$\mathrm{RMSE}(y,\hat y)=\frac{\|y-\hat y\|_2}{\sqrt n}$$

$\sqrt n$ ga bo‘lish masofani turli o‘lchamdagi tanlanmalar uchun solishtiriladigan qiladi: har bir xato $c$ ga teng bo‘lsa, $\|y-\hat y\|=c\sqrt n$, RMSE esa roppa-rosa $c$. RMSE’si bir xil bo‘lgan barcha bashoratlar markazi $y$ da, radiusi $\sqrt n\,\mathrm{RMSE}$ bo‘lgan sferani hosil qiladi. $n=3$ da buni chizish mumkin.

5-rasm. $\mathbb R^3$ dagi umumiy misol: fakt $y=(3;\,5;\,8)$, bashorat $\hat y=(2{,}5;\,5;\,10)$; to‘q sariq kesma — uzunligi $\sqrt{4{,}25}\approx2{,}062$ bo‘lgan xato vektori, va $\mathrm{RMSE}=2{,}062/\sqrt3\approx1{,}190$. Kulrang sfera — RMSE’si xuddi shunday bo‘lgan barcha bashoratlar. Punktirli diagonal — konstant bashoratlar $(c;\,c;\,c)$; undagi $y$ ga eng yaqin nuqta — $\bar y\cdot\mathbf 1$, $\bar y=16/3$. Slayderlarni suring va sahnani aylantiring.

Eng yaxshi konstanta — o‘rtacha, uning RMSE’i esa standart chetlanish

Qaysi konstant bashorat $\hat y_i=c$ RMSE’ni minimallashtiradi? Geometrik jihatdan — $y$ ning diagonalga ortogonal proyeksiyasi, ya’ni $c=\bar y$. Uning RMSE’i — maqsadli o‘zgaruvchining standart chetlanishi:

$$\min_c\,\mathrm{RMSE}(y,\,c\mathbf 1)=\mathrm{RMSE}(y,\,\bar y\mathbf 1)=\sqrt{\frac1n\sum_i\bigl(y_i-\bar y\bigr)^2}=\sigma_y$$

Bu RMSE’ni o‘qishdagi asosiy mo‘ljal: RMSE’si $\sigma_y$ dan kichik bo‘lmagan model «doim o‘rtacha» bashoratidan hech narsasi bilan yaxshi emas. Misolda $\sigma_y\approx2{,}055$, model esa $1{,}190$ beradi. Determinatsiya koeffitsiyenti ham shundan kelib chiqadi:

$$R^2=1-\frac{\mathrm{MSE}}{\sigma_y^2}=1-\frac{\mathrm{RMSE}^2}{\sigma_y^2}=1-\frac{1{,}417}{4{,}222}\approx0{,}66$$

Hosila va gradiyent

Bashoratlar model parametrlari $\theta$ ga bog‘liq bo‘lsin. $\sqrt u$ ning hosilasi $1/(2\sqrt u)$ ga teng, shuning uchun zanjir qoidasiga ko‘ra RMSE gradiyenti — $2\,\mathrm{RMSE}$ ga bo‘lingan MSE gradiyenti:

$$\nabla_\theta\,\mathrm{RMSE}=\frac{\nabla_\theta\,\mathrm{MSE}}{2\,\mathrm{RMSE}}$$
Qadamma-qadam keltirib chiqarish

Bitta bashorat $\hat y_j$ bo‘yicha hosila olamiz. Unga faqat $(y_j-\hat y_j)^2$ hadi bog‘liq:

$$\frac{\partial\,\mathrm{MSE}}{\partial\hat y_j}=\frac1n\cdot2\,(y_j-\hat y_j)\cdot(-1)=-\frac{2}{n}\,r_j$$

$\mathrm{RMSE}=\sqrt{\mathrm{MSE}}$ uchun zanjir qoidasi:

$$\frac{\partial\,\mathrm{RMSE}}{\partial\hat y_j}=\frac{1}{2\sqrt{\mathrm{MSE}}}\cdot\Bigl(-\frac{2}{n}\,r_j\Bigr)=-\frac{r_j}{n\,\mathrm{RMSE}}=\frac{\hat y_j-y_j}{n\,\mathrm{RMSE}}$$

$\theta$ parametr uchun zanjir qoidasining yana bitta ko‘paytuvchisi, $\partial\hat y_j/\partial\theta$ qo‘shiladi:

$$\frac{\partial\,\mathrm{RMSE}}{\partial\theta}=\frac{1}{n\,\mathrm{RMSE}}\sum_{j=1}^{n}(\hat y_j-y_j)\,\frac{\partial\hat y_j}{\partial\theta}$$
$$\frac{\partial\,\mathrm{RMSE}}{\partial\hat y_j}=\frac{\hat y_j-y_j}{n\,\mathrm{RMSE}}$$

Bundan nima kelib chiqadi:

  • Yo‘nalish bir xil, uzunlik boshqa. RMSE va MSE gradiyentlari faqat musbat ko‘paytuvchi $1/(2\,\mathrm{RMSE})$ bilan farq qiladi. Shuning uchun funksiyalarning statsionar nuqtalari bir xil va minimumi bitta.
  • Bashoratlar bo‘yicha gradiyent uzunligi o‘zgarmas: istalgan xatolarda $\|\nabla_{\hat y}\mathrm{RMSE}\|=1/\sqrt n$ (komponentalar kvadratlari yig‘indisi $\sum_j r_j^2/(n^2\,\mathrm{MSE})=1/n$). RMSE gradiyenti faqat $y$ tomon yo‘nalishni ko‘rsatadi, uzunligi esa qanchalik uzoqda ekanimizga bog‘liq emas.
  • Umumiy misolda $\partial\,\mathrm{RMSE}/\partial\hat y=(-0{,}140;\;0;\;0{,}560)$, MSE’da esa $(-0{,}333;\;0;\;1{,}333)$ — roppa-rosa $2\cdot1{,}190=2{,}380$ marta katta.
  • Nolda hosila yo‘q. $\hat y=y$ da $\|y-\hat y\|/\sqrt n$ funksiyasi noldagi $|x|$ kabi singan (konus uchi), formula esa $\mathrm{RMSE}=0$ ga bo‘ladi. Avtomatik differensiallashda bu NaN’ga aylanadi (kod bo‘limiga qarang).

Bir o‘lchovli kesim: konstant bashorat

Misol ma’lumotlari $y=(3;\,5;\,8)$ da $\hat y_i=c$ konstant modelni olamiz. U holda $\mathrm{MSE}(c)=(c-\bar y)^2+\sigma_y^2$ — parabola, RMSE esa giperbola:

$$\mathrm{RMSE}(c)=\sqrt{(c-\bar y)^2+\sigma_y^2},\qquad \mathrm{RMSE}'(c)=\frac{c-\bar y}{\sqrt{(c-\bar y)^2+\sigma_y^2}}\in(-1;\,1)$$

Minimum yaqinida giperbola parabolaga o‘xshaydi (RMSE o‘zini MSE kabi tutadi), uzoqda esa $|c-\bar y|$ to‘g‘ri chiziqlariga (MAE kabi). Hosila $-1$ dan $1$ gacha silliq o‘zgaradi va bu chegaralardan hech qachon chiqmaydi, MSE hosilasi esa chiziqli va cheksiz o‘sadi.

6-rasm. Yuqorida — $c$ konstant bashoratining RMSE, MSE va MAE’si (o‘qdagi nuqtalar — ma’lumotlar), pastda — hosilalar. $c=8$ da: $\mathrm{RMSE}\approx3{,}367$, $\mathrm{RMSE}'\approx0{,}792$, $\mathrm{MSE}'\approx5{,}333$; ularning nisbati $2\,\mathrm{RMSE}\approx6{,}733$. RMSE va MSE minimumlari $\bar y\approx5{,}333$ da, MAE minimumi mediana 5 da.

Ikkinchi hosila $\mathrm{RMSE}''(c)=\sigma_y^2/\mathrm{RMSE}(c)^3>0$: $\sigma_y>0$ ekan, funksiya qat’iy qavariq. Umumiy holda RMSE bashoratlar bo‘yicha qavariq (norma sifatida), demak, chiziqli model parametrlari bo‘yicha ham: chiziqli regressiyada na MSE, na RMSE uchun lokal minimumlar yo‘q.

RMSE(w, b) landshafti va o‘qitish

14 ta nuqtadagi $\hat y=wx+b$ chiziqli model. $(w,\,b)$ parametrlar tekisligi ustida RMSE kosa hosil qiladi. Sirtni MSE’ga almashtiring: sath chiziqlari o‘sha-o‘sha qoladi ($\mathrm{RMSE}=1{,}5$ sathi — bu $\mathrm{MSE}=2{,}25$ sathi), faqat balandlik o‘zgaradi: MSE kvadratik o‘sadi, RMSE esa minimumdan uzoqda deyarli chiziqli, konus kabi.

7-rasm. Chapda — sirt (aylantiriladi), o‘ngda — RMSE sath chiziqlari bilan yuqoridan ko‘rinish, pastda — qadamlar bo‘yicha RMSE. Qora start nuqtasini torting: strelkalar MSE (ko‘k) va RMSE (to‘q sariq) uchun birinchi $-\eta\nabla$ qadamni ko‘rsatadi — yo‘nalish bitta, lekin to‘q sariq $2\,\mathrm{RMSE}\approx5{,}4$ marta qisqa. «Boshlash»ni bosing: $\eta=0{,}1$ da MSE bo‘yicha tushish $0{,}904$ minimumga $0{,}01$ aniqlik bilan 61 qadamda, RMSE bo‘yicha tushish esa 140 qadamda yetadi. $\eta=0{,}14$ qo‘ying: MSE bo‘yicha tushish uzoqlashib ketadi, RMSE bo‘yicha tushish esa maqsadga 100 qadamda yetadi.

Nega shunday. RMSE bo‘yicha qadam — o‘zgaruvchan o‘qitish tezligi (learning rate) bilan MSE bo‘yicha qadam:

$$\theta\leftarrow\theta-\eta\,\nabla\mathrm{RMSE}=\theta-\underbrace{\frac{\eta}{2\,\mathrm{RMSE}(\theta)}}_{\eta_{\text{eff}}}\,\nabla\mathrm{MSE}$$

Xatolar katta ekan, samarali qadam kichik — shuning uchun RMSE bo‘yicha tushish haddan tashqari katta $\eta$ ga chidamliroq. Minimum yaqinida $\eta_{\text{eff}}\to\eta/(2\,\mathrm{RMSE}_{\min})$; bu yerda $\mathrm{RMSE}_{\min}\approx0{,}904$, va qadam MSE’nikidan deyarli ikki baravar kichik — sekin marra shundan. MSE bo‘yicha tushish faqat $\eta<2/\lambda_{\max}\approx0{,}133$ da barqaror, bu yerda $\lambda_{\max}\approx15{,}0$ — MSE gessianining eng katta xos qiymati.

Mini-batch’larda RMSE

Batch bo‘yicha o‘rtachaning ildizi butun tanlanma bo‘yicha o‘rtachaning ildizi emas: $\mathbb E\sqrt{\mathrm{MSE}_{\text{batch}}}\le\sqrt{\mathbb E\,\mathrm{MSE}_{\text{batch}}}$ (Yensen tengsizligi). Batch’lar bo‘yicha o‘rtacha RMSE sistematik ravishda kamaytirilgan, batch RMSE’si bo‘yicha SGD qadamlari esa butun tanlanma RMSE’sini emas, aynan shu o‘rtachani optimallashtiradi. Odatda MSE’da o‘qitiladi, RMSE esa butun validatsiya tanlanmasi bo‘yicha hisoblanadi.

Modellarni baholashda RMSE

Sifat metrikasi sifatida RMSE «model katta xatolarga urg‘u bergan holda odatda $y$ ning necha birligiga adashadi» degan savolga javob beradi. Son biror narsani anglatishi uchun uni solishtiradilar:

  • bazaviy model bilan — «doim o‘rtacha» bashoratining RMSE’i $\sigma_y$ ga teng, vaqt qatorlarida «kechagidek» bashoratning o‘ziniki bor; model sezilarli darajada yaxshiroq bo‘lishi kerak;
  • vazifa masshtabi bilan — 5000 so‘mlik xato kvartiralar uchun a’lo, bir chashka qahva uchun esa dahshat. O‘lchamsiz varianti — $\mathrm{NRMSE}=\mathrm{RMSE}/\sigma_y=\sqrt{1-R^2}$ (ba’zan $y$ ning qamroviga yoki o‘rtachasiga bo‘linadi);
  • MAE bilan — $\mathrm{RMSE}/\mathrm{MAE}$ nisbatidan katta xatolar bor-yo‘qligi ko‘rinadi;
  • faqat bir xil ma’lumotlarda — $y$ tarqoqligi har xil bo‘lsa, turli test tanlanmalaridagi RMSE’lar solishtirib bo‘lmaydi.

Kross-validatsiya: kvadratlarni o‘rtachalang

$K$ ta fold’da ko‘pincha fold’lar RMSE’larining o‘rtachasini oladilar. Bu barcha obyektlar bo‘yicha RMSE emas: ildizlar o‘rtachasi o‘rtachaning ildizidan katta emas. Umumiy baho — MSE’larning vaznli o‘rtachasidan ildiz:

$$\mathrm{RMSE}_{\text{CV}}=\sqrt{\sum_{k=1}^{K}\frac{n_k}{n}\,\mathrm{MSE}_k}\;\ge\;\sum_{k=1}^{K}\frac{n_k}{n}\,\mathrm{RMSE}_k$$

Masalan, RMSE’lari $1$ va $3$ bo‘lgan teng o‘lchamli ikki fold: o‘rtacha $2$ ga teng, umumiy RMSE esa $\sqrt{(1+9)/2}=\sqrt5\approx2{,}24$.

Netflix Prize

2006 yilda Netflix o‘zining Cinematch tavsiya tizimining test baholaridagi RMSE’sini $10\%$ ga — besh yulduzli shkalada $0{,}9525$ dan $0{,}8572$ gacha yaxshilagan jamoaga million dollar va’da qildi. 2009 yilda mukofotni RMSE’si $0{,}8567$ bo‘lgan BellKor’s Pragmatic Chaos jamoasi oldi. RMSE’dagi «yulduz»ning o‘ndan biri uchun ishtirokchilar uch yil davomida yuzlab modellardan ansambllar qurdilar — metrika aynan nima optimallashtirilishini belgilashining yaxshi namunasi.

Variantlar: RMSLE, vaznli va normallangan RMSE

RMSLE (root mean squared logarithmic error) — logarifmik shkaladagi RMSE:

$$\mathrm{RMSLE}=\sqrt{\frac1n\sum_{i=1}^{n}\bigl(\ln(1+\hat y_i)-\ln(1+y_i)\bigr)^2}$$

Logarifm nisbatlarni ayirmalarga aylantiradi: xato $1+\hat y$ ning $1+y$ dan qanchaga emas, necha marta farq qilishi bilan belgilanadi. Shuning uchun RMSLE masshtablari keng tarqalgan manfiy bo‘lmagan maqsadlar (narxlar, sotuvlar, ko‘rishlar) uchun mos keladi va kam bashoratni xuddi shu absolyut kattalikdagi ortiq bashoratdan qattiqroq jazolaydi. Umumiy misolda $\mathrm{RMSLE}\approx0{,}139$.

8-rasm. Fakt $y=10$ bo‘lganda logarifmik xato kvadrati. 5 bashorati (5 ga kam) $0{,}367$ turadi, 15 bashorati (xuddi shu 5 ga ortiq) — $0{,}140$, $2{,}6$ marta kam. Punktir — egri chiziqning ko‘zgudagi aksi, nuqtalar — taqqoslash uchun $1+y$ ulushlaridagi kvadratik xato. Pastda — $\hat y$ bo‘yicha hosila: kam bashorat tomonida u tikroq.

Yana ikki foydali modifikatsiya:

  • vaznli RMSE $\sqrt{\sum_i w_i r_i^2/\sum_i w_i}$ — obyektlar teng qiymatli bo‘lmaganda (qimmat tovarlar, yangi kuzatuvlar);
  • NRMSE $=\mathrm{RMSE}/\sigma_y=\sqrt{1-R^2}$ — turli masshtabdagi vazifalarni solishtirish uchun o‘lchamsiz versiya.
RMSLE — bu logarifmlardagi RMSE

RMSLE $\ln(1+y)$ va $\ln(1+\hat y)$ orasidagi RMSE’ga teng. Shuning uchun musobaqa metrikasi RMSLE bo‘lsa, modelni $\ln(1+y)$ maqsad bo‘yicha MSE’da o‘qitib, bashoratni $e^{z}-1$ orqali qaytarish oqilona.

Kodda

NumPy’da RMSE — bitta qator; quyida bu sahifadagi formulalar ham umumiy misolda tekshiriladi.

pythonimport numpy as np

y     = np.array([3.0, 5.0, 8.0])
y_hat = np.array([2.5, 5.0, 10.0])

r    = y - y_hat                   # qoldiqlar: [ 0.5  0.  -2. ]
mse  = np.mean(r ** 2)             # ≈ 1.4167
rmse = np.sqrt(mse)                # ≈ 1.1902
mae  = np.mean(np.abs(r))          # ≈ 0.8333

# Xuddi shu, Yevklid normasi orqali: ‖y − ŷ‖ / √n
print(round(np.linalg.norm(r) / np.sqrt(len(r)), 4))   # 1.1902

# Ajratish: RMSE² = siljish² + qoldiqlar dispersiyasi
print(round(r.mean() ** 2 + r.var(), 4), round(mse, 4))   # 1.4167 1.4167

# Bashoratlar bo‘yicha gradiyent: ∂RMSE/∂ŷ = (ŷ − y) / (n · RMSE)
print(np.round((y_hat - y) / (len(y) * rmse), 4))       # [-0.14    0.      0.5601]

# «Doim o‘rtacha» bazaviy modeli: uning RMSE’i — y ning standart chetlanishi
print(round(np.std(y), 4))                               # 2.0548

scikit-learn’da tayyor funksiyalar bor (1.4 versiyasidan; avval mean_squared_error(..., squared=False) deb yozilardi, 1.6 da esa squared parametri olib tashlangan). Fold’lar RMSE’larining o‘rtachasi bilan barcha obyektlar bo‘yicha RMSE orasidagi farqqa e’tibor bering:

pythonfrom sklearn.metrics import root_mean_squared_error, root_mean_squared_log_error
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import KFold, cross_val_score, cross_val_predict

# y, y_hat — yuqoridagi listingdan; funksiyalar scikit-learn ≥ 1.4 da bor
print(round(root_mean_squared_error(y, y_hat), 4))       # 1.1902
print(round(root_mean_squared_log_error(y, y_hat), 4))   # 0.1392 — RMSLE

X, t = make_regression(n_samples=200, n_features=5, noise=10.0, random_state=0)
cv = KFold(5, shuffle=True, random_state=0)
# scorer’lar «qancha katta, shuncha yaxshi», shuning uchun RMSE minus ishora bilan
scores = cross_val_score(LinearRegression(), X, t, cv=cv,
                         scoring="neg_root_mean_squared_error")
print(round(-scores.mean(), 3))                # 10.56 — fold’lar RMSE’larining o‘rtachasi
pred = cross_val_predict(LinearRegression(), X, t, cv=cv)
print(round(root_mean_squared_error(t, pred), 3))   # 10.614 — barcha obyektlar bo‘yicha RMSE

PyTorch’da yo‘qotish funksiyasi sifatida RMSE nolda ehtiyotkorlikni talab qiladi:

pythonimport torch

y     = torch.tensor([3.0, 5.0, 8.0])
y_hat = torch.tensor([2.5, 5.0, 10.0], requires_grad=True)

rmse = torch.sqrt(torch.mean((y_hat - y) ** 2))
rmse.backward()
print(round(rmse.item(), 4), y_hat.grad)   # 1.1902 tensor([-0.1400,  0.0000,  0.5601])

# Ideal bashorat: √u ning noldagi hosilasi cheksiz → gradiyent NaN
p = y.clone().requires_grad_(True)
torch.sqrt(torch.mean((p - y) ** 2)).backward()
print(p.grad)                    # tensor([nan, nan, nan])

def rmse_loss(pred, target, eps=1e-8):
    """Yo‘qotish funksiyasi sifatida RMSE: ildiz ostidagi eps NaN’ni yo‘qotadi."""
    return torch.sqrt(torch.mean((pred - target) ** 2) + eps)
Qoida

Neyron tarmoqni o‘qitishda odatda MSE minimallashtiriladi: minimum o‘sha, gradiyent nolda silliq, RMSE’ga bo‘lish yo‘q. RMSE hisobot uchun hisoblanadi — batch’lar bo‘yicha o‘rtacha sifatida emas, butun validatsiya tanlanmasi bo‘yicha birdaniga.

Ko‘p uchraydigan xatolar

  1. Batch’lar yoki fold’lar bo‘yicha o‘rtacha RMSE’ni yakuniy RMSE deb olish. Ildiz chiziqli emas: MSE’ni o‘rtachalang, ildizni oxirida oling.
  2. RMSE’ni turli ma’lumotlarda solishtirish. RMSE $y$ ning masshtabi va tarqoqligiga bog‘liq; modellarni bitta test tanlanmasida solishtiring yoki normallangan RMSE’dan foydalaning.
  3. «Model o‘rtacha RMSE’ga adashadi». O‘rtacha absolyut xato — bu MAE; RMSE undan kichik emas, og‘ir dumlarda esa sezilarli katta.
  4. Nolni himoya qilmasdan RMSE’ni yo‘qotish sifatida ishlatish. $\sqrt u$ ning noldagi hosilasi cheksiz: ideal batch gradiyentlarda NaN beradi. Ildiz ostiga $\varepsilon$ qo‘shing yoki MSE’da o‘qiting.
  5. Chetga chiquvchi qiymatlarni e’tiborsiz qoldirish. 99 ta ideal bashorat orasidagi 100 birlikli bitta xato $\mathrm{MAE}=1$ da $\mathrm{RMSE}=10$ beradi. Agar chetlanishlar muhim hodisa emas, shovqin bo‘lsa, MAE, Huber yoki xatolar kvantillariga qarang.
  6. Dastlabki shkala o‘rniga logarifmlardagi RMSE. Model $\ln(1+y)$ da o‘qitilsa, uning RMSE’i dastlabki vazifaning RMSLE’si, so‘mdagi RMSE emas; RMSE’ni hisoblashdan oldin bashoratlarni qaytarib o‘tkazing.
  • MSE: $\mathrm{RMSE}=\sqrt{\mathrm{MSE}}$ — minimum ham, modellar tartibi ham o‘sha, gradiyent esa $2\,\mathrm{RMSE}$ ga bo‘linadi.
  • MAE: $\mathrm{MAE}\le\mathrm{RMSE}\le\sqrt n\,\mathrm{MAE}$; MAE uchun eng yaxshi konstanta — mediana, RMSE uchun — o‘rtacha.
  • Huber: nol yaqinida kvadratik, dumlarda chiziqli — MSE (demak, RMSE) va MAE orasidagi murosa.
  • MAPE: absolyut o‘rniga nisbiy xato; RMSLE — logarifmik shkaladagi uning kvadratik qarindoshi.
  • SGD: RMSE bo‘yicha tushish — $\eta/(2\,\mathrm{RMSE})$ o‘qitish tezligi bilan MSE bo‘yicha tushish.
  • Adam: qadamni gradiyent kvadratlarining sirpanuvchi o‘rtachasidan ildizga bo‘ladi — RMSE’dagi «o‘rtacha kvadratdan ildiz» (RMS) g‘oyasining o‘zi.

Xulosa

1) $\mathrm{RMSE}=\sqrt{\mathrm{MSE}}$ — katta xatolarga urg‘u bergan holda $y$ birliklaridagi xatoning odatiy kattaligi. 2) $\mathrm{MAE}\le\mathrm{RMSE}\le\sqrt n\,\mathrm{MAE}$; RMSE/MAE nisbati — dumlar ko‘rsatkichi (normal shovqin uchun $\approx1{,}25$). 3) $\mathrm{RMSE}^2=\bar r^{\,2}+\sigma_r^2$ — siljish va tarqoqlik katetlar sifatida. 4) Geometrik jihatdan bu $\|y-\hat y\|/\sqrt n$ masofa; eng yaxshi konstanta — o‘rtacha, uning RMSE’i $\sigma_y$ ga teng. 5) $\nabla\mathrm{RMSE}=\nabla\mathrm{MSE}/(2\,\mathrm{RMSE})$: minimum umumiy, qadam boshqa, nolda hosila yo‘q.

O‘zingizni tekshiring

1. Model xatolari: $(1;\,-1;\,1;\,-1)$. MAE va RMSE nimaga teng?
2. 100 ta obyektda 99 ta bashorat ideal, bittasi esa 50 ga adashadi. RMSE nimaga teng?
3. Model qoldiqlarining o‘rtachasi $\bar r=3$, standart chetlanishi $\sigma_r=4$. RMSE nimaga teng?
4. Model parametrlari bo‘yicha RMSE va MSE gradiyentlari qanday bog‘langan?
5. Bir xil o‘lchamdagi beshta fold $1$, $1$, $1$, $1$ va $3$ RMSE berdi. Barcha obyektlar bo‘yicha RMSE qancha?