Barcha kurslar Yo'nalishlar Reyting Kirish Ro'yxatdan o'tish

Topshiriqlar bloklari kursning "qo’l mehnati": nazariyada ko’rilgan har bir klassifikator NumPy’da noldan yoziladi. Bu konspekt — har topshiriqning mag’zi va tipik tuzoqlari.

kNN: masofa matritsasi va vektorlashuv

Vazifaning yuragi — test×train masofa matritsasini hisoblash, uch usulda: ikki sikl, bir sikl, siklsiz. Siklsiz varianti (a−b)² = a² − 2ab + b² yoyilmasiga tayanadi:

d2 = (X_test**2).sum(1)[:, None] - 2 * X_test @ X_train.T + (X_train**2).sum(1)

Uch usul bir xil natija berib, tezligi yuzlab barobar farq qiladi — vektorlashuv darsining o’zi shu. k giperparametri cross-validation bilan tanlanadi: train bo’laklarga bo’linib, har bo’lak navbatma-navbat validatsiya bo’ladi, natijalar o’rtachalanadi.

SVM loss va gradienti

Multiclass SVM (hinge) loss har noto’g’ri sinf uchun: max(0, s_j − s_to’g’ri + 1). Gradientini qog’ozda chiqarish — topshiriqning asl maqsadi: marja buzilgan har j sinf ustuniga +xᵢ, to’g’ri sinf ustuniga esa buzilishlar soni × (−xᵢ) yoziladi. Gradientni sonli tekshirish odatini shu yerda o’rganasiz: (f(w+h) − f(w−h)) / 2h analitik gradient bilan solishtiriladi — farq ~1e-7 dan kichik bo’lishi kerak. Bu tekshiruv butun kursda xatolarni tutadigan asosiy to’r.

Softmax

Ballar ehtimolga aylantiriladi: p = exp(s)/Σexp(s), loss — −log(p_to’g’ri). Muhim amaliy nuqta — sonli barqarorlik: exp katta sonlarda toshib ketadi, shuning uchun avval har qatordan maksimum ayiriladi (natija matematik jihatdan o’zgarmaydi):

s = s - s.max(axis=1, keepdims=True)
p = np.exp(s) / np.exp(s).sum(axis=1, keepdims=True)

Gradienti chiroyli ixcham chiqadi: dW = Xᵀ(p − y_onehot)/N. Sanity check: o’qitishdan oldin loss ≈ log(sinflar soni) bo’lishi kerak (10 sinfda ≈ 2.3) — undan uzoq bo’lsa, kodda xato bor.

Ikki qatlamli tarmoq

Birinchi to’liq neyron tarmoq: kirish → Linear → ReLU → Linear → softmax. Forward oson; backward’da zanjir qoidasi qatlamma-qatlam orqaga yuriladi: softmax gradienti → W₂, so’ng ReLU’dan o’tish (kirish manfiy bo’lgan joylarda gradient nolga tenglanadi!) → W₁. ReLU maskasini unutish — bu topshiriqning eng keng tarqalgan xatosi. O’qitib bo’lgach W₁ qatorlari rasm qilib chiziladi — tarmoq o’zi topgan "shablonlar" chiziqli klassifikatornikidan boyroq ekani ko’rinadi.

Rasm xususiyatlari va optimizatsiya

Xom piksel o’rniga qo’lda yasalgan xususiyatlar — rang gistogrammasi va HOG (gradient yo’nalishlari gistogrammasi) — bilan klassifikatsiya sinovi. Xuddi shu chiziqli model xususiyatlar ustida piksellardagidan sezilarli yaxshi ishlaydi. Xulosa ikki tomonlama: (1) to’g’ri tasavvur (representation) hal qiluvchi; (2) chuqur o’rganishning butun g’oyasi — shu xususiyatlarni qo’lda emas, tarmoqning o’ziga o’rgattirish. Learning rate va regularizatsiya bo’yicha giperparametr qidiruvi (log shkalada, avval dag’al, keyin nozik) ham shu topshiriqning doimiy mashqi.

Amaliyot

  1. Kichik massivlarda (4 ta train, 2 ta test, 3 xususiyat) masofa matritsasini uchala usulda hisoblab bir xilligini tekshiring.
  2. 3 sinf, 4 xususiyatli bitta misolda SVM lossni va uning W bo’yicha gradientini to’liq qo’lda chiqaring.
  3. Softmax’ni max ayirmasdan katta ballarda (masalan, s = [1000, 1001]) hisoblab, nima buzilishini ko’ring; ayirib qaytaring.
  4. Sonli gradient tekshiruvini o’zingiz yozing va 2-mashq javobingizni u bilan tasdiqlang.
  5. Nega loss ≈ log(C) boshlang’ich qiymati "sog’lik belgisi" ekanini tushuntiring.

Modul testi keyingi darsda.

Topshiriqlar — 1 — konspekt

Topshiriqlar — 1 Maqola

Birinchi topshiriqlar bloki konspekti: kNN, SVM va softmax klassifikatorlar, ikki qatlamli tarmoq va rasm xususiyatlari — implementatsiya yo’riqnomasi.

Eslatma yozish uchun saytga kiring.

Resurslar hozircha qo'shilmagan

O'qituvchi dars uchun qo'shimcha materiallarni qo'shganida shu yerda paydo bo'ladi.

Savol berish uchun saytga kiring.

Hozircha savollar yo'q

Bu dars yuzasidan birinchi savolni siz bering.