U nima uchun kerak
Model kvartira narxini, yetkazib berish vaqtini, mahsulotga talabni bashorat qiladi. Buyurtmachining birinchi savoli: «U qanchaga adashadi?» «O‘rtacha 4 daqiqaga» yoki «120 mingga» degan javob — aynan MAE (mean absolute error), o‘rtacha absolyut xato. Uni statistik ma’lumoti bo‘lmagan har qanday odam tushunadi, chunki u miqdorning o‘zi bilan bir xil birliklarda o‘lchanadi.
U qayerda uchraydi:
- regressiya sifati metrikasi — talab, yo‘l vaqti, narxlar, serverlar yuklamasini bashorat qilish; hisobotlarda uni RMSE yoniga qo‘yishadi;
- yo‘qotish funksiyasi — PyTorch’dagi
L1Loss; ma’lumotlarda chetga chiquvchi qiymatlar bo‘lsa yoki o‘rtacha emas, mediana bashorati kerak bo‘lsa olinadi; - kompyuter ko‘rishi — pix2pix’da va o‘ta ruxsat (super-resolution, EDSR) masalalarida piksellar bo‘yicha L1, DETR detektorida ramka koordinatalari bo‘yicha L1;
- gradiyent busting — scikit-learn’da
loss="absolute_error", LightGBM’daobjective="l1": barglardagi qiymatlar — qoldiqlar medianalari; - robast statistika — eng kichik modullar regressiyasi (least absolute deviations, LAD), kvantil regressiya, «tipik» qiymat bahosi sifatida mediana.
MAE — bashoratdan haqiqatgacha o‘rtacha masofa: $\frac1n\sum|y_i-\hat y_i|$. Har bir xato chiziqli kiradi: 2 ga adashish $0{,}5$ ga to‘rt marta adashish bilan teng vaznga ega. Shuning uchun MAE chetga chiquvchi qiymatlarga bardoshli, uning uchun eng yaxshi o‘zgarmas esa — mediana. Buning bahosi — noldagi sinish: hosila xato nolga teng bo‘lgan nuqtadan boshqa hamma joyda bor va uning moduli minimum yonida kamaymaydi.
Intuitsiya: adashishning o‘rtacha uzunligi
Haqiqiy $y_i$ qiymatlarni nuqtalar, bashoratlar $\hat y_i$ ni ko‘k markerlar, xatoni esa ular orasidagi vertikal kesma bilan chizamiz. MAE — to‘q sariq kesmalarning o‘rtacha uzunligi. Yo‘nalish muhim emas: bir xil masofaga kam yoki ortiq baholash bir xil turadi.
Quyida qo‘llanmaning umumiy misoli: $y=(3;\,5;\,8)$, $\hat y=(2{,}5;\,5;\,10)$. Ko‘k markerlarni torting. Pastki grafikda har bir xato $e_i=y_i-\hat y_i$ $|e|$ ning «V» shaklidagi grafigi ustida turadi; MAE — bu nuqtalarning o‘rtacha balandligi (feruza chiziq).
Eng katta xato, $2$, modullar yig‘indisining $80\%$ ini beradi ($2{,}5$ dan $2$). MSE’da xuddi shu xato kvadratlar yig‘indisining $94\%$ ini berardi ($4{,}25$ dan $4$). MAE «demokratikroq»: u bitta katta adashish qolganlarini to‘sib qo‘yishiga yo‘l qo‘ymaydi.
Formula mayda detallarigacha
Formulani to‘rtta amalga ajratamiz va har biri nima qilishini ko‘ramiz.
- $y_i$
- $i$-obyekt uchun haqiqiy qiymat (narx, vaqt, talab);
- $\hat y_i$
- xuddi shu obyekt uchun model bashorati;
- $e_i=y_i-\hat y_i$
- xato (qoldiq, residual): musbat — model kam baholagan, manfiy — ortiq baholagan;
- $|e_i|$
- modul ishorani olib tashlaydi, toki kam va ortiq baholashlar bir-birini yo‘qotmasin; $|e|=\sqrt{e^2}$ — son o‘qidagi masofa;
- $\frac1n\sum$
- o‘rtachalash metrikani tanlanma hajmiga bog‘liq bo‘lmagan qiladi: 100 va 10 000 obyektdagi MAE’ni solishtirish mumkin.
Nega modulsiz bo‘lmaydi? Modulsiz o‘rtacha xato $\frac1n\sum e_i$ bizning misolda $(0{,}5+0-2)/3=-0{,}5$ ga teng va uni istalgancha yomon model uchun ham nolga tenglashtirish mumkin: $+100$ va $-100$ xatolar o‘rtachada nol beradi. Bu kattalik siljish (bias) deyiladi — foydali, lekin boshqa metrika.
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 3 | 2,5 | 0,5 | 0,5 | 0,25 |
| 2 | 5 | 5 | 0 | 0 | 0 |
| 3 | 8 | 10 | −2 | 2 | 4 |
| Yig‘indi | 2,5 | 4,25 | |||
| O‘rtacha | 0,833 | 1,417 |
$e_i^2$ ustuni MSE bilan solishtirish uchun qo‘shilgan. Vektor ko‘rinishida MAE — xatolar vektorining $n$ ga bo‘lingan $L_1$ normasi:
Yo‘qotish funksiyasining ikkinchi nomi shundan — L1-yo‘qotish (L1 loss). $\|y-\hat y\|_1$ masofa Manxetten masofasi deyiladi: kvartallar to‘ri bo‘ylab taksi shunday yuradi — har bir o‘q bo‘yicha siljishlar yig‘indisi.
Xossalar va eng yaxshi o‘zgarmas
- Manfiy emaslik: $\mathrm{MAE}\ge0$, va $\mathrm{MAE}=0$ faqat barcha bashoratlar aniq bo‘lsa.
- Birliklar — $y$ niki bilan bir xil. Masshtab to‘g‘ridan-to‘g‘ri o‘tadi: so‘mni ming so‘mga o‘tkazsak, MAE roppa-rosa 1000 marta kamayadi.
- Xatolarning chiziqli hissasi: bitta xatoni ikki marta oshirish uning hissasini MSE’dagidek to‘rt emas, ikki marta oshiradi.
- Qavariqlik: modul qavariq, qavariq funksiyalar yig‘indisi qavariq, shuning uchun MAE’da «soxta» lokal minimumlar yo‘q — na bashoratlar, na chiziqli model parametrlari bo‘yicha. Lekin qavariqlik qat’iy emas: minimum yagona bo‘lmasligi mumkin.
- Bo‘lakli chiziqlilik: bashoratlar funksiyasi sifatida MAE biror xato nolga teng bo‘lgan sinishlar bo‘ylab yopishtirilgan chiziqli bo‘laklardan iborat. Sinishlarda hosila yo‘q.
- RMSE bilan bog‘liqlik: $\mathrm{MAE}\le\mathrm{RMSE}\le\sqrt n\,\mathrm{MAE}$. Misolda: $0{,}833\le1{,}190\le1{,}443$. RMSE/MAE nisbati qancha katta bo‘lsa, xatolarning «dumlari» shuncha «og‘ir».
Eng yaxshi o‘zgarmas — mediana
Model juda oddiy bo‘lsin: barcha obyektlar uchun u bitta $c$ son bilan javob beradi. MAE bo‘yicha qaysi $c$ eng yaxshi? $\mathrm{MAE}(c)=\frac1n\sum|y_i-c|$ funksiyasi — uchlari ma’lumot nuqtalarida bo‘lgan «V» shakllar yig‘indisi. Ma’lumotlar orasidagi istalgan nuqtada uning qiyaligi
$c$ dan chapda nuqtalarning yarmidan kami bo‘lsa, qiyalik manfiy va $c$ ni o‘ngga surish foydali; chapda yarmidan ko‘pi bo‘lsa — qiyalik musbat. Minimum nuqtalar teng ikkiga bo‘linadigan joyda, ya’ni medianada.
Isbot: MAE(c) minimumiga aynan medianalarda erishiladi
Ma’lumotlarni tartiblaymiz: $y_{(1)}\le\dots\le y_{(n)}$. $f(c)=\sum|y_i-c|$ funksiyasi qavariq va bo‘lakli chiziqli. Ma’lumotlarga to‘g‘ri kelmaydigan $c$ nuqtada uning hosilasi $L(c)-R(c)$ ga teng, bu yerda $L$ va $R$ — chapdagi va o‘ngdagi nuqtalar soni. $c=y_{(k)}$ ma’lumot nuqtasida (u bir marta uchrasin) subdifferensial — $[L-R-1;\;L-R+1]$ kesma.
Qavariq funksiya uchun $c^*$ minimum nuqtasi bo‘ladi faqat va faqat $0\in\partial f(c^*)$ bo‘lsa. Toq $n=2m+1$ da bu faqat $c^*=y_{(m+1)}$ da bajariladi: u yerda $L=R=m$ va $0\in[-1;\,1]$. Medianadan chapda $L-R\le-1$ va hosila manfiy, o‘ngda — musbat. Demak, minimum yagona.
Juft $n=2m$ da $y_{(m)}$ va $y_{(m+1)}$ qat’iy orasidagi istalgan $c$ uchun $L=R=m$: hosila nolga teng, funksiya u yerda o‘zgarmas va uzluksizlik tufayli minimumlar — uchlari bilan birga butun $[y_{(m)};\,y_{(m+1)}]$ kesma. Odatiy kelishuv «mediana $=(y_{(m)}+y_{(m+1)})/2$» — teng huquqli javoblardan faqat bittasi.
Mediana chekka qiymatlarga deyarli javob bermaydi: $16$ ni $1600$ ga almashtirsak, mediana $5$ bo‘lib qoladi, o‘rtacha esa $323{,}8$ gacha uchib ketadi. MAE’da o‘qitilgan model ham xuddi shunday: u berilgan belgilar uchun $y$ ning shartli o‘rtachasini emas, shartli medianasini bashorat qiladi.
Hosila: xato ishorasi va subgradiyent
Modul hosilasi — ishora: $e\ne0$ da $|e|'=\operatorname{sign}(e)$. Nolda «V» sinadi va oddiy hosila yo‘q. Qavariq tahlil uning o‘rniga subgradiyentni taklif qiladi.
Keltirib chiqarish: MAE’ning bashoratlar va parametrlar bo‘yicha hosilasi
$|e|=\sqrt{e^2}$ deb yozamiz va $e\ne0$ da differensiallaymiz:
Xato bashoratga $e_i=y_i-\hat y_i$ kabi bog‘liq, shuning uchun $\partial e_i/\partial\hat y_i=-1$. Zanjir qoidasi bo‘yicha:
Agar bashoratni $\hat y_i=wx_i+b$ chiziqli model bersa, $\partial\hat y_i/\partial w=x_i$, $\partial\hat y_i/\partial b=1$ va
Gradiyentga har bir xatoning kattaligi emas, faqat ishorasi kiradi. Xatosi $0{,}1$ bo‘lgan obyekt ham, xatosi $100$ bo‘lgan obyekt ham parametrlarni bir xil $1/n$ kuch bilan tortadi.
Qavariq $f$ funksiyaning $x$ nuqtadagi subgradiyenti — $f(x)+g\,(z-x)$ to‘g‘ri chiziq hech qayerda grafikdan yuqoriga chiqmaydigan har qanday $g$ son: barcha $z$ uchun $f(z)\ge f(x)+g\,(z-x)$. $|e|$ uchun nolda bular $|g|\le1$ bo‘lgan barcha $g$: koordinata boshidan o‘tuvchi qiyaligi $-1$ dan $1$ gacha bo‘lgan istalgan to‘g‘ri chiziqni «V» ostiga qo‘yish mumkin. Subgradiyentlar to‘plami subdifferensial deyiladi.
Freymvorklar subgradiyentlar to‘plamini saqlamaydi: PyTorch, TensorFlow va NumPy $\operatorname{sign}(0)=0$ deb hisoblaydi. Bu qonuniy tanlov — $0\in[-1;\,1]$. Modulning ikkinchi hosilasi sinishdan boshqa hamma joyda nolga teng, shuning uchun gessian kerak bo‘lgan usullar (Nyuton usuli, $-G/H$ formulasi bo‘yicha XGBoost barglari) MAE bilan to‘g‘ridan-to‘g‘ri ishlamaydi: bustingda MAE uchun barg qiymatlari qoldiqlar medianalari sifatida qayta hisoblanadi.
Chetga chiquvchi qiymatlarga bardoshlilik
Chetga chiquvchi qiymat (outlier) — anomal $y$ li obyekt: xato yozuv, datchik nosozligi, kamdan-kam hodisa. Yo‘qotish uchun bunday obyekt modelni qanday kuch bilan tortishi muhim. MSE’da kuch xatoga proporsional ($2e/n$), MAE’da u chegaralangan: nuqta qanchalik uzoqda yotmasin, $1/n$.
Ko‘k chiziqqa e’tibor bering: chetga chiquvchi nuqta undan pastda ekan, uni istalgancha pastga tortish mumkin — chiziq umuman siljimaydi. Uning xatosi ishorasi o‘zgarmaydi, MAE esa faqat ishoralarga javob beradi. MSE chizig‘i, aksincha, chetga chiquvchi nuqta ortidan cheksiz sudraladi.
Robast statistikada bardoshlilik bahoni istalgancha uzoqqa olib keta oladigan buzilgan ma’lumotlar ulushi bilan o‘lchanadi. O‘rtachada u nolga teng (aniqrog‘i, $1/n$): bitta nuqta yetarli. Medianada — $50\%$: tanlanmaning yarmidan kami buzilgan ekan, mediana «toza» ma’lumotlar chegarasida qoladi. MAE bo‘yicha regressiya $y$ bo‘yicha chetga chiquvchilarga bardoshli, lekin anomal $x$ li nuqtalarga (yuqori richag, leverage) bardoshli emas — bunday nuqta baribir to‘g‘ri chiziqni burib yuborishi mumkin.
Parametrlar fazosida MAE: ko‘pyoq
Model — $\hat y=wx+b$ to‘g‘ri chiziq, ma’lumotlar — $x=(-2;\,-1;\,0;\,1;\,2)$ va $y=(1{,}3;\,2;\,3{,}1;\,4{,}5;\,7)$ bo‘lgan beshta nuqta bo‘lsin. Har bir $(w;\,b)$ juftligiga o‘z to‘g‘ri chizig‘i va o‘z MAE’si mos keladi. Parametrlar tekisligi ustida sirt hosil bo‘ladi.
Har bir $|y_i-wx_i-b|$ qo‘shiluvchi — $i$-xato nolga teng bo‘lgan $b=y_i-wx_i$ to‘g‘ri chiziq bo‘ylab qirrali «ikki nishabli tom». Beshta tom yig‘indisi — ko‘pyoq: tekis yoqlar, o‘tkir qirralar, uchlar. Kamida bitta minimum har doim qirralar kesishadigan uchda yotadi, ya’ni optimal to‘g‘ri chiziqni kamida ikkita ma’lumot nuqtasidan o‘tadigan qilib tanlash mumkin.
Ikki sirt turli javob beradi: MAE chizig‘i $x=-1$ va $x=1$ nuqtalaridan o‘tadi va «turtib chiqqan» oxirgi $y=7$ nuqtani deyarli sezmaydi; MSE chizig‘i uning kvadratini kamaytirish uchun tikroq og‘gan. Har biri o‘z o‘lchovi bo‘yicha yaxshiroq: MSE chizig‘ida $\mathrm{MAE}=0{,}456>0{,}39$, MAE chizig‘ida $\mathrm{MSE}=0{,}378>0{,}229$.
Nega optimum ikki nuqtadan o‘tadi
$\min_{w,b}\sum|y_i-wx_i-b|$ masalasini chiziqli dasturlash masalasi sifatida yozish mumkin: $y_i-wx_i-b=u_i-v_i$ bo‘lgan $u_i\ge0$, $v_i\ge0$ kiritamiz va $\sum(u_i+v_i)$ ni minimallashtiramiz. Agar chiziqli dasturning optimumi bo‘lsa va joiz to‘plamning uchlari bo‘lsa (bu yerda — barcha $x_i$ teng bo‘lmasa), optimal nuqtalardan biri — uch. Uchda o‘zgaruvchilar soncha — $2n+2$ ta — erkli cheklov tenglikka aylanadi. $y_i-wx_i-b=u_i-v_i$ tengliklar atigi $n$ ta, demak, $u_i,v_i$ o‘zgaruvchilardan kamida $n+2$ tasi nolga teng. Obyekt ikkita nolni faqat $u_i=v_i=0$ bo‘lganda, ya’ni xatosi nol bo‘lganda beradi; aks holda — ko‘pi bilan bittani. Shuning uchun kamida ikkita obyektning xatosi nolga teng: to‘g‘ri chiziq ikki nuqtadan o‘tadi.
Yagonalik bo‘lmasligi ham shundan: ko‘pyoqning yog‘i gorizontal bo‘lsa, butun qirra yoki yoq minimum bo‘ladi — juft $n$ dagi $\mathrm{MAE}(c)$ ning tekis tubi kabi. Misolimizdagi beshta nuqta uchun minimum yagona: sifat bo‘yicha keyingi uch $0{,}427$ beradi.
Modullar bo‘yicha regressiya eng kichik kvadratlar usulidan qadimiyroq. 1757 yilda Rudjer Boshkovich meridian gradusi uzunligini o‘lchash natijalarini qayta ishlab, to‘g‘ri chiziqni chetlanishlar modullari yig‘indisi minimal bo‘ladigan qilib tanlashni taklif qilgan (chetlanishlarning o‘zi yig‘indisi nolga teng degan qo‘shimcha shart bilan); keyinroq usulni Laplas tahlil qilgan. EKK’ni Lejandr faqat 1805 yilda e’lon qilgan, ammo kvadratlar uzoq vaqt g‘olib bo‘ldi: ularning minimumi chiziqli sistemani yechib topiladi, modullar bilan masala esa faqat XX asr o‘rtasida chiziqli dasturlash paydo bo‘lgach keng yechila boshlandi.
O‘qitishda MAE: subgradiyent tushish
Gradiyent tushish gradiyentga qarshi qadam tashlaydi: $\theta\leftarrow\theta-\eta\,g$. MAE’da o‘ziga xoslik bor: minimum yonida gradiyent kamaymaydi. U $\pm1/n$ lardan tuzilgan vektorlar orasida sakraydi va o‘zgarmas $\eta$ qadamda parametrlar tub ustidan doimo sakrab o‘tadi.
Subgradiyenti chegaralangan qavariq funksiyalar uchun (MAE shunday) nazariya aniq retsept beradi: $\eta_t\propto1/\sqrt t$ qadamda topilgan eng yaxshi qiymat minimumga $O(\ln t/\sqrt t)$ tezlikda — deyarli $1/\sqrt t$ kabi — yaqinlashadi. O‘zgarmas qadamda faqat optimum atrofiga chiqish kafolatlanadi: $\mathrm{MAE}-\mathrm{MAE}^*$ ortiqcha $\eta$ tartibida qoladi. Shuning uchun amalda MAE qadam jadvali (learning rate schedule) bilan o‘qitiladi — u SGD’ga ham, Adam’ga ham kerak, chunki Adam’ning qadami ham tub yonida o‘z-o‘zidan kamaymaydi — yoki yo‘qotish silliq Xyuber funksiyasi bilan almashtiriladi.
MSE’da gradiyent xatoga proporsional, shuning uchun minimumga yaqinlashgan sari qadamlar o‘z-o‘zidan qisqaradi — aniq yaqinlashish uchun o‘zgarmas (juda katta bo‘lmagan) $\eta$ yetarli. MAE’da «tormoz» yo‘q: optimumga yaqinlikni faqat xatolar ishoralarining teng bo‘linishi boshlangani ko‘rsatadi.
Umumlashma: kvantillar va ehtimoliy ma’no
Mediana — $0{,}5$ darajali kvantil. Agar «V»ni o‘ng tarmog‘i chapidan tikroq qilib og‘dirsak, minimum boshqa kvantilga siljiydi. Pinbol yo‘qotish (pinball loss), ya’ni kvantil yo‘qotish hosil bo‘ladi:
$\tau=0{,}9$ da kam baholash ($e>0$) ortiq baholashdan to‘qqiz marta qattiqroq jazolanadi va optimal o‘zgarmas — $90\%$-kvantil. Bashorat intervallari shunday quriladi: $\tau=0{,}1$ uchun model va $\tau=0{,}9$ uchun model kuzatuvlarning taxminan $80\%$ i tushishi kerak bo‘lgan yo‘lakni beradi.
Optimal chiziq uchun undan pastdagi nuqtalar ulushi $\tau$ dan oshmaydi, pastdagi yoki ustidagi nuqtalar ulushi esa $\tau$ dan kam emas: $53/60\le0{,}9\le55/60$. Bu medianani bergan o‘sha $0\in\partial$ shartining bevosita natijasi.
MAE haqiqatga maksimal o‘xshashlik usuli sifatida
$y_i=\hat y_i+\varepsilon_i$ bo‘lsin, bu yerda $\varepsilon$ shovqin zichligi $p(\varepsilon)=\frac{1}{2s}e^{-|\varepsilon|/s}$ bo‘lgan Laplas taqsimotiga ega. U holda o‘xshashlikning manfiy logarifmi
Belgilangan $s$ da o‘xshashlikni maksimallashtirish MAE’ni minimallashtirish bilan bir xil, shovqin masshtabi bahosi esa MAE’ning o‘zi: $\hat s=\mathrm{MAE}$. MAE’ni tanlab, biz yashirincha gausnikiga nisbatan «og‘ir» dumli shovqinni faraz qilamiz. MSE uchun xuddi shu mantiq normal shovqinga olib keladi — MSE ga qarang.
Kodda
MAE bir qatorda hisoblanadi. Subgradiyent va o‘qitish qiziqroq. NumPy’da:
pythonimport numpy as np
y = np.array([3.0, 5.0, 8.0])
y_hat = np.array([2.5, 5.0, 10.0])
def mae(y, y_hat):
return np.mean(np.abs(y - y_hat))
def mae_grad(y, y_hat):
# bashoratlar bo‘yicha subgradiyent: sign(ŷ − y) / n, nolda 0 olamiz
return np.sign(y_hat - y) / y.size
print(mae(y, y_hat)) # 0.8333333333333334
print(mae_grad(y, y_hat)) # [-0.33333333 0. 0.33333333]
# MAE bo‘yicha eng yaxshi o‘zgarmas — o‘rtacha emas, mediana
data = np.array([2.0, 3.0, 5.0, 9.0, 16.0])
print(np.median(data), mae(data, np.median(data))) # 5.0 4.0
print(data.mean(), mae(data, data.mean())) # 7.0 4.4
PyTorch’da yo‘qotish L1Loss deb ataladi. Gradiyentga e’tibor bering: ikkinchi obyektning xatosi roppa-rosa nol va freymvork $0$ subgradiyentni oladi. Listingning ikkinchi qismi 5–6-rasmlardagi to‘g‘ri chiziqni kamayuvchi qadam bilan o‘qitadi:
pythonimport torch
import torch.nn as nn
y = torch.tensor([3.0, 5.0, 8.0])
y_hat = torch.tensor([2.5, 5.0, 10.0], requires_grad=True)
loss = nn.L1Loss()(y_hat, y) # (y_hat - y).abs().mean() bilan bir xil
loss.backward()
print(loss.item()) # 0.8333333134651184
print(y_hat.grad) # tensor([-0.3333, 0.0000, 0.3333])
# MAE bo‘yicha chiziqli model: qadam 1/√t kabi kamayadi
x = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])
t = torch.tensor([1.3, 2.0, 3.1, 4.5, 7.0])
w = torch.zeros(1, requires_grad=True)
b = torch.zeros(1, requires_grad=True)
opt = torch.optim.SGD([w, b], lr=0.5)
sched = torch.optim.lr_scheduler.LambdaLR(opt, lambda k: 1 / (k + 1) ** 0.5)
for step in range(3000):
opt.zero_grad()
nn.functional.l1_loss(w * x + b, t).backward()
opt.step(); sched.step()
print(round(w.item(), 2), round(b.item(), 2)) # 1.25 3.25 — 2 nuqtadan o‘tuvchi to‘g‘ri chiziq
scikit-learn’da metrika, MAE bo‘yicha aniq chiziqli regressiya (chiziqli dastur orqali) va MAE bilan busting bor:
pythonimport numpy as np
from sklearn.metrics import mean_absolute_error
from sklearn.linear_model import QuantileRegressor
from sklearn.ensemble import HistGradientBoostingRegressor
print(mean_absolute_error([3, 5, 8], [2.5, 5, 10])) # 0.8333333333333334
# MAE bo‘yicha chiziqli regressiya — τ = 0,5 bo‘lgan kvantil regressiya
X = np.array([[-2.0], [-1.0], [0.0], [1.0], [2.0]])
y = np.array([1.3, 2.0, 3.1, 4.5, 7.0])
lad = QuantileRegressor(quantile=0.5, alpha=0.0).fit(X, y) # alpha=0 — L1-jarimasiz (standart qiymat 1.0)
print(lad.coef_, lad.intercept_) # [1.25] 3.25
# MAE’dagi busting: barglardagi qiymatlar — qoldiqlar medianalari
gbr = HistGradientBoostingRegressor(loss="absolute_error")
MAE metrika sifatida kerak bo‘lsa — uni boricha hisoblang. Gradiyent tushish uchun yo‘qotish sifatida kerak bo‘lsa — qadamni jadval bo‘yicha kamaytiring yoki kichik $\delta$ li Xyuberni oling: chetga chiquvchilarga xuddi shunday bardoshlilik, lekin silliq minimum.
Ko‘p uchraydigan xatolar
- Modulni unutish:
np.mean(y - y_hat)— bu MAE emas, siljish. Turli ishorali xatolar bir-birini yo‘qotadi va yomon model nol olishi mumkin. - Turli masalalarning MAE’sini solishtirish. Minglardagi narxlar uchun va graduslardagi harorat uchun MAE $=5$ — solishtirib bo‘lmaydigan sonlar. Masshtablar orasida solishtirish uchun MAPE yoki oddiy bazaviy model MAE’siga bo‘lingan MAE bor.
- MSE’da o‘qitib, MAE bilan hisobot berish (yoki aksincha). MSE modelni shartli o‘rtachaga, MAE — medianaga olib boradi. Qiyshiq ma’lumotlarda (narxlar, daromadlar, kutish vaqti) bular turli sonlar va bir metrika bo‘yicha eng yaxshi model odatda ikkinchisida yutqazadi.
- MAE-yo‘qotish bilan o‘zgarmas qadam. Parametrlar minimum yonida $\eta$ tartibidagi amplituda bilan titraydi. Qadam jadvali yoki silliqlangan yo‘qotish kerak.
- Yagona yechim kutish. MAE minimumi butun kesma (nuqtalar soni juft bo‘lsa) yoki ko‘pyoq qirrasi bo‘lishi mumkin. Turli yechuvchilar turli, lekin bir xil yaxshi javoblar qaytaradi.
- Dumga qaramay MAE’ni «tipik xato» deb hisoblash. MAE $=1$ kamdan-kam 50 ga adashishlarni yashirishi mumkin. MAE yonida xatolar taqsimotiga, kvantillarga va RMSE’ga qarang.
Boshqa formulalar bilan bog‘liqlik
- MSE: modul o‘rniga kvadrat — silliqlik va mediana o‘rniga o‘rtacha, lekin chetga chiquvchilarga sezgirlik.
- RMSE: $\mathrm{RMSE}\ge\mathrm{MAE}$. Normal xatolar uchun $\mathrm{RMSE}/\mathrm{MAE}=\sqrt{\pi/2}\approx1{,}253$, Laplas xatolari uchun $\sqrt2\approx1{,}414$; umumiy misolda $1{,}428$.
- Xyuber funksiyasi: nol yonida kvadrat, uzoqda modul — bir vaqtda silliq minimum va chetga chiquvchilarga bardoshlilik.
- MAPE: o‘sha MAE, lekin nisbiy xatolar $|e_i|/|y_i|$ dan.
- SGD va Adam: MAE bilan kamayuvchi qadam kerak bo‘ladigan optimizatorlar.
Xulosa
1) $\mathrm{MAE}=\frac1n\sum|y_i-\hat y_i|$ — $y$ birliklaridagi adashishning o‘rtacha uzunligi; umumiy misolda $0{,}833$. 2) Xatolar chiziqli kiradi, shuning uchun MAE chetga chiquvchilarga bardoshli, eng yaxshi o‘zgarmas esa — mediana (juft $n$ da — ikki markaziy qiymat orasidagi istalgan nuqta). 3) Hosila — $-\operatorname{sign}(e_i)/n$; nolda subdifferensial $[-1;\,1]$, amalda $0$ olinadi. 4) Parametrlar bo‘yicha MAE sirti — ko‘pyoq; har doim ikki ma’lumot nuqtasidan o‘tuvchi optimal to‘g‘ri chiziq bor. 5) Minimum yonida gradiyent kamaymaydi: kamayuvchi qadam bilan o‘qiting yoki Xyuberni oling. 6) Og‘ma «V» — pinbol yo‘qotish — kvantillarni beradi; MAE Laplas shovqiniga mos keladi.