Course Philosophy: Why This Path, Why This Order — The Anomaly Detection Learning River
Why we chose statistics → classical ML → deep learning → time series → domain → production order; the learning river model, which capstone builds which skill, the 5 principles we'll follow.
Şükrü Yusuf KAYA
28 min read
Beginner🧭 Yön bulma dersi
Önceki derste ne yaptığımızı konuştuk. Şimdi nasıl öğrendiğimizi konuşalım. Bir kurs müfredatı, içeriklerin sıralanma şekli, hangi konunun nereye konulduğu — bunlar tesadüf değildir. Bu derste tasarım kararlarımı paylaşacağım. Neden klasik ML deep learning'den önce; neden time series ayrı bir part; neden production en sonda. Bittiğinde haritayı görmüş olacaksın.
Çoğu Anomaly Detection Müfredatının Üç Hatası#
Türkçe ve İngilizce piyasada bulduğum 32 farklı anomali tespiti müfredatını
inceledim (Coursera, Udemy, MIT OCW, Stanford CS329S/CS231N, DataCamp,
Kaggle Learn, çeşitli üniversiteler). Üç ortak hata vardı:
Hata 1: "Hepsi Deep Learning" Tuzağı#
Müfredatların büyük çoğunluğu (özellikle 2021 sonrası) doğrudan autoencoder ve
VAE ile başlıyor. Sonra LSTM-AE'ye geçiyor. Klasik yöntemleri (iForest, LOF) ya
es geçiyorlar ya da 15 dakikalık bir "tarih" bölümünde geçiştiriyorlar.
Neden hata? Production'da %60-70 vakada Isolation Forest hala SOTA-yakın
sonuç veriyor. Yeni başlayanlara önce karmaşık deep learning öğretmek, çok
basit problemleri karmaşık çözmeye sürüklüyor. Ayrıca interview'larda
"neden iForest yerine GAN seçtin?" sorusuna sağlam cevap vermeleri için
iForest'i derinden bilmeleri gerekir.
Hata 2: "Domain Yok" Tuzağı#
Birçok müfredat algoritmaları öğretip duruyor: kNN-LOF-iForest-VAE-LSTM-AE...
Sonunda öğrenci "tamam ama ben bunu kime uygulayacağım?" sorusunu cevapsız
bırakıyor.
Neden hata? Anomaly detection domain-bağımlı bir disiplin. Fraud'da iyi
çalışan bir model, vibration'da kötü çalışır. Bir bankayla görüşmeye giderken
"velocity feature", "card-present vs not-present", "BIN-level risk", "device
fingerprint" konuşabilmen gerekir. Bir fabrikayla görüşmeye giderken
"bearing fault frequency", "envelope analysis", "FMECA", "MTBF" konuşabilmen
gerekir. Algoritmadan önce domain. Bizim Part V'te 7 domain'i ayrı ayrı
işlememiz bu yüzden.
Hata 3: "Production'sız" Tuzağı#
Pek çok kurs notebook çalıştırıp PR-AUC raporu üretmeyi öğretiyor ve bitiyor.
Ama bir AD modelini canlı sisteme koymak demo yapmak değildir.
Neden hata? Alarm yorgunluğu (alert fatigue), threshold drift, model drift,
calibration drift, false positive ekonomisi, on-call rotasyonu, post-mortem
disiplini — bunlar production AD'nin asıl meselesidir. Eğitimde production
yoksa, mezunun ilk hafta on-call'da çöker.
Bu kursun tasarımı bu üç hatayı bilinçli olarak adresliyor. Klasik ML'i
önce öğretiyoruz (Part II). Domain'i ayrı ele alıyoruz (Part V).
Production'a bağımsız bir Part ayırıyoruz (Part VII).
Öğrenme Nehri: Modüllerin Akış Mantığı#
Kursu bir nehre benzetiyorum. Yukarı havzada temeller (matematiksel cebir
ve istatistik) — su buradan akar. Orta havzada modelleme (klasik ML, DL,
time series) — burada akış genişler. Aşağı havzada uygulama (domain'ler ve
production) — burada nehir denize karışır.
Akış yönünü ihlal etmek mümkün ama riskli: Part III'ten (deep learning)
başlamak isterseniz çoğu kavramı hızlı geçeriz ama kavrayışınız ezbere kalır.
Part V'ten (domain) başlamak isterseniz "neden bu algoritma" sorusunu
cevaplayamazsınız.
Yukarı Havza — Temeller (Part I, Modül 0-4)#
İstatistik, taksonomi, değerlendirme, veri hazırlığı. Bu kısımda matematik
ezberleyeceğiz — çünkü sonraki tüm yöntemler bu temeli kullanıyor.
5 hafta, ~22 saat içerik. Kursun şartlı kapısı: Modül 4'teki
değerlendirme metriklerini kavrayamamış biri sonraki modüllerde "model iyi
mi kötü mü" diye soru sorduğunda yine geri dönmek zorunda kalır.
Orta Havza — Modelleme (Part II-IV, Modül 5-18)#
Sırasıyla:
- Part II — Klasik ML (Modül 5-9): kNN, LOF, DBSCAN, iForest, OCSVM, PCA
- Part III — Deep Learning (Modül 10-14): AE, VAE, GAN, flow, transformer
- Part IV — Time Series (Modül 15-18): ARIMA, LSTM-AE, multivariate, change point
14 hafta, ~67 saat içerik. Burada kursun çekirdek modelleme bilgisi
oluşuyor. Her modülün hands-on lab'ı var, her part'ın çıkışında bir mini-proje.
Aşağı Havza — Uygulama (Part V-VIII, Modül 19-36)#
- Part V — Domain (Modül 19-25): fraud, security, log, APM, IoT, vision, healthcare
- Part VI — Graph & Streaming (Modül 26-28): graph AD, online learning, causal
- Part VII — Production & MLOps (Modül 29-33): threshold, drift, deployment, alerting
- Part VIII — Capstone Suite (Modül 34-36): 8 büyük proje
18 hafta, ~46 saat içerik + capstone'lar. Burada öğrendiklerini gerçek
problemlere uygulayacaksın. Çıkışta bir portföyün var.
Neden Klasik ML, Deep Learning'den Önce?#
Deep learning daha "modern", daha "havalı", daha "yeni" gibi geliyor. O zaman
neden 5 modülü klasik ML'e ayırdık?
Sebep 1: Production'da hala klasik kazanıyor.
ADBench (2022, NeurIPS) ve son ODDS benchmark'larına göre Isolation Forest,
LOF, HBOS gibi klasik yöntemler 35+ benchmark üzerinde deep learning
yöntemlerine kıyasla daha az false positive üretiyor. Üstelik 100x-1000x daha hızlı.
Production ekipleri bu yüzden hala klasik baseline ile başlıyor.
Sebep 2: Hyperparameter cehennemi yok.
Deep AD modellerinin hyperparameter sensitivity'si yüksek. Aynı model farklı
veriyle, farklı seed'le %20'lik PR-AUC farkları üretebiliyor. Klasik
yöntemlerde bu varyans %3-5'e iniyor — yeni başlayan biri için "modelim mi
kötü, ben mi yanlış yaptım" sorusunun cevabı çok daha net.
Sebep 3: Açıklanabilirlik.
Bir Isolation Forest'in neden bir transaction'ı anomali işaretlediğini
göstermek (split feature'lar) bir VAE'nin reconstruction error'unu açıklamaktan
çok daha kolay. Banking ve healthcare gibi compliance ağır sektörlerde bu
zorunluluk.
Sebep 4: Kavramsal taşıma.
Bir VAE özünde non-linear PCA'dir. Bir GANomaly özünde derin "robust covariance"
tahmini yapar. Deep AD yöntemleri, klasik yöntemlerin daha güçlü versiyonlarıdır.
Klasik yöntemi anlamadan deep'i sezgisel kavramazsın.
👍 Pratik kural
Önce klasik ML ile baseline kur (1-2 gün). PR-AUC eşiğin neyse onu hedefle. Bir hafta içinde ulaşamadıysan, ancak o zaman deep learning'e geç. Eğer klasik ile yeterli sonuç alıyorsan, deep'e ihtiyacın yok. Bu, kurumların gerçek tercih kalıbı.
Neden Domain'i Ayrı Bir Part Yaptık?#
Klasik kurslarda algoritmalar öğretilir, sonra "şimdi git uygula" denir.
Bu kursta tersini yapıyoruz: Part V'te (7 modül) 7 ayrı sektör için
özel pipeline'lar inşa ediyoruz:
| Modül | Sektör | Karakteristik Sorun |
|---|---|---|
| 19 | Finans / Fraud | Aşırı imbalanced (1:10⁶), adversarial attacker |
| 20 | Network Security | Yüksek-volüm, çok-türlü saldırı, evolving threat |
| 21 | Log Anomaly | Discrete sequence, template parsing, log corruption |
| 22 | APM / Reliability | Multivariate TS, golden signals, seasonality |
| 23 | IoT / Predictive Maintenance | Vibration, FFT, FMECA, regulatory |
| 24 | Computer Vision | High-dim pixel, few-shot, sub-pixel defect |
| 25 | Healthcare | Etiket kıtlığı, sınırlı veri, etik kaygılar |
Her birinin "anomali"nin tanımı farklı. Her birinin "tipik baseline" farklı.
Her birinin "compliance kısıtı" farklı.
Bir AD Engineer olarak en az 2 domain'de uzman, 4 domain'de bilgili olmalısın.
Hangilerinin "uzman" hangilerinin "bilgili" olacağına kariyer yolun (önceki
derste konuştuk) karar veriyor.
Bu Kursun 5 Temel Prensibi#
Tasarım kararlarımız beş prensipten geliyor. Her dersin arkasında bu beş soruyu
sorduk:
Bir konsepti önce görsel veya anlatımsal olarak ortaya koyarız. "Isolation Forest neden çalışır?" sorusuna önce şu cevap: "Bir noktayı izole etmek için kaç soru sorman gerektiği, o noktanın ne kadar 'olağandışı' olduğunun ölçüsüdür." Sonra matematiğe geçeriz: ortalama path length, anomaly score formülü.
Bu sıra önemli, çünkü matematik doğrulayıcıdır, kavratıcı değil.
Örnek: Modül 7'de iForest'i şöyle anlatıyoruz: önce 2D'de bir scatter plot, sonra rastgele ağaçların "bir noktayı yalnız bırakmak" oyunu, sonra path length grafikleri, en son anomaly score formülü.
Bu Kursun Sonunda Ne İnşa Etmiş Olacaksın?#
Modül sonu mini-projeler (~25) + 8 büyük capstone projesi + bir public GitHub
portfolio. Aşağıdaki 8 capstone'u inceleyelim — bunlar kursun sonundaki
iş ilanı vitrinin olacak:
Senaryo: Türkiye'deki bir POS ödeme firmasının yaklaşımı simüle edilir. Saniyede 10.000 transaction streaming geliyor. Kafka → Flink → XGBoost+iForest hibrit → Streamlit dashboard.
Kazandığın yetenekler: Streaming inference, ensemble modeling, feature store, dashboard.
Modül bağlantısı: 19, 27, 31, 32, 33.
Süre: 8-12 saat. Tek başına yapılır.
Önerilen Çalışma Ritmi#
Kursu bitirmenin tek bir doğru yolu yok ama tecrübeyle test edilmiş üç ritm var.
Kendi takvimine göre seç:
| Ritm | Haftalık Süre | Süre | Profil |
|---|---|---|---|
| Yoğun (Sprint) | 25-35 saat | 4-5 ay | Bootcamp / kariyer geçişi |
| Orta (Steady) | 12-18 saat | 8-10 ay | Çalışırken, yan zaman |
| Yumuşak (Slow Burn) | 5-8 saat | 16-20 ay | Hobi / arada öğrenme |
Hangisini seçersen seç, iki kural sabit:
- Her hafta en az bir lab koştur. Bilgi paslanır, kod paslanmaz.
- Her capstone'u bitmeden bir sonraki Part'a geçme. Boş capstone'lar kişisel borç gibi birikir.
🤝 Kohort modu (opsiyonel)
Eğer sosyal motivasyon işine yarıyorsa, /learn/cohorts sayfasından bir cohort'a katılabilirsin. Sıfırdan bir cohort kurmak istersen yine aynı sayfadan başlatabilirsin. Cohort'larda haftalık 2 saat sync session ve Discord kanalı oluyor.
Hangi Araçları Kullanacağız?#
Aşağıdaki stack her kursun standart parçası olarak kuruluyor. Bir sonraki
derste tek tek kurulum yapacağız — ama önce manzarayı görelim:
Python Ekosistemi (zorunlu):
- (klasik ML, outlier modülü dahil)
scikit-learn - (40+ AD algoritması toplandığı kütüphane)
PyOD - (deep learning)
PyTorch 2.5+ - (Intel — vision AD framework)
anomalib - (Seldon IO — drift + AD)
alibi-detect - (online learning)
river - ,
darts(time series)merlion - ,
statsmodels(klasik istatistik)scipy - (change point)
ruptures - ,
PyG(graph)DGL
Notebook & Deney:
- veya VS Code
Jupyter Lab - (deney izleme)
MLflow - (hyperparameter tuning)
Optuna
Production (Part VII'de):
- +
FastAPI+ONNXonnxruntime - (inference server)
NVIDIA Triton - +
PrometheusGrafana - +
Apache Kafka(streaming, opsiyonel local docker)Apache Flink - ,
Evidently(monitoring)NannyML
Hepsi ücretsiz ve açık kaynak. Ticari bir lisansa ihtiyacın yok.
Bu Kursta NE Yok (Dürüst Bölüm)#
Hiçbir kurs her şeyi kapsayamaz. Kapsamadığımız ama kapsadığımızı zannetmeni
istemediğim üç konu var:
-
Computer Vision'ın derin (low-level) teorisi. Part III'te modeller kullanıyoruz, anomalib backbone'larını üst seviye tutuyoruz. CNN mimarisini sıfırdan inşa etmek bu kursun kapsamı değil — bunun için ayrı CV kursları öneririz.
-
Klasik istatistik testlerinin tüm matematiksel ispatı. Modül 2'de Grubbs, Dixon, ESD'yi kullanıyoruz ve sezgisel anlatıyoruz, ancak hipotez test teorisinin (Type I/II error analizinin tüm derinliği) ayrı bir istatistik kursunun konusu.
-
Frontier LLM tabanlı AD araştırma. "LLM ile RAG hallucination detection" gibi sıcak konulara dokunuyoruz (Modül 14, 21), ama bunlar 2024-2025 sıcak alanları — kurs bittiğinde paper takibi senin sorumluluğun.
Bu üçü dışında, müfredatın anomaly detection'da iş yapabilir olman için
yeterli olduğuna inanıyorum.
👉 Bir sonraki ders
Ders 0.3 — Atölye Kurulumu. uv ile Python 3.12 env, PyTorch 2.5+ kurulumu, PyOD/anomalib/alibi-detect/River install, Jupyter Lab + VS Code entegrasyonu, WSL2 (Windows) veya Mac MPS, GPU opsiyonel — adım adım yapıyoruz. Sonunda diyecek bir ortamın olacak.
python -c "import anomalib; print('OK')"Frequently Asked Questions
Teknik olarak mümkün ama önermeyiz. Modül 7'deki Isolation Forest ve Modül 9'daki PCA-based AD modern deep AD yöntemlerinin matematiksel akrabasıdır. Bunları anlamadan deep AD'nin neden çalıştığını sezgisel kavrayamazsın. Üstelik production'da hala kullanılıyorlar — junior interview'larında 'iForest hyperparameter'larını' sormaları olağandır.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
Module 0: Course Framework & Workshop Setup
Who Is an Anomaly Detection Engineer? Differences from Fraud, SRE, Quality Engineer Roles and the Turkey Salary Landscape
Start LearningModule 0: Course Framework & Workshop Setup
Workshop Setup: uv + Python 3.12 + PyOD + anomalib + PyTorch — From Zero to a Production-Ready Anomaly Detection Environment
Start LearningModule 0: Course Framework & Workshop Setup