Course Philosophy: Math → Manual Code → Library → Benchmark → Production
Why is this course different from a typical 'Coursera style'? We approach every topic in 5 stages: (1) Pen-and-paper math, (2) From-scratch NumPy, (3) Production-style library, (4) Benchmark on the same dataset, (5) 'Production gotcha' note. Why does this order give 3x deeper learning?
Şükrü Yusuf KAYA
18 min read
Beginner🤔 Klasik kursların derdi
Bir mühendis arkadaşımla konuşuyorum. 'Andrew Ng'nin Coursera ML kursunu, sonra Fastbook'u bitirdim, sonra ChatGPT ile recommender önerisi yapmaya başladım — ama hala paper'larda kayboluyorum.' Tanıdık geldi mi? Sebep basit: o kurslar çalışan kod verir ama çalışan zihinsel model vermez.
Bu Kursun 5 Aşamalı Felsefesi#
Her teknik konuyu her modülde şu sırayla işleyeceğiz:
1️⃣ Kağıt-Kalem Matematik#
Formülü yazıyoruz. Türetiyoruz. Niçin böyle olduğunu anlıyoruz.
Örnek (Modül 6'dan): Funk SVD'deneden chain rule ilemin Σ(r_ui - p_u · q_i)²veriyor?∂L/∂p_u = -2(r_ui - p_u·q_i) q_i
2️⃣ Saf NumPy ile Sıfırdan Implementation#
Aynı formülü 30-50 satır NumPy ile yazıyoruz. Kütüphane yok. Hile yok. Her şey görünür.
Örnek (Modül 6'dan): Funk SVD'yi NumPy ile yazıp MovieLens-100K'da 0.94 RMSE almak.
3️⃣ Üretim-Kalitesinde Kütüphane Kullanımı#
Sonra kütüphaneye geçiyoruz — , , , , . Çünkü production'da kütüphane kullanırsın.
implicitlightfmsurprisepytorchtensorflow-recommendersÖrnek (Modül 6'dan): Aynı problemikütüphanesi ile yapıp 30x daha hızlı çalıştırmak.implicit
4️⃣ Benchmark — Aynı Veri Üstünde Karşılaştırma#
Tüm yöntemler aynı dataset, aynı metrik, aynı protokol ile karşılaştırılıyor. "Hangisi gerçekten daha iyi?" sorusu net bir tabloyla bitiyor.
Örnek (Modül 7 sonu): MovieLens-1M üstünde k-NN, Funk SVD, BiasedMF, ALS, BPR ve LightFM'in NDCG@10, HR@10, Recall@20 karşılaştırma tablosu.
5️⃣ Production Gotcha Notu#
Her dersin sonunda "Üretimde Hatırla:" kısmı: bu yöntem production'da hangi sorunu çıkarır, ne tetikler, hangi monitoring eklenir.
Örnek (Modül 6 sonu): "Production gotcha — BiasedMF eğitiminden 1 hafta sonra cold-start item'ların yayılması, popularity bias'ın ekranı domine etmesi. Çözüm: re-ranking layer'da popularity penalty."
Neden Bu Sıra? 3x Daha Derin Öğrenme#
Sebep 1: Matematik Olmadan Kod Karadelik Olur#
model.fit(X, y)Matematik aslında bir görüş aparatı. Bir formülü türetebiliyorsan, kütüphanenin kapağını açıp niye bir parametrenin orada olduğunu görebilirsin.
Sebep 2: Sıfırdan Implementation, Soruları Görmeyi Öğretir#
Kütüphane sana cevap verir. Sıfırdan implementation sana soru öğretir.
"BPR loss'unu yazarken sigmoid'in argümanı neden sıfırın etrafında olmalı?" — Bu soruyu sormak için bir kez kendin yazmış olman gerekir. Yoksa formülü "bilmek" sadece okumaktır.
Sıfırdan implementation sayesinde:
- Numerik stability sorunlarına burnunu sokarsın. (Log-sum-exp trick öğrenmen 3 saatten 30 saniyeye iner.)
- Memory allocation patternlerini görürsün. (Sparse vs dense karar verme refleksi gelir.)
- Vectorization alışkanlığı kazanırsın.
Sebep 3: Kütüphane Olmadan Production'a Çıkamazsın#
Manuel kod öğretici, kütüphane üretkenlik. İkisini bilmeden kariyer kurulmaz.
Bu kursta her teknik konunun iki versiyonunu öğrenirsin: didaktik (sıfırdan), pragmatik (kütüphane). İşe alındığında pragmatik versiyonla çalışacaksın — ama didaktik versiyonu bilmen, kütüphanenin niçin bir hatayı verdiğini çözmene yarar.
Sebep 4: Benchmark, Bullshit Detector Verir#
Internette her makale "yöntemim her şeyden iyi" der. Gerçek hayatta — değildir. Aynı dataset üzerinde, aynı metrikle, aynı protokolle karşılaştırma yaptığında görürsün.
Dacrema et al. 2019'un "Are We Really Making Much Progress?" paper'ı son 10 yılın önemli silkelemelerinden biri — birçok yeni neural recommender, eski iyi tuned k-NN'den iyi değildi. Bu silkelemeyi sen de yaşamalısın.
Sebep 5: Üretim Notu, Mühendis Olmanı Tamamlar#
"Çalışıyor" ile "production-ready" arasında 100 km var. Kursumun her dersinin sonundaki gotcha bölümü o 100 km'nin bir kısmını size hediye eder.
🎯 Somut bir örnek: Modül 6 nasıl işlenecek?
Konu: Funk SVD. 1) Andrew Ng tarzı: Türev, gradient güncellemesi (~30 dk). 2) NumPy: 40 satır kod, MovieLens-100K, 10 epoch, 0.94 RMSE (~45 dk). 3) : aynı problem 5 satırda, 30x hızlı (~15 dk). 4) Benchmark: k-NN baseline (Modül 5'ten) ile karşılaştırma — Funk SVD %12 daha iyi (~20 dk). 5) Gotcha: 'Funk SVD bias çıkarmadan çalışır — production'da popüler item dominasyonu sorun yaratır. Modül 6.3'te BiasedMF ile çözeceğiz.' (~5 dk). Toplam: ~2 saat. Sonunda sen sadece 'eğittin' demezsin — kavramışsındır.
implicitBu Kursun Yapmadığı Şeyler#
Aynı net olalım — bu kurs bazı şeyleri yapmaz:
- Slide-bazlı, sadece teorik anlatım yapmaz. Her teorinin altında çalışan kod vardır.
- Sadece kütüphane "tutorial'ı" yapmaz. Çoğu kurs "scikit-surprise'a girdiniz buyrun" der; sen kavramı bilmeden kütüphaneyle çalışırsın. Biz tam tersi.
- "AutoML butonu bas, bitti" demez. AutoML harika bir araç ama mühendislik yetkinliğini ikame edemez.
- GPT'ye sorup geçilen "shortcut" demez. GPT senin yardımcın, ama temelin değil. Bu kursu bitirdiğinde GPT'ye iyi soru sormayı öğrenirsin — bu cevap almaktan daha değerlidir.
Sen ne taahhüt etmelisin?#
Bu kurs ücretsiz — ama bedava değil. Senin bedeli zaman ve odak:
- Haftalık taahhüt: Realistik olarak 5-8 saat/hafta. Daha hızlı gidersen geçer ama derin kazanmaz.
- Aktif çalışma: Her dersin notebook'unu açıp kodu kendi makinende çalıştır, varsayılan parametrelerle yetinme — değiştir, kır, gör.
- Sorularını yaz: Anlamadığın yerleri bir kenara not al. Bu kursun discord/forum bağlantısı var; takıldığın yerleri sor. (Cevap verilir.)
- Sabır: Modül 6 (MF), Modül 10 (SASRec), Modül 14 (DCN-v2) ve Modül 25 (Capstone) — bunlar zor modüller. 2-3 gün takılırsan normal.
Hazır mısın? Bir sonraki derste atölyeyi kuruyoruz — Python 3.12, uv, PyTorch, FAISS, Polars, Jupyter Lab. 🛠️
Frequently Asked Questions
Gerçek karşılaştırma: 5 aşamalı = 2-3 saat **derin kavrayış + 6 ay sonra hatırlamak**. Klasik (sadece kütüphane çağırma) = 30 dk **yüzeysel + 1 hafta sonra unutmak**. Pratik testle: 6 ay sonra paper okuduğunda hangisinde matrix factorization'ın gradient'ini hatırlayacak olduğun farkı görürsün. Üstelik bu kurs sonunda toplam saat (~75) — gerçekçi bir mühendislik bootcamp'inden hızlıdır.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
Module 0: Course Framework & Workshop Setup
Why Do Recommender Systems Matter? Birth, Present, and Future of a Discipline
Start LearningModule 0: Course Framework & Workshop Setup
Who Is a Recommender Engineer? Skill Atlas and Junior → Staff Career Map
Start LearningModule 0: Course Framework & Workshop Setup