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).
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.
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).
- $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|$ |
|---|---|---|---|---|---|
| 1 | 3 | 2,5 | 0,5 | 0,25 | 0,5 |
| 2 | 5 | 5 | 0 | 0 | 0 |
| 3 | 8 | 10 | −2 | 4 | 2 |
| o‘rtacha | −0,5 | 1,417 | 0,833 |
Xuddi shu kattalikni boshqa yozuvlarda ham tanish foydali:
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.
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
Ajratishni keltirib chiqarish
$r_i=\bar r+(r_i-\bar r)$ deb yozamiz va kvadratni ochamiz:
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.
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.
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.
| Xatolar | MAE | RMSE | RMSE / 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:
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.
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
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:
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:
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.
$\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
$\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.
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:
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:
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:
Qadamma-qadam keltirib chiqarish
Bitta bashorat $\hat y_j$ bo‘yicha hosila olamiz. Unga faqat $(y_j-\hat y_j)^2$ hadi bog‘liq:
$\mathrm{RMSE}=\sqrt{\mathrm{MSE}}$ uchun zanjir qoidasi:
$\theta$ parametr uchun zanjir qoidasining yana bitta ko‘paytuvchisi, $\partial\hat y_j/\partial\theta$ qo‘shiladi:
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:
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.
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.
Nega shunday. RMSE bo‘yicha qadam — o‘zgaruvchan o‘qitish tezligi (learning rate) bilan MSE bo‘yicha qadam:
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.
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:
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$.
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:
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$.
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 $\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)
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
- 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.
- RMSE’ni turli ma’lumotlarda solishtirish. RMSE $y$ ning masshtabi va tarqoqligiga bog‘liq; modellarni bitta test tanlanmasida solishtiring yoki normallangan RMSE’dan foydalaning.
- «Model o‘rtacha RMSE’ga adashadi». O‘rtacha absolyut xato — bu MAE; RMSE undan kichik emas, og‘ir dumlarda esa sezilarli katta.
- 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.
- 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.
- 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.
Boshqa formulalar bilan bog‘lanishlar
- 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.