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

MAE: o‘rtacha absolyut xato

Regressiyaning eng tushunarli metrikasi: model o‘rtacha qanchaga adashadi. MAE’ni mayda detallarigacha tahlil qilamiz: nega uni mediana minimallashtiradi, subgradiyent nima va nega o‘zgarmas qadamli tushish optimum yonida «titraydi», uning ko‘pyoqli sirti qanday ko‘rinadi va nega u chetga chiquvchi qiymatlarga bunchalik bardoshli.

Javharbek Abdulatipov · 32 daq o‘qish
$$\mathrm{MAE}=\frac{1}{n}\sum_{i=1}^{n}\bigl|y_i-\hat{y}_i\bigr|$$

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’da objective="l1": barglardagi qiymatlar — qoldiqlar medianalari;
  • robast statistika — eng kichik modullar regressiyasi (least absolute deviations, LAD), kvantil regressiya, «tipik» qiymat bahosi sifatida mediana.
Bir daqiqada asosiysi

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

1-rasm. Umumiy misol xatolari. Kesmalar uzunligi $0{,}5$, $0$ va $2$, ularning yig‘indisi $2{,}5$, o‘rtachasi $\mathrm{MAE}=2{,}5/3\approx0{,}833$. Uchinchi bashoratni $8$ ga qo‘ying — MAE $0{,}5/3\approx0{,}167$ gacha tushadi.
Nimaga e’tibor berish kerak

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.

$$\underbrace{y_i-\hat y_i}_{\text{xato }e_i}\;\longrightarrow\;\underbrace{|e_i|}_{\text{uzunlik}}\;\longrightarrow\;\underbrace{\sum_{i=1}^{n}|e_i|}_{\text{umumiy xato}}\;\longrightarrow\;\underbrace{\frac1n\sum_{i=1}^{n}|e_i|}_{\text{o‘rtacha xato}}$$
$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$
132,50,50,50,25
255000
3810−224
Yig‘indi2,54,25
O‘rtacha0,8331,417

$e_i^2$ ustuni MSE bilan solishtirish uchun qo‘shilgan. Vektor ko‘rinishida MAE — xatolar vektorining $n$ ga bo‘lingan $L_1$ normasi:

$$\mathrm{MAE}(y,\hat y)=\frac{1}{n}\,\bigl\|y-\hat y\bigr\|_1,\qquad \|v\|_1=\sum_{i=1}^{n}|v_i|$$

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

$$\frac{d\,\mathrm{MAE}}{dc}=\frac{\#\{i:\,y_i<c\}-\#\{i:\,y_i>c\}}{n}$$

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

2-rasm. $(2;\,3;\,5;\,9;\,16)$ tanlanma uchun $\mathrm{MAE}(c)$ va uning subgradiyenti. $c=10$ da chapda to‘rtta, o‘ngda bitta nuqta: qiyalik $(4-1)/5=0{,}6$, $\mathrm{MAE}(10)=5{,}4$. Minimum $4$ — mediana $5$ da; o‘rtacha $7$ da MAE kattaroq: $4{,}4$. $n=6$ ga o‘ting ($12$ nuqtasi qo‘shilgan): tub butun $[5;\,9]$ kesmada tekis bo‘lib qoladi.
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.

Nega bu muhim

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:

$$\frac{d|e|}{de}=\frac{1}{2\sqrt{e^2}}\cdot2e=\frac{e}{|e|}=\operatorname{sign}(e)$$

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:

$$\frac{\partial\,\mathrm{MAE}}{\partial\hat y_i}=\frac1n\operatorname{sign}(e_i)\cdot(-1)=-\frac{1}{n}\operatorname{sign}\bigl(y_i-\hat y_i\bigr)$$

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

$$\frac{\partial\,\mathrm{MAE}}{\partial w}=-\frac1n\sum_{i=1}^{n}\operatorname{sign}(e_i)\,x_i,\qquad \frac{\partial\,\mathrm{MAE}}{\partial b}=-\frac1n\sum_{i=1}^{n}\operatorname{sign}(e_i)$$

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.

$$\frac{\partial\,\mathrm{MAE}}{\partial\hat y_i}=-\frac{1}{n}\operatorname{sign}\bigl(y_i-\hat y_i\bigr),\qquad \partial|e|\,\big|_{e=0}=[-1;\,1]$$

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.

3-rasm. Chapda — $|e|$ yo‘qotish va urinma, o‘ngda — $\operatorname{sign}(e)$ hosila. Nuqtani nolga olib boring: urinma qiyaliklari $-1$ dan $1$ gacha bo‘lgan to‘g‘ri chiziqlar yelpig‘ichiga ajraladi, o‘ngda esa bunga butun $[-1;\,1]$ kesma mos keladi. Solishtirishni yoqing: $e^2$ ning hosilasi $2e$ ga teng va nolga qarab silliq kamayadi, $|e|$ da esa u minimumning o‘zigacha $\pm1$ bo‘lib qoladi.
Amalda nolda 0 olinadi

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

4-rasm. $y=1+0{,}5x$ to‘g‘ri chiziq atrofidagi o‘nta nuqta va $x=9$ dagi bitta chetga chiquvchi nuqta (qizil nuqtani torting). Faqat o‘nta nuqta bo‘yicha (chetga chiquvchisiz) qiyaliklar haqiqiysiga yaqin: MAE’da $0{,}467$, MSE’da $0{,}499$. Chetga chiquvchi nuqta $y=0$ da bo‘lganda MSE chizig‘i $0{,}291$ qiyalikkacha qulaydi, MAE chizig‘i esa faqat $0{,}438$ gacha. Chetga chiquvchi nuqtaning $b$ bo‘yicha gradiyentdagi hissasi: MAE’da $1/11\approx0{,}091$, MSE’da $0{,}778$.

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.

Buzilish nuqtasi (breakdown point)

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.

5-rasm. Chapda — $\mathrm{MAE}(w,b)$ sirti, uni aylantirish mumkin. O‘ngda yuqorida — yuqoridan ko‘rinish: to‘q sariq punktir — $y_i=wx_i+b$ qirralar (bukilishlar), qizil nuqta — $(1{,}25;\,3{,}25)$ dagi $\mathrm{MAE}=0{,}39$ minimum. Ko‘k nuqtani torting: pastda mos to‘g‘ri chiziq ko‘rinadi. Boshlang‘ich $(0{,}4;\,1{,}8)$ nuqtada $\mathrm{MAE}=1{,}78$. MSE’ga o‘ting: kristall o‘rniga $(1{,}39;\,3{,}58)$ da $0{,}229$ minimumli silliq kosa.

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.

Tarixdan

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.

$$\theta_{t+1}=\theta_t-\eta_t\,g_t,\qquad g_t\in\partial\,\mathrm{MAE}(\theta_t),\qquad \eta_t=\frac{\eta}{\sqrt{t+1}}$$
6-rasm. $\mathrm{MAE}=3{,}16$ bo‘lgan $(-0{,}5;\,0{,}5)$ nuqtadan $\eta=0{,}2$ bilan $\mathrm{MAE}(w,b)$ bo‘yicha subgradiyent tushish. O‘zgarmas qadam (to‘q sariq) $t=20$ dayoq $0{,}424$ beradi, lekin keyin minimum atrofida sakraydi: $t\ge100$ da MAE $0{,}392$ va $0{,}408$ orasida tebranadi va $0{,}390$ gacha yetmaydi. Kamayuvchi qadam (feruza) sekinroq boshlanadi — $t=50$ da $1{,}085$ va $t=100$ da $0{,}481$, — lekin $t=200$ ga kelib uch xona aniqlikda $0{,}390$ optimumni ko‘rsatadi. O‘ngda — optimumdan ortiqcha $\mathrm{MAE}-\mathrm{MAE}^*$ logarifmik shkalada: o‘zgarmas qadamda u $0{,}002$ va $0{,}018$ orasida qotib qoladi, kamayuvchida ham tebranadi, lekin taxminan bir tartib pastroqda va sekin so‘nuvchi amplituda bilan: $150\le t\le200$ da — $3{,}3\cdot10^{-4}$ va $1{,}6\cdot10^{-3}$ orasida.

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 bilan solishtiring

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:

$$\rho_\tau(e)=\max\bigl(\tau e,\;(\tau-1)\,e\bigr)=\begin{cases}\tau\,e, & e\ge0,\\ (\tau-1)\,e, & e<0,\end{cases}\qquad \mathrm{MAE}=\frac{2}{n}\sum_{i=1}^{n}\rho_{0{,}5}(e_i)$$

$\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.

7-rasm. Chapda — pinbol yo‘qotish va solishtirish uchun $\tfrac12|e|$ (bu $\tau=0{,}5$). O‘ngda — tarqoqligi $x$ bilan birga o‘sadigan 60 nuqta va tanlangan $\tau$ uchun eng yaxshi to‘g‘ri chiziq. $\tau=0{,}9$ da chiziqdan pastda $60$ tadan $53$ nuqta ($88\%$), yana $2$ tasi uning ustida; $\tau=0{,}5$ da pastda $29$ ta, chiziq ustida $2$ ta. Punktir — $\tau=0{,}1$, $0{,}5$ va $0{,}9$ uchun to‘g‘ri chiziqlar: tarqoqlik o‘sgani uchun ular yelpig‘ichdek tarqaladi.

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

$$-\ln L=n\ln(2s)+\frac{1}{s}\sum_{i=1}^{n}|y_i-\hat y_i|=n\ln(2s)+\frac{n}{s}\,\mathrm{MAE}$$

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")
Qoida

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

  1. Modulni unutish: np.mean(y - y_hat) — bu MAE emas, siljish. Turli ishorali xatolar bir-birini yo‘qotadi va yomon model nol olishi mumkin.
  2. 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.
  3. 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.
  4. MAE-yo‘qotish bilan o‘zgarmas qadam. Parametrlar minimum yonida $\eta$ tartibidagi amplituda bilan titraydi. Qadam jadvali yoki silliqlangan yo‘qotish kerak.
  5. 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.
  6. 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.
  • 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.

O‘zingizni tekshiring

1. $y=(1;\,4;\,6)$, $\hat y=(2;\,4;\,3)$. MAE nimaga teng?
2. $(1;\,2;\,3;\,10;\,50)$ tanlanma uchun qaysi o‘zgarmas MAE’ni minimallashtiradi?
3. $|e|$ funksiyaning $e=0$ nuqtadagi subdifferensiali qanday?
4. Nega MAE bo‘yicha o‘zgarmas qadamli gradiyent tushish aniq yaqinlashmaydi?
5. $\tau=0{,}9$ bo‘lgan pinbol yo‘qotishni minimallashtiruvchi o‘zgarmas nimani baholaydi?