Machine Learning Visualized Türkçe#
Makine öğrenmesi algoritmalarını ilk prensiplerden yola çıkarak uygulayan ve matematiksel olarak türeten bir Jupyter Notebook kitabı. Her notebook’un çıktıları, algoritmanın eğitim boyunca nasıl davrandığını görselleştirir ve sonunda optimal ağırlıklara nasıl yaklaştığını gösterir. Keyifli öğrenmeler. – Gavin H
İzleyerek, oynayarak ve hissederek öğren.
Bu sürüm, sadece okuyup geçilen bir kaynak değil; her bölümde parametrelerle oynayıp modelin gerçekten nasıl davrandığını görmen için tasarlandı. İstersen canlı demolardan sezgi kur, istersen notebook akışından matematiğe in.
Not
Bu Türkçe sürüm, Gavin Hung’ın orijinal Machine Learning Visualized projesi temel alınarak hazırlanmıştır.
Not
Bu sürümde iki akış var: Canlı Demo ile tarayıcı içinde oynayıp mantığı hissedebilirsin, Notebook ile de adım adım matematiği ve kodu okuyabilirsin.
Nasıl Keşfetmeli?#
Bölüm 5. 100 Sayfalık Makine Öğrenmesi Rotası#
Masaüstündeki saf “100 Sayfalık Makine Öğrenmesi” kitabının düşünme sırasını bu projeye ikinci bir omurga olarak taşıdık. Bu rota, aynı epistemoloji ile ilerliyor: önce notasyon ve kavramlar, sonra temel algoritmalar, ardından karar ağaçları, kNN ve SVM gibi klasik aileler, sonra ensemble düşüncesi, öğrenme anatomisi, model değerlendirme, sinir ağları, model seçimi, güvenilir karar için belirsizlik/kalibrasyon, gerçek eylem kuralı için karar verme disiplini, yorumlanabilirlik ile hata analizi, veri-merkezli düzeltme ile temel nedensel sezgi, değişen dünyada ayakta kalmak için shift/robustluk, aktif öğrenme ile üretim geri besleme döngüsü, deneyler ile güvenli canlı yayın disiplini, adalet/gizlilik/yönetişim katmanı, kasıtlı saldırganlara karşı saldırı direnci hattı ve sonunda tahminden aksiyona geçen nedensel müdahale/politika omurgası.
Genel Harita
Kitabın tüm düşünme sırasını tek sayfada gör, hangi kavramın hangi görsel deneyime bağlandığını takip et.
Öğrenme Anatomisi
Kapasite, düzenlileştirme, eğitim kaybı ve doğrulama kaybı arasındaki gerilimi tek ekranda kurup kitabın bölüm 4 mantığını görselleştir.
Ensemble Öğrenme
Bagging, random forest ve gradient boosting ile tek bir modelin ötesine geçip neden model topluluklarının bu kadar güçlü çalıştığını gör.
Temel Pratik
Eşik, sınıf dengesi ve ayrılabilirlik değiştikçe precision, recall, F1 ve accuracy’nin nasıl farklı hikayeler anlattığını izle.
Model Seçimi ve Genelleme
Bias-varyans dengesini ve doğrulama eğrilerini kullanarak “en iyi model” fikrini kitap mantığıyla kur.
Belirsizlik ve Kalibrasyon
Bir modelin yalnızca ne tahmin ettiğini değil, o tahminde ne kadar dürüst olduğunu gör. Bayes güncellemesi, reliability diyagramı ve conformal bantlar artık yerel çalışıyor.
Karar Verme
Skoru eşiğe, maliyete ve gerektiğinde çekimser kalma kuralına çevir. Artık Chapter 5 içinde “iyi tahmin” ile “iyi karar” arasındaki fark da canlı.
Yorumlanabilirlik ve Hata Analizi
Özellik önemi, slice analizi ve kırılma modları ile modelin neye yaslandığını, hangi alt grupta tökezlediğini ve dağılım kayınca neden çöktüğünü açığa çıkar.
Veri ve Nedensellik
Etiket gürültüsü, veri kapsaması, counterfactual düşünme ve confounding sezgisi ile modeli sadece daha iyi tahmin eden değil, daha doğru müdahale düşündüren bir sistem olarak ele al.
Dağılım Kayması ve Robustluk
Covariate shift, OOD örnekler ve bozulma şiddeti altında performans eğrileri ile modeli yalnızca temiz testte değil, değişen dünyada da değerlendir.
Aktif Öğrenme ve Üretim Döngüsü
Etiket bütçesini, insan incelemesi eşiklerini ve üretim alarmını aynı omurgada düşün. Model artık sadece öğrenmiyor; çalışırken de geri besleniyor.
Deneyler ve Güvenli Yayın
A/B testi, champion/challenger, rollout ve rollback ile yeni modelin sadece iyi değil güvenli biçimde canlıya nasıl çıktığını gör.
Adalet, Gizlilik ve Yönetişim
Adalet açığı, gizlilik bütçesi ve yönetişim kapısı ile modelin yalnızca güçlü değil savunulabilir biçimde yayına hazır olup olmadığını gör.
Saldırılar ve Sahtecilik Direnci
Karşıt örnekler, kötüye kullanım kaçışı, sahtecilik ekonomisi ve kırmızı takım kapısı ile modelin kasıtlı saldırı altında ne kadar ayakta kaldığını gör.
Nedensel Müdahale ve Politika
Müdahale etkisi, hedefli politika, bağlamsal bandit ve pekiştirmeli kararlar ile modelin neyi tahmin ettiğinden çok hangi aksiyonu seçmesi gerektiğini gör.
Bölüm 4. Yapay Sinir Ağları#
Doğrusal modellerin üzerine çıkarak birden fazla katmanı üst üste koyuyor ve sigmoid dışında yeni aktivasyon fonksiyonları kullanıyoruz. Bu sayede yapay sinir ağları doğrusal olmayan, karmaşık fonksiyonları öğrenebilir. Bir yapay sinir ağındaki optimal ağırlık ve bias değerlerini bulma sürecine geri yayılım denir.
Yapay Sinir Ağı Kayıp Yüzeyi
Yapay Sinir Ağı Dönüşümleri
Yapay Sinir Ağı Fonksiyon Yaklaştırma
Yapay Sinir Ağı Geri Yayılım
Bölüm 3. Doğrusal Modeller ve Aktivasyon Fonksiyonu#
Perceptron gibi doğrusal modeller, giriş özelliklerine doğrusal bir kombinasyon uygulayarak tahmin üretir. Bu kombinasyondaki parametreler, gradyan inişi gibi optimizasyon algoritmalarıyla öğrenilir. Bu yapı, aktivasyon fonksiyonu olmayan tek katmanlı bir yapay sinir ağı gibi düşünülebilir. Lojistik regresyon ise perceptron fikrini sigmoid aktivasyon fonksiyonu ve ikili çapraz entropi kayıp fonksiyonu ile genişletir.
Lojistik Regresyon
Perceptron
Bölüm 2. Kümeleme ve Boyut İndirgeme#
Makine öğrenmesi modelleri parametrelerini eğitim verisinden öğrendiği için, veri üzerinde analiz yapmak oldukça önemlidir. Temel Bileşen Analizi, veriyi sıkıştırıp varyansın büyük kısmını açıklayan özellikleri bulmamızı sağlar; böylece eğitimi daha anlamlı girdilere odaklayabiliriz. K-Ortalamalar ise ilişkili veri noktalarını gruplamaya yarayan denetimsiz bir kümeleme algoritmasıdır. Bu, veri ön işleme ve aykırı gözlemleri belirleme açısından oldukça faydalıdır.
K-Ortalamalar Kümeleme
Temel Bileşen Analizi
Bölüm 1. Optimizasyon#
Optimizasyon, bir fonksiyonun değerini en aza indiren optimal giriş parametrelerini bulma sürecidir. Bu fikri makine öğrenmesine uyarladığımızda, optimizasyon algoritmalarının kayıp fonksiyonunda en düşük hatayı verecek ağırlık ve bias değerlerini bulması gerekir. Gradyan inişi bu algoritmalardan biridir. Parametreleri öğrenebilmek için yakınsama ve kararlılık kritik öneme sahiptir.
Gradyan İnişi
Katkı#
Dünyanın her yerinden insanların bu açık kaynak kitaba katkı verebildiği bir topluluk oluşmasını isterim. Yüksek seviyede bakıldığında bu proje, makine öğrenmesi algoritmalarını uygulayan Jupyter Notebook’ların bir koleksiyonudur.
Bu kitaba eklemek istediğiniz bir Jupyter Notebook varsa, kendi Türkçe sürümünüzde bir pull request açabilirsiniz. Orijinal yapının nasıl genişletildiğini görmek için gerekli kod değişikliklerini gösteren referans commit’e bakabilirsiniz.
Not: Notebook dosyanızı kendi GitHub deponuza yüklemeniz gerekir. Yukarıdaki referans commit yapısını izlerseniz, Jupyter Book derleme süreci ilgili .ipynb dosyasını indirir ve onaylanan değişikliklerle siteyi günceller.
Kitap Hakkında#
Meraklı bir öğreniciyim ve özellikle makine öğrenmesi yüklerini destekleyen yüksek performanslı hesaplama sistemleriyle ilgileniyorum. Bilgisayar Bilimleri yüksek lisans programlarına başvurmayı ve kariyerime ara vermeden bu eğitimi yarı zamanlı sürdürmeyi planlıyorum. Başvuru süreciyle ilgili önerileriniz ya da bağlantılarınız varsa benimle iletişime geçebilirsiniz (ghung AT umd DOT edu).
Bu Python Jupyter Notebook’larını University of Maryland, College Park ders notlarımı kullanarak hazırladım.
Notebook’ları kendiniz çalıştırmak isterseniz, herhangi bir sayfanın sağ üstündeki indirme simgesine tıklayıp .ipynb seçeneğini kullanın. Sonrasında kod bloklarını yerelde ya da Google Colab gibi bulut ortamlarda açıp çalıştırabilirsiniz.
Daha ileri düzey kullanım için AWS SageMaker Notebook ortamlarını hızlıca ayağa kaldıran Terraform script’lerini burada paylaştım.
Dikkat Ceken UMD Dersleri#
Makine Öğrenmesi Ders Notları#
Bölüm 1:
Bölüm 2:
Bölüm 3:
Bölüm 4: