Bu modul kursning yuragi: eng sodda bashorat modeli — linear regression, uning xatosini o’lchaydigan cost function va xatoni kamaytiradigan gradient descent algoritmi.
Model (gipoteza)
Linear regression bitta xususiyat uchun to’g’ri chiziq tenglamasi:
h(x) = w·x + b
Bu yerda w (weight) — chiziq qiyaligi: x bir birlik oshsa bashorat qancha o’zgaradi; b (bias) — chiziqning y o’qini kesish nuqtasi. Masalan, uy narxi masalasida: narx = w · maydon + b. O’rganish — ma’lumotga eng mos w va b ni topish demak. (Andrew Ng yozuvida shu parametrlar θ₀ va θ₁ deb ham belgilanadi — mohiyati bir xil.)
Cost function: xatoni bitta son bilan o’lchash
Qaysi chiziq "eng mos"? Buni aytish uchun xatoni o’lchaydigan mezon kerak. Har bir misolda xato — bashorat bilan haqiqiy javob farqi: h(xᵢ) − yᵢ. Hammasini bitta songa yig’adigan klassik tanlov — o’rtacha kvadrat xato (MSE):
J(w, b) = (1 / 2m) · Σ (h(xᵢ) − yᵢ)²
Nega kvadrat? Birinchidan, musbat va manfiy xatolar bir-birini yo’qotib yubormaydi; ikkinchidan, katta xatolar kuchliroq jazolanadi; uchinchidan, funksiya silliq — hosila olish oson (2m dagi 2 ham aynan hosilani soddalashtirish uchun).
Muhim tasavvur: J — parametrlar funksiyasi. Har bir (w, b) juftiga bitta xato soni mos keladi; bularni chizsangiz, piyola shaklidagi yuza hosil bo’ladi. Linear regression’ning MSE’si qavariq (convex): yagona eng past nuqta — global minimum bor, lokal chuqurchalar yo’q.
Gradient descent: pastga qadam-baqadam
Gradient descent — piyola yuzasida turib, eng qiya pastlik yo’nalishiga kichik qadam tashlashni takrorlash:
w := w − α · ∂J/∂w
b := b − α · ∂J/∂b
∂J/∂w — gradient: shu nuqtada J ning w bo’yicha qiyaligi. Minus ishorasi — qiyalikka qarshi (pastga) yurish. Ikkala parametr bir vaqtda (simultaneous update) yangilanadi: avval ikkala yangi qiymat hisoblanadi, keyin o’zlashtiriladi — ketma-ket yangilash noto’g’ri.
α (alpha) — learning rate, qadam kattaligi:
| α | Oqibat |
|---|---|
| Juda kichik | ishlaydi, lekin juda sekin — minglab qadam kerak |
| Mos | J har iteratsiyada barqaror kamayadi |
| Juda katta | minimumdan sakrab o’tib ketadi, J o’sishi/tebranishi mumkin (divergensiya) |
Minimumga yaqinlashgan sari gradient o’z-o’zidan kichrayadi, shuning uchun α ni yo’lda kamaytirish shart emas — qadamlar tabiiy qisqaradi.
Gradient descent linear regression uchun
MSE’dan hosila olinsa, yangilash qoidalari aniq ko’rinishga keladi:
∂J/∂w = (1/m) · Σ (h(xᵢ) − yᵢ) · xᵢ
∂J/∂b = (1/m) · Σ (h(xᵢ) − yᵢ)
Har iteratsiyada barcha m misol ishlatilgani uchun bu variant batch gradient descent deyiladi. Qavariqlik tufayli, α to’g’ri tanlansa, algoritm global minimumga kafolatli yaqinlashadi.
Ko’p uchraydigan tushunmovchilik: cost funksiyani "bashorat" bilan adashtirish. h(x) — modelning javobi (chiziq), J(w, b) — shu chiziqning butun ma’lumotdagi umumiy xatosi. Grafiklari ham boshqa-boshqa fazoda: h — (x, y) tekisligida, J — parametrlar fazosida.
Amaliyot
- h(x) = 3x + 5 modeli uchun x = [1, 2, 3] da bashoratlarni hisoblang; haqiqiy javoblar y = [9, 10, 15] bo’lsa, har bir misol xatosini toping.
- Shu uch misolda J ni qo’lda hisoblang (2m = 6 ga bo’lishni unutmang).
- w = 0, b = 0 dan boshlab, α = 0.1 bilan bitta gradient descent qadamini qo’lda bajaring (yuqoridagi hosila formulalari bilan).
- "α juda katta" holatini so’z bilan tasvirlab bering: J qiymatlari ketma-ketligi qanday ko’rinishda bo’ladi?
- Nega klassifikatsiya masalasida (javob 0/1) oddiy linear regression yomon ishlashini o’ylab ko’ring — javobingizni yozib qo’ying, keyingi kurslarda tekshirasiz.
Modul testi keyingi darsda — formulalarni yodlash emas, ma’nosini tushunish so’raladi.