Skip to content

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
Kurs Felsefesi: Neden Bu Yol, Neden Bu Sıra — Anomaly Detection Öğrenme Nehri
🧭 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.
Öğrenme nehri: temeller (Part I) → modelleme (Part II-IV) → uygulama (Part V-VIII).
Kursun akış şeması — yukarı havza (temeller), orta havza (modelleme), aşağı havza (uygulama).

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ülSektörKarakteristik Sorun
19Finans / FraudAşırı imbalanced (1:10⁶), adversarial attacker
20Network SecurityYüksek-volüm, çok-türlü saldırı, evolving threat
21Log AnomalyDiscrete sequence, template parsing, log corruption
22APM / ReliabilityMultivariate TS, golden signals, seasonality
23IoT / Predictive MaintenanceVibration, FFT, FMECA, regulatory
24Computer VisionHigh-dim pixel, few-shot, sub-pixel defect
25HealthcareEtiket 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ç:
RitmHaftalık SüreSüreProfil
Yoğun (Sprint)25-35 saat4-5 ayBootcamp / kariyer geçişi
Orta (Steady)12-18 saat8-10 ayÇalışırken, yan zaman
Yumuşak (Slow Burn)5-8 saat16-20 ayHobi / arada öğrenme
Hangisini seçersen seç, iki kural sabit:
  1. Her hafta en az bir lab koştur. Bilgi paslanır, kod paslanmaz.
  2. 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):
  • scikit-learn
    (klasik ML, outlier modülü dahil)
  • PyOD
    (40+ AD algoritması toplandığı kütüphane)
  • PyTorch 2.5+
    (deep learning)
  • anomalib
    (Intel — vision AD framework)
  • alibi-detect
    (Seldon IO — drift + AD)
  • river
    (online learning)
  • darts
    ,
    merlion
    (time series)
  • statsmodels
    ,
    scipy
    (klasik istatistik)
  • ruptures
    (change point)
  • PyG
    ,
    DGL
    (graph)
Notebook & Deney:
  • Jupyter Lab
    veya VS Code
  • MLflow
    (deney izleme)
  • Optuna
    (hyperparameter tuning)
Production (Part VII'de):
  • FastAPI
    +
    ONNX
    +
    onnxruntime
  • NVIDIA Triton
    (inference server)
  • Prometheus
    +
    Grafana
  • Apache Kafka
    +
    Apache Flink
    (streaming, opsiyonel local docker)
  • Evidently
    ,
    NannyML
    (monitoring)
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:
  1. 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.
  2. 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.
  3. 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
python -c "import anomalib; print('OK')"
diyecek bir ortamın olacak.

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