U nima uchun kerak
Binar klassifikatsiya modeli $\hat y\in(0;\,1)$ sonini chiqaradi — obyektning 1-sinfga tegishli bo‘lish ehtimolligini: xat — spam, tranzaksiya — firibgarlik, suratda o‘sma bor. Model o‘rganishi uchun yo‘qotish funksiyasi (loss) kerak: bashorat qanchalik yomon bo‘lsa, shunchalik katta bo‘ladigan va differensiallanadigan bitta son. Binar kross-entropiya (binary cross-entropy, BCE; statistikada — log loss, manfiy log-o‘xshashlik) — bunday masala uchun standart tanlov.
U qayerda turadi:
- logistik regressiya va istalgan binar klassifikator chiqishi — sigmoida + BCE juftligi;
- multi-label klassifikatsiya — har bir belgining (foto teglari, toksiklik toifalari) o‘z sigmoidasi va o‘z BCE’si bor, belgilar mustaqil;
- gradiyentli busting — XGBoost’dagi
binary:logistic, LightGBM’dagibinary, CatBoost’dagiLogloss— daraxtlarning «xom» hisobi bo‘yicha xuddi shu BCE; - GAN diskriminatori BCE bilan o‘qitiladi: «haqiqiy» — 1, «generatsiya qilingan» — 0;
- RLHF va DPO’dagi mukofot modellari — $-\log\sigma(r_{\text{yaxshi}}-r_{\text{yomon}})$ yo‘qotishi baholar ayirmasi uchun 1 belgili BCE’dir (Bredli — Terri modeli);
- metrika — musobaqalar va hisobotlardagi log loss: u nafaqat «topdimi», balki ehtimolliklarning halolligini ham baholaydi.
BCE — model to‘g‘ri javobga bergan ehtimollikning $-\log$ i. Ishonchli to‘g‘ri javob deyarli 0 turadi, «50 ga 50» javob — $\ln2\approx0{,}693$, ishonchli xato — istalgancha ko‘p. Sigmoida bilan birga logit bo‘yicha gradiyent shunchaki $\hat y-y$: to‘yinishsiz, moduli birdan oshmaydi va xatoga proporsional. BCE logistik regressiya vaznlari bo‘yicha qavariq, uning minimumi esa halol ehtimolliklarda erishiladi.
Intuitsiya: kutilmaganlik uchun jarima
Modelni har kuni yomg‘ir ehtimolligini aytadigan sinoptik deb tasavvur qiling. U «90%» desa va yomg‘ir yog‘sa — u deyarli ajablanmaydi, jarima kichik. «10%» desa-yu, yomg‘ir yog‘sa — u qattiq xato qildi va bunga ishongan edi; jarima katta bo‘lishi kerak. Agar u umuman prognozdan bosh tortib, doim «50%» desa, har kungi jarimasi bir xil — $\ln2\approx0{,}693$.
BCE aynan shunday tuzilgan: yo‘qotish haqiqatda sodir bo‘lgan narsa ehtimolligining $-\ln$ iga teng. $y=1$ to‘g‘ri javob uchun bu $-\ln\hat y$ (qizil egri chiziq), $y=0$ uchun — $-\ln(1-\hat y)$ (ko‘k). Nuqtani torting.
Ishonchli xato $\hat y=0{,}1$ ishonchli to‘g‘ri javob $\hat y=0{,}9$ dan 22 marta qimmat ($2{,}303$ ga qarshi $0{,}105$). Yo‘qotishning shifti yo‘q: $\hat y\to0$ da devor cheksizlikka ketadi. Logarifmning yana bir xossasi: to‘g‘ri javob ehtimolligining har bir ikki marta kamayishi yo‘qotishga bir xil son — $\ln2\approx0{,}693$ qo‘shadi.
Formula mayda detallarigacha
Bitta qo‘shiluvchini — bitta obyektdagi yo‘qotishni olib, har bir detaliga qaraymiz.
- $y\in\{0,1\}$
- to‘g‘ri javob (belgi). U kalit vazifasini bajaradi: $y=1$ da ikkinchi qo‘shiluvchi 0 ga ko‘paytiriladi, $y=0$ da — birinchisi;
- $\hat y\in(0;\,1)$
- 1-sinfning bashorat qilingan ehtimolligi, odatda $\hat y=\sigma(z)$, bu yerda $z$ — logit (modelning xom chiqishi);
- $1-\hat y$
- 0-sinfning bashorat qilingan ehtimolligi — ikki ehtimollik yig‘indisi 1 ga teng;
- $\log$
- natural logarifm ($\ln$): yo‘qotish «nat»larda o‘lchanadi; $\log_2$ bilan bitlar chiqardi;
- $-$
- minus kerak, chunki ehtimollik logarifmi manfiy: $\log\hat y\le0$, yo‘qotish esa $\ge0$ bo‘lishi kerak;
- $\frac1n\sum_{i=1}^{n}$
- obyektlar bo‘yicha o‘rtacha — yo‘qotish kattaligi batch o‘lchamiga bog‘liq bo‘lmasligi uchun.
Kalit ixcham yozuv beradi: $p_t$ — model to‘g‘ri sinfga bergan ehtimollik bo‘lsin ($y=1$ da $p_t=\hat y$, $y=0$ da $p_t=1-\hat y$). Unda
Ikkinchi shakl — «logitlar bo‘yicha BCE» — gradiyentni keltirib chiqarish va barqaror kod uchun kerak bo‘ladi. Agar belgilar $s=\pm1$ ko‘rinishida yozilsa, xuddi shu yo‘qotish $\log(1+e^{-s z})$ logistik yo‘qotishga aylanadi, bu yerda $s z$ — chegara masofasi (margin): musbat margin to‘g‘ri javobni bildiradi.
| $\hat y$ | $-\ln\hat y$ ($y=1$ da) | $-\ln(1-\hat y)$ ($y=0$ da) | $y=1$ da $\partial\ell/\partial\hat y$ |
|---|---|---|---|
| 0,001 | 6,908 | 0,001 | −1000 |
| 0,01 | 4,605 | 0,010 | −100 |
| 0,1 | 2,303 | 0,105 | −10 |
| 0,3 | 1,204 | 0,357 | −3,333 |
| 0,5 | 0,693 | 0,693 | −2 |
| 0,7 | 0,357 | 1,204 | −1,429 |
| 0,9 | 0,105 | 2,303 | −1,111 |
| 0,99 | 0,010 | 4,605 | −1,010 |
| 0,999 | 0,001 | 6,908 | −1,001 |
Jadval nosimmetriyani ko‘rsatadi: to‘g‘ri tomonda yo‘qotish tezda nolga yopishadi, noto‘g‘ri tomonda logarifm kabi o‘sadi, $-1/\hat y$ qiyalik esa $\hat y=0{,}001$ da $-1000$ ga yetadi.
To‘rt obyektdagi misol
Belgilar $y=(1;\,0;\,1;\,1)$, bashoratlar $\hat y=(0{,}9;\,0{,}2;\,0{,}6;\,0{,}95)$. To‘g‘ri javoblar ehtimolliklari: $0{,}9$; $0{,}8$; $0{,}6$; $0{,}95$. Yo‘qotishlar: $0{,}105$; $0{,}223$; $0{,}511$; $0{,}051$. O‘rtachasi — $\mathrm{BCE}\approx0{,}223$. Eng ko‘p «aybdor» — uchinchi obyekt: model to‘g‘ri javobga atigi $0{,}6$ bergan.
U qayerdan keladi: maksimal o‘xshashlik
BCE «ko‘z bilan» o‘ylab topilmagan — u keltirib chiqariladi. Model shunday desin: «obyekt $\hat y$ ehtimollik bilan 1-sinfga tegishli». Bu Bernulli taqsimoti, uning formulasini bitta satrda yozish qulay — yana belgi kalit rolida, lekin endi daraja ko‘rsatkichida:
Agar obyektlar mustaqil bo‘lsa, o‘quv tanlanmasining barcha belgilarini ko‘rish ehtimolligi — o‘xshashlik (likelihood) — ko‘paytmaga teng. Maksimal o‘xshashlik usuli model parametrlarini shu ko‘paytma imkon qadar katta bo‘ladigan qilib tanlaydi:
Logarifm ko‘paytmani yig‘indiga aylantiradi va maksimum nuqtasini siljitmaydi (u qat’iy o‘suvchi), minus maksimumni minimumga, $\tfrac1n$ esa o‘rtachaga aylantiradi. Demak, BCE’ni minimallashtirish — Bernulli modeli o‘xshashligini maksimallashtirishning aynan o‘zi.
Yuqoridagi misolda: $\mathcal L=0{,}9\cdot0{,}8\cdot0{,}6\cdot0{,}95=0{,}4104$, $-\ln0{,}4104\approx0{,}891$ — aynan to‘rt yo‘qotish yig‘indisi, 4 ga bo‘linganda esa xuddi shu $\mathrm{BCE}\approx0{,}223$.
Formuladan kelib chiqadi: $e^{-\mathrm{BCE}}=\mathcal L^{1/n}$ — model to‘g‘ri javoblarga bergan ehtimolliklarning o‘rta geometrigi. Misolda $e^{-0{,}223}\approx0{,}800$: «model o‘rtacha to‘g‘ri javobga 80% qo‘yadi». Bu BCE qiymatini mutaxassis bo‘lmagan odamga tushuntirishning qulay usuli.
Nega ko‘paytmaning o‘zi emas, logarifm
Birinchidan, 1 dan kichik million ehtimollik ko‘paytmasi kompyuterda nolga aylanadi (underflow), logarifmlar yig‘indisi esa oddiy son. Ikkinchidan, yig‘indining hosilasi — hosilalar yig‘indisi: batch bo‘yicha gradiyent obyektlar hissalaridan yig‘iladi. Uchinchidan, logarifm mustaqillikni (ehtimolliklarni ko‘paytirishni) yo‘qotishlarni qo‘shishga aylantiradigan yagona (ko‘paytuvchi aniqligida) uzluksiz funksiya — u axborot ta’rifida turishining sababi ham shu.
Axborot nazariyasi nigohi: kutilmaganlik, entropiya, KL
Xuddi shu natija boshqa tomondan ham olinadi. Klod Shennon axborot nazariyasida $p$ ehtimollikli hodisa $I(p)=-\log p$ xususiy axborot olib yuradi; uni kutilmaganlik (surprisal) deb ham atashadi. Muqarrar hodisa ($p=1$) ajablantirmaydi ($I=0$); kamyob hodisa qattiq ajablantiradi; mustaqil hodisalarning kutilmaganliklari qo‘shiladi. Bitlarda ($\log_2$) $\tfrac18$ ehtimollikli hodisa 3 bit olib yuradi; natlarda ($\ln$) bir bit $\ln2\approx0{,}693$ ga teng.
Haqiqiy dunyo «1» ehtimolligi $y$ bo‘lgan tanga kabi tuzilgan bo‘lsin, model esa $\hat y$ ehtimollikka ishonsin. Unda:
Kross-entropiya — bu aynan BCE (nomi shundan), formula esa «yumshoq» $y\in[0;\,1]$ belgilar uchun ham ishlaydi. Ikki kattalik ayirmasi — Kulbak — Leybler divergensiyasi (KL):
$H(y)$ entropiya modelga bog‘liq emas, shuning uchun BCE’ni minimallashtirish — KL’ni, ya’ni model ishonchidan haqiqatgacha bo‘lgan «masofa»ni minimallashtirish demak. KL faqat $\hat y=y$ da nolga teng. Qattiq $y\in\{0,1\}$ belgilar uchun entropiya nolga teng va BCE KL bilan ustma-ust tushadi.
«Muhandislik» ma’nosi ham bor. Optimal kod $p$ ehtimollikli hodisaga taxminan $-\log_2p$ bit sarflaydi. Agar hodisalarni haqiqiy $y$ ga emas, $\hat y$ ga ishonib kodlasak, xabarning o‘rtacha uzunligi kross-entropiyaga teng, idealga nisbatan ortiqcha sarf esa aynan KL. Modelni BCE bilan o‘qitib, biz uni belgilarni imkon qadar tejamkor «siqish»ga o‘rgatamiz.
Isbot: KL ≥ 0 (Gibbs tengsizligi)
$\ln t\le t-1$ dan foydalanamiz (botiq logarifmga $t=1$ nuqtadagi urinma grafikdan yuqorida yotadi):
$\ln t\le t-1$ da tenglik faqat $t=1$ da, shuning uchun $\mathrm{KL}=0$ faqat $\hat y=y$ da (vazni nol bo‘lgan, $y=0$ yoki $1-y=0$ qo‘shiluvchilar shunchaki tushib qoladi).
Xossalar
- Manfiy emaslik. $\ell\ge0$; qattiq belgilar uchun $\ell=0$ faqat $\hat y\to y$ limitda. Chiqishda sigmoida bo‘lsa, $\hat y$ hech qachon aynan 0 yoki 1 bo‘lmaydi, shuning uchun nolga erishilmaydi.
- Yuqoridan chegaralanmaganlik. $y=1$, $\hat y\to0$ da yo‘qotish $\to+\infty$. Lekin logitlarda o‘sish faqat chiziqli: $z\ll0$ da $\operatorname{softplus}(-z)\approx-z$, va $-10$ logitli ishonchli xato cheksizlik emas, taxminan 10 turadi.
- Logit bo‘yicha chegaralangan gradiyent. $|\partial\ell/\partial z|=|\hat y-y|<1$: model qanchalik qattiq xato qilmasin, har bir obyekt uni 1 dan oshmaydigan kuch bilan tortadi.
- $\hat y$ bo‘yicha qavariqlik: $\dfrac{\partial^2\ell}{\partial\hat y^2}=\dfrac{y}{\hat y^2}+\dfrac{1-y}{(1-\hat y)^2}>0$. Logit bo‘yicha qavariqlik: $\dfrac{\partial^2\ell}{\partial z^2}=\hat y(1-\hat y)>0$. Bundan logistik regressiya vaznlari bo‘yicha qavariqlik kelib chiqadi (pastga qarang).
- Sinflar simmetriyasi: $\ell(z,y)=\ell(-z,1-y)$ — sinflar nomini va logit ishorasini almashtirsak, hech narsa o‘zgarmaydi.
- Qat’iy xos baholash qoidasi (strictly proper scoring rule): agar haqiqat $p$ ehtimollikli tanga bo‘lsa, o‘rtacha yo‘qotish $H(p)+\mathrm{KL}(p\,\|\,q)$ faqat $q=p$ prognozda minimal. BCE halollikni rag‘batlantiradi (kalibrlash bo‘limi).
- Sanoq nuqtasi. Doim musbatlar ulushi $\pi$ ni bashorat qiladigan konstanta-model $\mathrm{BCE}=H(\pi)$ oladi. Muvozanatli sinflar uchun bu $\ln2\approx0{,}693$, $\pi=0{,}1$ uchun — $0{,}325$. Bu chegaradan yomonroq model hech narsa o‘rganmagan.
Logistik regressiya vaznlari bo‘yicha qavariqlik: gessian
$z_i=w^\top x_i$ bo‘lsin ($b$ siljish birlik belgi orqali $w$ ga kiritilgan). O‘rtacha BCE gradiyenti va gessiani:
bu yerda $S=\operatorname{diag}\bigl(\hat y_i(1-\hat y_i)\bigr)$. Istalgan $v$ vektor uchun: $v^\top\nabla^2 v=\frac1n\sum\hat y_i(1-\hat y_i)(v^\top x_i)^2\ge0$ — gessian nomanfiy aniqlangan, funksiya qavariq. Demak, logistik regressiyada yomon lokal minimumlar yo‘q: gradiyenti nol bo‘lgan nuqtani topgan har qanday tushish global minimumni topgan bo‘ladi. $y$ belgilar gessianga umuman kirmaydi. Klassik realizatsiyalardagi Nyuton usuli (IRLS) aynan shu gessianda ishlaydi.
Hosila: nega σ′ qisqaradi
Bu sahifaning markaziy formulasi. Avval $\hat y$ ehtimollik bo‘yicha hosila, so‘ng $z$ logit bo‘yicha, bu yerda $\hat y=\sigma(z)$.
Bu hosila noqulay: $\hat y\to0$ yoki $\hat y\to1$ da maxraj nolga intiladi va gradiyent portlaydi (yuqoridagi jadvalda $\hat y=0{,}001$ da $-1000$). Lekin model $\hat y$ ni bevosita chiqarmaydi — u logit chiqaradi, ehtimollik esa sigmoida orqali olinadi. Zanjir qoidasi:
Birinchi kasr maxraji — aynan sigmoida hosilasi $\sigma'(z)=\sigma(z)\bigl(1-\sigma(z)\bigr)$ (keltirib chiqarilishi sigmoida sahifasida). Ular qisqaradi va «bashorat minus haqiqat» qoladi.
Softplus orqali qadamma-qadam keltirib chiqarish
Yo‘qotishni logit orqali qayta yozamiz. $\log\sigma(z)=-\log(1+e^{-z})=-\operatorname{softplus}(-z)$ va $\log(1-\sigma(z))=\log\sigma(-z)=-\operatorname{softplus}(z)$ bo‘lgani uchun:
Bu yerda $\operatorname{softplus}(-z)=\log(1+e^{-z})=\log\bigl(e^{-z}(e^{z}+1)\bigr)=\operatorname{softplus}(z)-z$ ayniyatidan foydalanildi. Softplus hosilasi — sigmoida: $\frac{d}{dz}\log(1+e^{z})=\frac{e^{z}}{1+e^{z}}=\sigma(z)$. Demak,
Ikkinchi hosila istalgan $z$ da musbat — yo‘qotish logit bo‘yicha qat’iy qavariq.
Nega bu tasodif emas: kanonik bog‘lanish
Bernulli taqsimoti eksponensial oilaga tegishli: $\log P(y)=y\,z-A(z)$, bu yerda $z=\log\frac{\hat y}{1-\hat y}$ — tabiiy parametr (logit), $A(z)=\log(1+e^{z})=\operatorname{softplus}(z)$ esa normallovchi konstanta logarifmi. Har qanday bunday oilada $A'(z)$ o‘rtachaga teng, bu yerda $\sigma(z)$. Shuning uchun $A(z)-yz$ manfiy log-o‘xshashlik doim «o‘rtacha − kuzatuv» gradiyentiga ega.
Sigmoida — umumlashgan chiziqli modellarda Bernulli uchun kanonik bog‘lanish funksiyasi (aniqrog‘i, unga teskari). Aynan shu manzara softmax + kross-entropiya (gradiyent $s-y$) va gauss shovqini uchun «ayniy chiqish + MSE» (gradiyent $\tfrac12(\hat y-y)^2$ uchun $\hat y-y$; MSE’ning o‘zida — $2(\hat y-y)$) juftliklarida ham. Shuning uchun «bashorat − haqiqat» formulasi butun mashinaviy o‘qitishda takrorlanadi.
Logistik regressiya vaznlari $\hat y_i=\sigma(w^\top x_i+b)$ uchun bu o‘qitishda ishlatiladigan qisqa formulalarni beradi:
$\hat y-y$ gradiyent $(-1;\,1)$ oraliqda yotadi, ehtimollikdagi xatoga chiziqli bog‘liq va $\sigma'(z)$ ko‘paytuvchisini o‘z ichiga olmaydi. Ishonch bilan xato qilayotgan model deyarli maksimal turtki oladi; allaqachon haq bo‘lgan model — deyarli nol. Chiziqli regressiyadagi MSE gradiyenti ham (2 ko‘paytuvchi aniqligida) aynan shunday ko‘rinadi.
Nega MSE emas: to‘yinish va qavariq emaslik
Nega klassifikatorni regressiyadagidek $(\hat y-y)^2$ kvadratik xato bilan o‘qitmaslik kerak? $\hat y=\sigma(z)$ bo‘lganda logit bo‘yicha gradiyentni hisoblaymiz:
Bu yerda $\sigma'(z)$ ko‘paytuvchisi endi hech narsa bilan qisqarmaydi. Agar model ishonch bilan xato qilsa ($y=1$, $z\ll0$), $\sigma'(z)\approx0$ va gradiyent deyarli nol: model o‘zining eng qo‘pol xatosini «eshitmaydi». $z=-4$ da BCE gradiyenti $-0{,}982$, MSE’niki esa $-0{,}0347$ — 28 marta kichik; $z=-6$ da — allaqachon 203 marta. MSE gradiyentining eng katta moduli, $-0{,}296$, $z=-\ln2\approx-0{,}693$ da erishiladi — ya’ni MSE ozgina xato qilayotgan modelni eng kuchli turtadi.
Ikkinchi muammo — qavariq emaslik. $y=1$ uchun MSE’ning logit bo‘yicha ikkinchi hosilasi $-2\sigma(1-\sigma)^2(1-3\sigma)$ ga teng va $\sigma<\tfrac13$ da, ya’ni $z<-\ln2$ da manfiy. U yerda yo‘qotish botiq va deyarli tekis: ko‘p obyektlar bo‘yicha bunday qo‘shiluvchilar yig‘indisida platolar va egar sohalar paydo bo‘ladi (5-rasm). Uchinchi muammo — chegaralanganlik: MSE 1 dan oshmaydi va «juda noto‘g‘ri» deyarli «umidsiz noto‘g‘ri» bilan bir xil turadi.
MSE ikkinchi hosilasini keltirib chiqarish
$y=1$ da: $L=(1-\sigma)^2$, $L'=-2(1-\sigma)\sigma'=-2\sigma(1-\sigma)^2$. $\sigma'=\sigma(1-\sigma)$ ni eslab, ko‘paytmani differensiallaymiz:
Ishorani $1-3\sigma$ ko‘paytuvchi belgilaydi: $\sigma<\tfrac13$ da (ya’ni $z<-\ln2$) $L''<0$. $L'$ minimumi o‘sha nuqtada: $L'(-\ln2)=-2\cdot\tfrac13\cdot\tfrac49=-\tfrac{8}{27}\approx-0{,}296$.
Metrika sifatida — marhamat: $(\hat y-y)^2$ o‘rtacha kvadratini Brayer bahosi (Brier score) deyishadi, u ham xos baholash qoidasi. Muammo kvadratning o‘zida emas, sigmoida orqali o‘qitishda: gradiyent $\sigma'$ orqali o‘tadi va so‘nadi. Ehtimoliy sabab ham bor: MSE — gauss shovqini o‘xshashligi, 0/1 belgilar esa gauss emas.
3D’da yo‘qotish landshafti
Yo‘qotishga butunlay, parametrlar funksiyasi sifatida qaraymiz. Bitta belgili logistik regressiya $\hat y=\sigma(wx+b)$ va 24 nuqtani (har sinfdan 12 tadan) olamiz. O‘rtacha yo‘qotish — ikki o‘zgaruvchili $L(w,b)$ funksiya, uni sirt sifatida chizish mumkin.
Rasmda nima ko‘rinadi:
- BCE — qavariq kosa, yagona minimumi $(1{,}441;\,0{,}149)$ da, u yerda $L=0{,}451$. Minimumdan uzoqda devorlari parabola emas, deyarli tekis qiya tekisliklar: yo‘qotish chiziqli o‘sadi, gradiyent chegaralangan.
- MSE — platolar va burmalar. Uning minimumi $(1{,}374;\,0{,}320)$, $L=0{,}150$, tor vodiyda yotadi, chekkalarda esa sirt deyarli gorizontal.
- Tushish tezligi. Startda BCE gradiyenti normasi $0{,}969$, MSE’niki — $0{,}0174$, 56 marta kichik. BCE yo‘qotishi minimal qiymatdan $0{,}01$ dan kamroq farq qilishiga atigi 15-qadamda yetadi, tushish esa 63-qadamda to‘xtaydi (gradiyent normasi $<10^{-4}$). MSE o‘z minimal qiymatiga xuddi shu $0{,}01$ aniqlikda faqat 600-qadamda yetadi, 1150-qadamda to‘xtaydi; 100- va 400-qadamlar orasida u yo‘qotish deyarli o‘zgarmaydigan plato bo‘ylab sudraladi ($0{,}500\to0{,}495$).
- Turli minimumlar. Ikki yo‘qotish optimumlari ustma-ust tushmaydi: bular «eng yaxshi» modelning turli ta’riflari. BCE halol ehtimolliklarni, MSE esa ehtimolliklarning 0 va 1 dan og‘ishlari kvadratlarining eng kichigini qidiradi.
Minimumdan uzoqda o‘rtacha BCE uzoqlashgan sari deyarli chiziqli o‘sadi: katta logitlarda $\operatorname{softplus}(-s z)\approx\max(0,-s z)$ va funksiya $(w,b)$ bo‘yicha birinchi darajali musbat bir jinsli bo‘lib qoladi — konus kabi. Shuning uchun o‘zgarmas qadamli gradiyent tushishi chiziqli regressiyadagi MSE parabolasidagidek tik qiyaliklarda «tezlashmaydi», balki chegaralangan tezlik bilan yuradi — bu $|\hat y-y|<1$ ning yana bir natijasi.
O‘qitishda BCE
Endi ikki o‘lchovli holat: ikki sinfning 60 nuqtasi, $\hat y=\sigma(w_1x_1+w_2x_2+b)$ model, nol vaznlardan $\eta=1$ qadamli to‘liq gradiyent tushishi:
Nuqtalar o‘lchamiga e’tibor bering: eng yiriklari chegaraning «begona» tomonidagi nuqtalar bo‘lib qoladi. Ularning $|\hat y-y|$ gradiyenti 1 ga yaqin, ishonchli va to‘g‘ri klassifikatsiya qilinganlarniki esa nolga. BCE modelning «e’tibori»ni nimaga sarflashni o‘zi hal qiladi: asosan xatolarga va chegara yonidagi nuqtalarga.
Chiziqli ajraladigan ma’lumotlar: vaznlar cheksizlikka ketadi
Agar sinflar to‘g‘ri chiziq bilan ajralsa, BCE’ni shunchaki $\|w\|$ ni oshirib, istalgancha kichik qilish mumkin: chegara joyida qoladi, sigmoida esa tobora tiklashadi. Minimum yo‘q — faqat 0 infimum bor. Rasmda bu hisoblagichda ko‘rinadi: 100-qadamda yo‘qotish $0{,}0205$ va $\|w\|=3{,}94$, 200-qadamda — $0{,}0133$ va $4{,}77$, 400-qadamda — $0{,}0082$ va $5{,}76$. Norma qadamlar soni logarifmi kabi o‘sadi va to‘xtamaydi.
Vaznlar yo‘nalishi qayerga yaqinlashadi
Ajraladigan ma’lumotlarda BCE gradiyentini eng kichik marginli nuqtalar belgilaydi: nuqta hissasi $e^{-\text{margin}}$ kabi so‘nadi. Shuning uchun gradiyent tushishining $w/\|w\|$ yo‘nalishi maksimal margin yo‘nalishiga — qattiq SVM’niki bilan bir xil yo‘nalishga yaqinlashadi (Soudry va boshq., 2018), norma esa $\log t$ kabi o‘sadi. Bu gradiyent tushishining «yashirin regulyarizatsiyasi». Amalda vaznlarning cheksiz o‘sishi $L_2$-regulyarizatsiya, erta to‘xtatish yoki belgilarni silliqlash bilan to‘xtatiladi.
Hisoblash barqarorligi: BCEWithLogits
$-[y\log\hat y+(1-y)\log(1-\hat y)]$ formulasi qog‘ozda benuqson, lekin kompyuterda buziladi. Agar avval $\hat y=\sigma(z)$ ni, keyin logarifmni hisoblasak, uchta muammo paydo bo‘ladi:
- log(0). float32’da $\sigma(z)$ qiymati $z>16{,}64$ dayoq aynan 1 gacha yaxlitlanadi: unda $1-\hat y=0$, yo‘qotish $\infty$, gradiyent esa NaN. float64’da xuddi shu $z>36{,}74$ dan boshlanadi.
- Undan oldin aniqlik yo‘qolishi. Ikki yaqin sonning $1-\sigma(z)$ ayirmasi qiymatli raqamlarini yo‘qotadi (halokatli qisqarish): $z=16$ da sodda float32 $16$ o‘rniga $15{,}942$ beradi va grafik zinapoyaga aylanadi.
- Kesish (clipping) — davo emas, yamoq. Agar $\hat y$ ni $\varepsilon=10^{-7}$ bilan $[\varepsilon;\,1-\varepsilon]$ kesmaga cheklasak (Keras kirishda ehtimolliklar berilganda shunday qiladi), yo‘qotish $-\ln10^{-7}\approx16{,}118$ shiftiga, float32’da esa hatto $15{,}942$ ga tiraladi, chunki $1-10^{-7}$ soni $1-2^{-23}$ gacha yaxlitlanadi. Eng yomoni, shiftdan keyin kesish gradiyenti nolga teng: ishonch bilan xato qilayotgan misollar modelni o‘rgatishdan to‘xtaydi. PyTorch
BCELossham shunga o‘xshash ish qiladi — logarifmni $-100$ da kesadi.
Davo — $\hat y$ ni hech qachon alohida hisoblamaslik, yo‘qotishni to‘g‘ridan-to‘g‘ri logit bo‘yicha, softplus va log-sum-exp usuli orqali hisoblash:
Bu shakl qayerdan keladi
Biz allaqachon $\ell=\operatorname{softplus}(z)-yz$ ni oldik. $\operatorname{softplus}(z)=\log(e^{0}+e^{z})$ ni to‘lib ketishsiz hisoblash qoldi. Log-sum-exp usuli: eng katta eksponentani qavsdan chiqaramiz, $m=\max(0,z)$:
Ko‘rsatkichlardan biri 0 ga, ikkinchisi $-|z|\le0$ ga teng, shuning uchun eksponenta hech qachon to‘lib ketmaydi, log1p funksiyasi esa kichik $u$ uchun $\log(1+u)$ ni aniq hisoblaydi. $|z|\to\infty$ da oxirgi qo‘shiluvchi silliq ravishda 0 ga ketadi va yo‘qotish asimptotik ravishda chiziqli bo‘ladi.
pythonimport numpy as np
def sigmoid(z):
# σ(z) = (1 + tanh(z/2)) / 2 — istalgan z da to‘lib ketishsiz
return 0.5 * (1.0 + np.tanh(0.5 * np.asarray(z, dtype=float)))
def bce_with_logits(z, y, pos_weight=1.0):
"""Logitlar bo‘yicha barqaror BCE: y·softplus(−z) + (1 − y)·softplus(z)."""
z, y = np.asarray(z, dtype=float), np.asarray(y, dtype=float)
sp_pos = np.logaddexp(0.0, z) # softplus(z) = −log(1 − σ(z))
sp_neg = sp_pos - z # softplus(−z) = −log σ(z)
return np.mean(pos_weight * y * sp_neg + (1 - y) * sp_pos)
def bce_grad(z, y):
"""O‘rtacha BCE’ning logitlar bo‘yicha gradiyenti: (σ(z) − y) / n."""
return (sigmoid(z) - y) / len(z)
z = np.array([3.0, -2.0, 0.5, 20.0])
y = np.array([1.0, 0.0, 1.0, 0.0])
print(bce_with_logits(z, y)) # 5.1624 — deyarli hammasini oxirgi misol berdi
print(bce_grad(z, y)) # ≈ [-0.0119 0.0298 -0.0944 0.25]
print(bce_with_logits(z, y, 10.0)) # 6.3384 — musbat misollar 10 marta og‘irroq
# float32’da sodda usul: σ(20) 1 gacha yaxlitlanadi va log(1 − 1) = −inf
p = 1 / (1 + np.exp(-np.float32(20.0)))
print(-np.log(1 - p)) # inf (va RuntimeWarning)
pythonimport torch
import torch.nn as nn
z = torch.tensor([3.0, -2.0, 0.5, 20.0], requires_grad=True) # logitlar
y = torch.tensor([1.0, 0.0, 1.0, 0.0])
loss = nn.BCEWithLogitsLoss()(z, y) # σ va log bitta barqaror formula ichida
loss.backward()
print(loss.item()) # 5.1624
print(z.grad) # (σ(z) − y) / 4 ≈ [-0.0119, 0.0298, -0.0944, 0.2500]
# Yomon: avval sigmoid, keyin BCELoss. float32’da σ(20) 1 ga teng,
# BCELoss log’ni −100 da kesadi va oxirgi misol 20 o‘rniga 100 turadi
p = torch.sigmoid(z.detach())
print(nn.BCELoss()(p, y).item()) # 25.1624
# Sinflar nomutanosibligi: musbat misoldagi xato 10 marta qimmat
loss_w = nn.BCEWithLogitsLoss(pos_weight=torch.tensor([10.0]))
# Belgilarni silliqlash: BCEWithLogitsLoss’da bunday parametr yo‘q — o‘zimiz silliqlaymiz
eps = 0.1
y_smooth = y * (1 - eps) + eps / 2 # 1 → 0.95, 0 → 0.05
Model logitlarni qaytaradi, sigmoidani esa yo‘qotishning o‘zi qo‘llaydi: PyTorch’da BCEWithLogitsLoss, Keras’da from_logits=True, JAX’da optax.sigmoid_binary_cross_entropy. Chiqishga sigmoidani faqat ehtimollikning o‘zi kerak bo‘lganda — hisobot yoki chegara uchun qo‘llang.
Sinflar nomutanosibligi: vaznlar va pos_weight
Real masalalarda musbat misollar ko‘pincha kam: tranzaksiyalarning 1% i firibgarlik, ko‘rsatishlarning 0,1% i bosish. Oddiy BCE ehtimolliklarni halol o‘rganadi, lekin kamyob sinf ehtimolligi deyarli hamma joyda kichik va $0{,}5$ chegarada model deyarli hech kimni topmaydi. Ko‘p qo‘llanadigan vosita — musbat sinf vazni $w_+$ (PyTorch’da — pos_weight):
$w_+$ vazni har bir musbat misolni $w_+$ marta takrorlashga teng kuchli. To‘g‘ri berilgan model uchun optimal imkoniyatlar $w_+$ ga ko‘payadi, ya’ni logit $\ln w_+$ ga siljiydi. Musbatlar ulushi $\pi$ bo‘lgan konstanta-model quyidagini tanlaydi
Shuning uchun ommabop $w_+=n_{\text{neg}}/n_{\text{pos}}$ tanlovi sinflarni «tenglashtiradi»: konstanta $0{,}5$ bo‘ladi.
Rasmdan uchta xulosa:
- Vaznlarsiz o‘rtacha bashorat sinf ulushiga teng: $0{,}091=15/165$. Bu tasodif emas: siljishli logistik regressiyada optimumda $\partial\mathrm{BCE}/\partial b=\frac1n\sum(\hat y_i-y_i)=0$, ya’ni $\sum\hat y_i=\sum y_i$.
- Vazn chegarani siljitadi, modelni «aqlliroq» qilmaydi. $w_+=10$ da $b$ ning siljishi $1{,}91$ — $\ln10\approx2{,}30$ ga yaqin (chekli tanlanmada $w$ ham o‘zgaradi). To‘liqlik oshadi, aniqlik kamayadi: bu chegara bilan ham yurish mumkin bo‘lgan o‘sha murosa egri chizig‘i.
- Vaznlar kalibrlashni buzadi. O‘rtacha $\hat y=0{,}244$ endi $0{,}091$ ulushga teng emas. Haqiqiy ehtimolliklar kerak bo‘lsa, vaznlarsiz o‘qiting va chegarani tanlang (xuddi shu qaror uchun u $1/(1+w_+)$ ga teng) yoki imkoniyatlarni qayta hisoblang: $\text{imkoniyat}=\text{imkoniyat}_w/w_+$.
Optimal konstantani keltirib chiqarish
Musbatlar ulushi $\pi$ bo‘lganda $q$ konstantaning o‘rtacha vaznli yo‘qotishi: $f(q)=-w_+\pi\ln q-(1-\pi)\ln(1-q)$. Hosilani nolga tenglaymiz:
Imkoniyatlar aynan $w_+$ ga ko‘paydi, logit $\ln w_+$ ga siljidi. $w_+=1$ da $q=\pi$ ni olamiz — «o‘rtacha bashorat ulushga teng» qonunining o‘zi.
Agar kamyob sinf yana «qiyin» ham bo‘lsa, Focal Loss yordam beradi: $(1-p_t)^\gamma$ ko‘paytuvchisi oson misollarni pasaytiradi. $\gamma=0$ da u BCE bilan ustma-ust tushadi. Muqobillar — qayta tanlash (resampling) va validatsiyada kerakli metrika bo‘yicha chegarani tanlash.
Belgilarni silliqlash
Qattiq belgilarda optimal logit cheksiz: musbat misoldagi yo‘qotish nol bo‘lishi uchun $z\to+\infty$ kerak. Gradiyent tushishi halollik bilan o‘sha yoqqa boradi. Bitta musbat misolda $z=0$ dan $\eta=1$ qadam bilan logit 10, 100 va 1000 qadamdan keyin $2{,}26$; $4{,}59$; $6{,}91$ ga teng — taxminan $\ln t$ kabi o‘sadi va to‘xtamaydi. Model o‘ziga haddan tashqari ishonishni o‘rganadi.
Belgilarni silliqlash (label smoothing) qattiq belgilarni yumshoqlari bilan almashtiradi:
Endi $\sigma(z)-y_s$ gradiyent chekli $z^*$ nuqtada nolga aylanadi, u yerda $\sigma(z^*)=y_s$, minimal yo‘qotish esa 0 emas, $H(y_s)$ entropiyaga teng (2-rasm). $\varepsilon=0{,}1$ da: $y_s=0{,}95$, $z^*=\ln19\approx2{,}944$, xuddi shu tushish $1{,}97$; $2{,}936$; $2{,}944$ beradi — logit to‘xtaydi. 3-rasmga qayting va $\varepsilon$ suriluvchisini suring: egri chiziqda minimum paydo bo‘ladi, to‘q sariq gradiyent esa nolni kesib o‘tadi.
| $\varepsilon$ | $y_s$ | $z^*=\ln\frac{y_s}{1-y_s}$ | $\min\ell=H(y_s)$ |
|---|---|---|---|
| 0 | 1 | +∞ | 0 |
| 0,05 | 0,975 | 3,664 | 0,117 |
| 0,1 | 0,95 | 2,944 | 0,199 |
| 0,2 | 0,9 | 2,197 | 0,325 |
Silliqlash ishonch regulyarizatori kabi ishlaydi: vaznlar cheksizlikka ketmaydi, ehtimolliklar 0 va 1 ga yopishmaydi, kalibrlash esa ko‘pincha yaxshilanadi. Buning narxi — optimal prognoz endi $1-\varepsilon/2$ dan oshmaydi (model undan yuqoriga intilmaydi), sinflar o‘xshashligi haqidagi «yashirin bilim» qisman yo‘qoladi (Myuller, Kornblit, Hinton, 2019). Keras’da bu BinaryCrossentropy ning label_smoothing parametri, PyTorch’da BCE uchun belgilar qo‘lda silliqlanadi (yuqoridagi kodga qarang).
Kalibrlash: BCE halollikni rag‘batlantiradi
Agar model ehtimolliklariga so‘zma-so‘z ishonish mumkin bo‘lsa, u kalibrlangan: u taxminan $0{,}8$ bergan barcha obyektlar orasida 1-sinf taxminan 80% hollarda uchraydi. Buni ishonchlilik diagrammasi (reliability diagram) bilan tekshirishadi: bashoratlar savatlarga bo‘linadi va har birida o‘rtacha bashorat birlar ulushi bilan solishtiriladi. Umumiy son — kutilgan kalibrlash xatosi:
Nega BCE kalibrlashga o‘rgatadi? Agar bir xil belgili obyektlarda 1-sinf $p$ chastota bilan uchrasa, $q$ prognozning o‘rtacha yo‘qotishi $H(p)+\mathrm{KL}(p\,\|\,q)$ ga teng va u faqat $q=p$ da minimal. Har qanday bo‘rttirish — ishonch tomonga ham, ehtiyotkorlik tomonga ham — qimmatroq turadi. Aniqlik (accuracy) buni qila olmaydi: model $0{,}51$ dedimi yoki $0{,}99$ — unga farqi yo‘q.
Harorat bo‘yicha masshtablash (temperature scaling, Guo va boshq., 2017) aynan shunga asoslangan: o‘qitilgan tarmoqda $\hat y=\sigma(z/T)$ dagi bitta $T$ parametr validatsiya tanlanmasida BCE’ni minimallashtirib tanlanadi. Bu yerda $k=1/T$. Bashoratlar tartibi va aniqlik o‘zgarmaydi — faqat ehtimolliklarning halolligi o‘zgaradi.
O‘quv tanlanmasida BCE’ni minimallashtirib, katta tarmoq uni deyarli mukammal yodlab olishi mumkin — lokal jihatdan bu «ajraladigan ma’lumotlar» holatining o‘zi: logitlar o‘sadi, ehtimolliklar 0 va 1 ga yopishadi, yangi ma’lumotlarda esa model xuddi shunday ishonch bilan xato qiladi. Bundan «BCE + regulyarizatsiya (weight decay, belgilarni silliqlash, erta to‘xtatish)» juftligi va ajratilgan tanlanmada kalibrlash kelib chiqadi.
Ko‘p uchraydigan xatolar
- Ikki marta sigmoida. Model
sigmoidni allaqachon qo‘llagan, yo‘qotish —BCEWithLogitsLoss— uni yana qo‘llaydi. Unda $\sigma(\sigma(z))\in(0{,}5;\,0{,}731)$: model 0-sinfni yarmidan ko‘p ehtimollik bilan umuman bashorat qila olmaydi va undagi yo‘qotish $\ln2\approx0{,}693$ dan pastga tushmaydi. BCEWithLogitsLosso‘rniga sigmoida +BCELoss. Birinchi ishonchli misolgacha ishlaydi, keyin $\log0$, $-100$ da kesish va nol gradiyent (barqarorlik bo‘limi).- $\{0,1\}$ o‘rniga $\pm1$ belgilar. $y=-1$ bilan BCE formulasi $\log\hat y-2\log(1-\hat y)$ ni beradi, u $\hat y\to0$ da $-\infty$ ga ketadi: yo‘qotish manfiy bo‘ladi va o‘qitish uzoqlashadi. $\pm1$ belgilar uchun o‘z shakli bor: $\log(1+e^{-s z})$.
- O‘zaro istisno qiluvchi sinflar uchun BCE. Agar $K>2$ sinfdan aynan bittasi to‘g‘ri bo‘lsa, softmax va kategorial kross-entropiya kerak. BCE bilan bir nechta sigmoida — bu sinflar mustaqil bo‘lgan multi-label.
- BCE’ni sanoq nuqtasisiz solishtirish. «Yo‘qotish 0,05» ajoyib eshitiladi, lekin musbatlar ulushi 1% bo‘lganda konstanta $H(0{,}01)\approx0{,}056$ beradi — model deyarli hech narsa o‘rganmagan. $H(\pi)$ bilan solishtiring.
- Sinf vaznlari va «ehtimolliklar».
pos_weightdan keyin sigmoida chiqishi endi ehtimollik emas (8-rasm). Xatolar narxi bor qarorlar uchun chegarani tanlang; halol ehtimolliklar uchun — qayta hisoblang yoki kalibrlang. - O‘rtacha o‘rniga
reduction='sum'. Yig‘indi batch o‘lchami bilan o‘sadi, u bilan birga haqiqiy o‘qitish qadami ham. Batch o‘lchamini o‘zgartirsangiz — optimal o‘qitish tezligi (learning rate) o‘zgaradi.
Boshqa formulalar bilan bog‘lanishlar
- Sigmoida: logitni $\hat y$ ga aylantiradi; uning $\sigma(1-\sigma)$ hosilasi BCE gradiyentida qisqaradi.
- Kategorial kross-entropiya: $K$ sinfga umumlashma; $K=2$ da softmax + CE $z_1-z_2$ logitlar ayirmasidan sigmoida + BCE bilan ustma-ust tushadi.
- Softmax: ikki sinf uchun $\operatorname{softmax}(z_1,z_2)_1=\sigma(z_1-z_2)$.
- Focal Loss: $-(1-p_t)^\gamma\log p_t$ — oson misollarni pasaytiradigan BCE; $\gamma=0$ da BCE bilan bir xil.
- MSE: gauss shovqini uchun to‘g‘ri yo‘qotish; sigmoida bilan to‘yinish va qavariq emaslik beradi (4- va 5-rasmlar).
- SGD va Adam: $\frac1nX^\top(\hat y-y)$ gradiyentdan foydalanadigan optimizatorlar.
Xulosa
1) BCE — to‘g‘ri javob ehtimolligining $-\log$ i; $y$ belgi $-\log\hat y$ va $-\log(1-\hat y)$ orasida kalit vazifasini bajaradi. 2) U Bernulli modelining maksimal o‘xshashligidan kelib chiqadi va kross-entropiyaga teng: $H(y)+\mathrm{KL}(y\,\|\,\hat y)$. 3) Sigmoida bilan juftlikda $\partial\ell/\partial z=\hat y-y$: $\sigma'$ ko‘paytuvchisi qisqaradi, gradiyent chegaralangan va ishonchli xatoda so‘nmaydi — MSE’dan farqli. 4) BCE logit bo‘yicha va logistik regressiya vaznlari bo‘yicha qavariq; minimumdan uzoqda chiziqli o‘sadi. 5) Uni logitlar bo‘yicha hisoblang: $\max(z,0)-yz+\log(1+e^{-|z|})$. 6) pos_weight logitni taxminan $\ln w_+$ ga siljitadi, silliqlash optimumni chekli qiladi, BCE minimumi esa kalibrlangan ehtimolliklarda erishiladi.