100 Sayfalık Makine Öğrenmesi Kitabı — Kapsamlı Özet
Kaynak: Andriy Burkov — "The Hundred-Page Machine Learning Book" (theMLbook.com) — "Read first, buy later" ilkesiyle dagitilmaktadir.
100 Sayfalik Makine Öğrenmesi Kitabi — Kapsamli Ozet
Bu belge, Andriy Burkov'un "The Hundred-Page Machine Learning Book" adli kitabinin bölüm bölüm Turkce ozetidir. Kitap, makine öğrenmesinin temel kavramlarindan ileri uygulamalara kadar genis bir yelpazede bilgi sunmaktadir.
Bölüm 1 — Giriş (Introduction)
Makine Öğrenmesi Nedir?
Makine öğrenmesi (machine learning), bilgisayar biliminin bir alt alanidir. Temel fikir sudur: bir olgunun örneklerinden olusmus bir veri kumesi toplanir ve bu veri kumesi üzerinde istatistiksel bir model olusturulur. Olusturulan model, pratik bir problemi cozmek için kullanılır.
Öğrenme Turleri
Makine öğrenmesi dort ana kategoriye ayrilir:
| Öğrenme Turu | Turkce Adi | Aciklama |
|---|---|---|
| Supervised Learning | Gozetimli Öğrenme | Etiketli veri ile eğitim yapilir. Her örnek bir özellik vektoru (feature vector) ve bir etiket (label) icinden olusur. |
| Unsupervised Learning | Goetimsiz Öğrenme | Etiketsiz veri ile calisilir. Amac, verinin yapisini kesfetmektir (kümeleme, boyut indirgeme vb.). |
| Semi-Supervised Learning | Yari-Gozetimli Öğrenme | Az sayida etiketli ve cok sayida etiketsiz örnek bir arada kullanılır. |
| Reinforcement Learning | Pekistirmeli Öğrenme | Bir ajan, cevrede eylemler gerçeklestirir ve aldigi odullere gore bir politika (policy) öğrenir. |
Gozetimli Öğrenmenin Calismasi
Gozetimli öğrenme süreçi su adimlardan olusur:
- Veri toplama: Etiketli örnekler toplanir (örneğin, 10.000 e-posta, her biri "spam" veya "spam degil" olarak etiketlenmis).
- Özellik mühendisliği (feature engineering): Ham veri, özellik vektorlerine donusturulur. Örneğin, "bag of words" yöntemiyle bir e-posta mesaji 20.000 boyutlu bir vektore cevirilir.
- Model eğitimi: Bir öğrenme algoritmasi (örneğin SVM) veri kumesine uygulanir.
- Tahmin: Egitilmis model, yeni örneklerin etiketlerini tahmin eder.
Kitapta SVM (Destek Vektor Makinesi) örnek olarak sunulmaktadir. SVM, bir hiperduzlem (hyperplane) cizerek pozitif ve negatif örnekleri birbirinden ayirir. Hiperduzlemin denklemi wx - b = 0 seklindedir; burada w parametre vektoru, b ise sapma terimidir (bias).
Model Neden Yeni Veride Calisir?
Eğitim örnekleri rastgele ve birbirinden bagimsiz olarak secildiyse, yeni örnekler de istatistiksel olarak eğitim örneklerine benzeyecektir. Bu nedenle, karar siniri (decision boundary) yeni örnekleri de yüksek olasılikla dogru siniflandirir. Eğitim kumesi buyudukce bu olasılik artar. Bu konunun teorik temeli PAC öğrenmesi (Probably Approximately Correct) ile aciklanir.
Bölüm 2 — Gosterim ve Tanimlar (Notation and Definitions)
Bu bölüm, kitabin geri kalaninda kullanilan matematiksel temelleri ozetler.
Temel Matematiksel Kavramlar
| Kavram | Turkce | Aciklama |
|---|---|---|
| Scalar | Skaler | Tek bir sayisal değer (örneğin 15 veya -3.25) |
| Vector | Vektor | Siralanmis skaler değerlerin bir listesi. x = [x(1), x(2), ..., x(D)] |
| Set | Kume | Benzersiz elemanlarin siralanmamis bir koleksiyonu |
| Dot product | Ic carpim | Iki vektorun eleman eleman carpimlarinin toplami: wx = w(1)x(1) + w(2)x(2) + ... |
| Matrix | Matris | Iki boyutlu sayisal dizi; satir ve sutunlardan olusur |
Turev ve Gradyan (Derivative and Gradient)
- Turev (derivative): Bir fonksiyonun ne hizda buyudugunu veya kuculdigunu gosteren değer veya fonksiyon. Örneğin, f(x) = x^2 ise f'(x) = 2x.
- Zincir kurali (chain rule): Bilesik fonksiyonlarin turevini bulmak için kullanılır. F(x) = f(g(x)) ise F'(x) = f'(g(x)) * g'(x).
- Gradyan (gradient): Birden fazla girdi alan fonksiyonlar için turevin genellemesi; kismi turevlerin bir vektorudur.
Rastgele Degisken (Random Variable)
- Ayrik (discrete): Sayilabilir sayida değer alir. Olasilik dagilimlari olasılik kutle fonksiyonu (PMF) ile tanimlanir.
- Surekli (continuous): Sonsuz sayida değer alir. Dagilimlari olasılik yoğunluk fonksiyonu (PDF) ile tanimlanir.
- Beklenen değer (expectation, E[X]): Ortalama deger; mu (mu) ile gosterilir.
- Standart sapma (standard deviation, sigma): Degerlerin ortalamadan ne kadar saptigini olcer.
Bayes Kurali ve Parametre Tahmini
Bayes Kurali (Bayes' Rule): Pr(X=x|Y=y) = Pr(Y=y|X=x) * Pr(X=x) / Pr(Y=y)
Bu kural, bir modelin parametrelerini veriden tahmin etmek için kullanılır. Örneğin, Gauss (normal) dagilimi iki parametre ile tanimlanir: ortalama (mu) ve standart sapma (sigma). Maksimum olabilirlik (maximum likelihood) prensibi ile en iyi parametre değerleri bulunur.
Sınıflandırma ve Regresyon
- Sınıflandırma (classification): Etiketsiz bir ornege otomatik olarak bir sınıf atama problemi. Ikili (binary) veya cok sinifli (multiclass) olabilir.
- Regresyon (regression): Gerçek degerli bir hedef (target) tahmini. Örneğin, ev fiyati tahmini.
Model-Tabanli ve Örnek-Tabanli Öğrenme
- Model-tabanli (model-based): Eğitim verisinden parametreleri öğrenen bir model olusturulur (örneğin SVM, doğrusal regresyon). Eğitim bitince veri atilabilir.
- Örnek-tabanli (instance-based): Tum eğitim verisi bellekte tutulur (örneğin kNN). Tahmin yapilirken en yakin komsular kullanılır.
Sig ve Derin Öğrenme
- Sig öğrenme (shallow learning): Parametreler doğrudan özelliklerden ogrenilir.
- Derin öğrenme (deep learning): Sinir aglari birden fazla katmanla çalışır; her katman onceki katmanin çıktısini girdi olarak alir ve daha karmaşık temsiller öğrenir.
Bölüm 3 — Temel Algoritmalar (Fundamental Algorithms)
3.1 Doğrusal Regresyon (Linear Regression)
Doğrusal regresyon, en basit ve en yaygin kullanilan makine öğrenmesi algoritmalarindan biridir.
Model: f(x) = wx + b
- w: ağırlık vektoru (weight vector)
- b: sapma terimi (bias)
Amac: Tahmin edilen değer ile gerçek değer arasındaki farkin karesinin ortalamasini (MSE — Mean Squared Error) minimize etmek.
Maliyet fonksiyonu: (1/N) * toplam[(f(xi) - yi)^2]
Bu fonksiyona karesel hata kaybi (squared error loss) denir. Kare alinmasinin nedeni, fonksiyonun turevi surekli oldugundan (mutlak değer fonksiyonunun tersine) optimizasyonun kolaylasmasi.
Doğrusal regresyon aşırı uyum (overfitting) sorununa karsı dayaniklidir çünkü model basittir. Ancak verinin karmaşık ilişkilerini yakalayamayabilir (eksik uyum / underfitting).
3.2 Lojistik Regresyon (Logistic Regression)
Adina ragmen, lojistik regresyon bir sınıflandırma algoritmasidir.
Temel fikir: Ciktiyi 0 ile 1 arasında sinirlamak için sigmoid fonksiyonu kullanılır:
f(x) = 1 / (1 + e^(-(wx+b)))
- Cikti 0.5'ten büyükse: pozitif sinif
- Cikti 0.5'ten küçükse: negatif sinif
Optimizasyon: Doğrusal regresyondaki MSE yerine maksimum olabilirlik (maximum likelihood) kriteri kullanılır. Pratikte log-olabilirlik (log-likelihood) maksimize edilir.
Kapalı form çözüm yoktur; gradyan inisi (gradient descent) ile cozulur.
3.3 Karar Ağaçi Öğrenmesi (Decision Tree Learning)
Karar ağaçi, veriyi dallandirarak siniflandiran bir grafik yapisidir. Her dugumde bir özellik degerlendirilir, esik değerine gore sag veya sol dala gidilir. Yaprak dugumunde sınıf karari verilir.
ID3 Algoritmasi: 1. Tum örneklerle basla. 2. Her özellik ve esik değeri için veriyi ikiye bol. 3. En iyi bölünmeyi entropi (entropy) kriteri ile sec. Entropi, belirsizligin bir olcusudur. 4. Durdurma kosulu saglanana kadar tekrarla (tum örnekler dogru siniflandirilmis, ağaç maksimum derinlige ulasms vb.).
Entropi formulu: H(S) = -f * ln(f) - (1-f) * ln(1-f), burada f pozitif örneklerin orani.
3.4 Destek Vektor Makinesi (Support Vector Machine — SVM)
SVM, iki sınıf arasındaki marjini (margin) en büyük yapan bir hiperduzlem bulmaya çalışır.
Iki önemli uzanti:
-
Yumusak marjin (soft-margin SVM): Gurultulu veri için menteşe kaybi (hinge loss) kullanılır. C hiperparametresi, marj büyüklugu ile sınıflandırma hatasi arasındaki dengeyi kontrol eder.
-
Cekirdek hilesi (kernel trick): Dogrusel olarak ayrilamayan veriler icin, orijinal uzayi yüksek boyutlu bir uzaya dönüştürür. En yaygin cekirdek fonksiyonu RBF (Radial Basis Function) cekirdegi:
k(x, x') = exp(-||x - x'||^2 / (2 * sigma^2))
3.5 k-En Yakin Komsu (k-Nearest Neighbors — kNN)
kNN, parametrik olmayan (non-parametric) bir algoritmadır. Tum eğitim verisini bellekte tutar.
- Yeni bir örnek geldiginde, en yakin k komsuya bakilir.
- Sınıflandırma için cogunluk oyu, regresyon için ortalama alinir.
- Yakinlik, Oklid mesafesi (Euclidean distance) veya kosinüs benzerligi (cosine similarity) ile olculur.
Algoritma Karşılaştırma Tablosu
| Algoritma | Tur | Parametrik mi? | Avantaj | Dezavantaj |
|---|---|---|---|---|
| Doğrusal Regresyon | Regresyon | Evet | Basit, aşırı uyuma dayanikli | Doğrusal olmayan ilişkileri yakalayamaz |
| Lojistik Regresyon | Sınıflandırma | Evet | Olasilik çıktısi verir | Doğrusal karar siniri |
| Karar Ağaçi | Her ikisi | Hayir | Yorumlanabilir, kategorik veri kabul eder | Aşırı uyuma yatkin |
| SVM | Her ikisi | Evet | Yüksek boyutlu veride iyi çalışır | Büyük veri kümelerinde yavas |
| kNN | Her ikisi | Hayir | Basit, eğitim gerektirmez | Tahmin zamani yavas, tum veri bellekte |
Bölüm 4 — Bir Öğrenme Algoritmasinin Anatomisi (Anatomy of a Learning Algorithm)
Yapi Taslari
Her öğrenme algoritmasi uc temel bilesenden olusur:
- Kayip fonksiyonu (loss function): Tek bir örnekteki hatayi olcer.
- Maliyet fonksiyonu (cost function): Kayip fonksiyonuna dayali optimizasyon kriteri (genellikle ortalama kayip).
- Optimizasyon yöntemi (optimization routine): Eğitim verisini kullanarak en iyi parametreleri bulur.
Gradyan Inisi (Gradient Descent)
Gradyan inisi, bir fonksiyonun minimumunu bulmak için kullanilan yinelemeli bir optimizasyon algoritmasidir.
Temel adimlar: 1. Parametreler rastgele baslatilir (w=0, b=0). 2. Her eğitim örneği için kismi turevler hesaplanir. 3. Parametreler, öğrenme hizi (learning rate, alpha) ile guncellenir: - w <- w - alpha * (dL/dw) - b <- b - alpha * (dL/db) 4. Tum veri kumesi üzerinden bir gecis, epoch olarak adlandirilir. Degerler degismeyinceye kadar tekrarlanir.
Stokastik Gradyan Inisi (SGD) ve Cesitleri
| Yöntem | Aciklama |
|---|---|
| SGD | Tum veri yerine küçük yiginlar (mini-batch) kullanarak gradyani yaklasik hesaplar; daha hizli. |
| Adagrad | Her parametre için öğrenme hizini gradyan gecmisine gore ayarlar. |
| Momentum | Gradyan inisini hizlandirir ve salinimlari azaltir. |
| RMSprop | Sinir agi eğitiminde sikca kullanılır. |
| Adam | RMSprop ve Momentum'un birlesimi; en populer optimize edici. |
Pratikte Nasil Calisilir?
Cogu durumda algoritmalar sifirdan yazilmaz; scikit-learn gibi kutuphaneler kullanılır. Örneğin:
from sklearn.linear_model import LinearRegression
model = LinearRegression().fit(x, y)
y_new = model.predict(x_new)
Farkli algoritmalar kolayca degistirilebilir: LinearRegression yerine SVC, DecisionTreeClassifier, NearestNeighbors vb.
Bölüm 5 — Temel Uygulama (Basic Practice)
5.1 Özellik Muhendisligi (Feature Engineering)
Ham veriyi bir veri kumesine donusturme süreçi. Bu, yraticilik ve alan bilgisi gerektiren emek yoğun bir çalışmadir.
Önemli teknikler:
- One-hot kodlama (one-hot encoding): Kategorik özellikleri ikili vektorlere dönüştürür. Örneğin: kirmizi = [1,0,0], sari = [0,1,0], yesil = [0,0,1].
- Gruplama (binning/bucketing): Surekli bir ozelligi kategorik hale getirir. Örneğin, yas: 0-10 -> cocuk, 11-18 -> genc, 18+ -> yetiskin.
- Normalizasyon (normalization): Özellikleri [0,1] araligina ölçekler.
- Standardizasyon (standardization): Ortalamayi 0, standart sapmayi 1 yapacak şekilde ölçekler.
- Eksik değer işleme: Ortalama veya medyan ile doldurma, ozel bir değer atama gibi stratejiler.
5.2 Algoritma Secimi
Scikit-learn, algoritma secimi için bir karar diyagrami sunar. Genel kurallar: - Az veri varsa: basit modeller tercih edin. - Cok veri varsa: karmaşık modeller denenebilir. - Hiz önemliyse: doğrusal modeller veya karar ağaçlari. - Dogruluk önemliyse: topluluk yöntemleri veya sinir aglari.
5.3 Uc Veri Kumesi (Three Sets)
| Kume | Amac | Tipik Oran |
|---|---|---|
| Eğitim kumesi (training set) | Modeli oluşturmak için | %70 (veya büyük veride %95) |
| Dogrulama kumesi (validation set) | Hiperparametre ayari ve algoritma secimi | %15 (veya %2.5) |
| Test kumesi (test set) | Modelin nihai degerlendirilmesi | %15 (veya %2.5) |
5.4 Eksik Uyum ve Aşırı Uyum (Underfitting & Overfitting)
- Eksik uyum (underfitting): Model, eğitim verisini bile iyi tahmin edemez. Neden: model cok basit veya özellikler yetersiz. Cozum: daha karmaşık model veya daha iyi özellikler.
- Aşırı uyum (overfitting): Model, eğitim verisini mukemmel tahmin eder ama yeni veride başarısiz olur. Neden: model cok karmaşık veya cok az eğitim verisi. Cozum: daha basit model, regularizasyon, daha fazla veri.
Bu dengeye sapma-varyans odunlesimi (bias-variance tradeoff) denir.
5.5 Duzenlesme (Regularization)
Modeli daha basit hale getirerek aşırı uyumu azaltan teknikler:
- L1 Regularizasyon (Lasso): Maliyet fonksiyonuna C * |w| terimi eklenir. Parametrelerin cogunu sifira iterek özellik secimi yapar. Seyrek (sparse) modeller üretir.
- L2 Regularizasyon (Ridge): Maliyet fonksiyonuna C * ||w||^2 terimi eklenir. Genellikle L1'den daha iyi sonuç verir. Turev alinabilir oldugundan gradyan inisi ile kullanilabilir.
- Elastik ag (Elastic Net): L1 ve L2'nin birlesimi.
5.6 Model Performans Değerlendirmesi
Regresyon icin: MSE (Ortalama Karesel Hata) kullanılır. Eğitim ve test MSE'leri karsilastirilir.
Sınıflandırma icin:
| Metrik | Aciklama |
|---|---|
| Karisiklik matrisi (confusion matrix) | TP, FP, TN, FN değerlerini gosteren tablo |
| Kesinlik (precision) | TP / (TP + FP) — pozitif tahminlerin ne kadari dogru? |
| Duyarlilik (recall) | TP / (TP + FN) — gerçek pozitiflerin ne kadari yakalandi? |
| Dogruluk (accuracy) | (TP + TN) / (TP + TN + FP + FN) |
| ROC AUC | ROC egrisi altindaki alan; 1'e ne kadar yakinsa o kadar iyi |
5.7 Hiperparametre Ayarlama
- Izgara arama (grid search): Tum hiperparametre kombinasyonlarini dener.
- Rastgele arama (random search): Istatistiksel dagilimlardan rastgele örnekler secer.
- Bayes optimizasyonu: Gecmis sonuçlara dayanarak bir sonraki denemeyi akilli secer.
- Çapraz doğrulama (cross-validation): Veri k parcaya bolunur; her parca sirasıyla doğrulama kumesi olarak kullanılır (genellikle k=5).
Bölüm 6 — Sinir Aglari ve Derin Öğrenme (Neural Networks and Deep Learning)
6.1 Sinir Aglari (Neural Networks)
Bir sinir agi, ic ice gectrilmis (nested) fonksiyonlar biciminde bir matematiksel modeldir:
y = f_NN(x) = f3(f2(f1(x)))
Her katman, su işlem uygular: f_l(z) = g_l(W_l * z + b_l)
- W_l: Agirlik matrisi
- b_l: Sapma vektoru
- g_l: Aktivasyon fonksiyonu (doğrusal olmayan bir fonksiyon)
Cok Katmanli Algilayici (Multilayer Perceptron — MLP)
MLP, tam bagli (fully-connected) bir ileri beslemeli sinir agi (FFNN) mimarisidir. Her katmandaki her birimin çıktısi, bir sonraki katmanin tum birimlerine girdi olarak gider.
Aktivasyon Fonksiyonlari
| Fonksiyon | Formul | Aralik | Kulllanim |
|---|---|---|---|
| Sigmoid | 1 / (1 + e^(-z)) | (0, 1) | Ikili sınıflandırma çıkış katmani |
| TanH | (e^z - e^(-z)) / (e^z + e^(-z)) | (-1, 1) | Gizli katmanlar |
| ReLU | max(0, z) | [0, sonsuz) | Gizli katmanlar (en yaygin) |
Cikis katmaninda: - Doğrusal aktivasyon -> regresyon - Sigmoid -> ikili sınıflandırma - Softmax -> cok sinifli sınıflandırma
6.2 Derin Öğrenme (Deep Learning)
Derin öğrenme, ikiden fazla gizli katmana sahip sinir aglarinin egitilmesidir.
Tarihsel zorluklar: - Patlayan gradyan (exploding gradient): Gradyan değerlerinin katlanarak buyumesi. Cozum: gradyan kirpma (gradient clipping), L1/L2 regularizasyon. - Solen gradyan (vanishing gradient): Gradyan değerlerinin sifira yaklasarak erken katmanlarin ogrenememesi. Cozum: ReLU aktivasyonu, LSTM, atlama bağlantılari (skip connections).
Evrissimli Sinir Aglari (CNN — Convolutional Neural Networks)
Özellikle görüntü işleme için tasarlanmistir. Temel fikir: görüntüler yerel oruntulere (local patterns) sahiptir (gokyuzu, yaprak, kenar vb.).
- Filtre (filter): Küçük bir matris; görüntüyu kayarak tarar.
- Evrissim (convolution): Filtre ile görüntüdeki bir parcamin (patch) ic carpimi.
- Havuzlama (pooling): Parametre sayisini azaltir.
CNN katmanlari üzerinden gecildikce, ag basit oruntulerden (kenarlar, renkler) karmaşık özelliklere (yuzler, nesneler) dogru ilerler.
Tekrarlayan Sinir Aglari (RNN — Recurrent Neural Networks)
Diziler (sequences) ile çalışır: metin, ses, zaman serileri.
- Her birim, bir durum (state) tutar; bu durum bir hafiza gorevi gorur.
- Her zaman adiminda (timestep) girdi vektoru ve onceki zaman adimindaki durum bilesi islenir.
- LSTM (Long Short-Term Memory): Uzun vadeli bagimlilaklari ogrenebilen gelismis RNN mimari. Unutma kapisi (forget gate), girdi kapisi (input gate), çıktı kapisi (output gate) içerir.
- GRU (Gated Recurrent Unit): LSTM'in basitlestirilmis hali; benzer performans.
- Cift yonlu (Bidirectional) RNN: Diziyi hem ileri hem geri okuyarak her iki yondeki bağlami yakalar.
Bölüm 7 — Problemler ve Cozumler (Problems and Solutions)
7.1 Cekirdek Regresyonu (Kernel Regression)
Parametrik olmayan bir regresyon yöntemi. Yeni bir girdi için tahmin, yakin eğitim örneklerinin ağırlıkli ortalamasiyla yapilir. Agirliklar, cekirdek fonksiyonu (örneğin RBF cekirdegi) ile belirlenir.
7.2 Cok Sinifli Sınıflandırma (Multiclass Classification)
Dogal olarak cok sinifli olmayan algoritmalar (örneğin ikili SVM) için iki strateji:
- Bire-karsı-hepsi (one-vs-rest): Her sınıf için ayri bir ikili siniflandirici egitilir.
- Bire-karsı-bir (one-vs-one): Her sınıf cifti için ayri bir siniflandirici.
7.3 Tek Sinifli Sınıflandırma (One-Class Classification)
Yalnizca bir sınıfın örneklerinden ogrenerek anomali, aykiri değer veya yenilik tespiti yapar.
Yöntemler: tek-sınıf Gauss, tek-sınıf k-ortalamalar, tek-sınıf kNN, tek-sınıf SVM.
7.4 Cok Etiketli Sınıflandırma (Multi-Label Classification)
Her ornege birden fazla etiket atanir (örneğin bir görüntünun "insan", "konser", "doga" etiketleri).
Yaklasimlar: - Her etiket için ayri bir ikili siniflandirici. - Sinir aglarinda: çıkış katmaninda her etiket için bir sigmoid birimi; ikili çapraz entropi (binary cross-entropy) maliyeti. - Kombinasyon yaklasimi: tum etiket kombinasyonlari için sahte siniflar oluşturma.
7.5 Topluluk Öğrenmesi (Ensemble Learning)
Birden fazla zayif modeli birlestirerek güçlü bir meta-model oluşturma.
| Yöntem | Yaklasim | Aciklama |
|---|---|---|
| Rastgele Orman (Random Forest) | Torbalama (Bagging) | Yeniden örnekleme ile birden fazla karar ağaçi egitilir; oylama ile tahmin. Varyansı azaltir. |
| Gradyan Artırma (Gradient Boosting) | Artırma (Boosting) | Her yeni ağaç, onceki modelin hatalarini (residuals) duzeltir. Sapmayı azaltir. |
Gradyan Artırma: 1. Sabit bir model ile basla (örneğin ortalama). 2. Artiklari (residuals) hesapla. 3. Artiklari tahmin etmek için yeni bir karar ağaçi egit. 4. Yeni ağaçi modele öğrenme hizi (alpha) ile ekle. 5. Tekrarla.
Gradyan artırma, en güçlü makine öğrenmesi algoritmalarindan biridir; milyonlarca örnekli veri kümeleriyle calisabilir.
7.6 Dizi Etiketleme (Sequence Labeling)
Bir dizideki her elemanin etiketlenmesi (örneğin cumledeki her kelimenin sozluk turu). RNN veya Kosullu Rastgele Alanlar (CRF — Conditional Random Fields) kullanilabilir.
7.7 Diziden-Diziye Öğrenme (Sequence-to-Sequence — seq2seq)
Girdi ve çıktı dizileri farkli uzunlukta olabilir. Örneğin: makine cevirisi, metin ozetleme, yazim duzeltme.
Mimari: Kodlayici-Cozucu (Encoder-Decoder) yapisi. Kodlayici girdiyi okur ve bir gomme (embedding) üretir; cozucu bu gommeyi kullanarak çıktı dizisi oluşturur.
Dikkat mekanizması (attention mechanism): Cozucunun, kodlayicinin tum zaman adimlarindaki bilgiye erisebilmesini saglar; uzun vadeli bagimlilikları daha iyi yakalar.
7.8 Aktif Öğrenme (Active Learning)
Etiketleme maliyetli oldugunda, modele en cok katki saglayacak örneklerin secilerek etiketlenmesi.
Stratejiler: - Yogunluk ve belirsizlik tabanli: Yüksek yoğunluklu ve belirsiz örnekler oncelikli etiketlenir. - Destek vektor tabanli: Karar sinirina en yakin örnekler etiketlenir.
7.9 Yari-Gozetimli Öğrenme (Semi-Supervised Learning)
Az etiketli, cok etiketsiz örnek durumunda performansi artırma.
- Kendi-kendine öğrenme (self-learning): Modelin yüksek guvenle tahmin ettigi etiketsiz örnekleri eğitim kumesine ekleme.
- Merdiven aglari (ladder networks): Gurultu gidericili oto-kodlayici (denoising autoencoder) temelli; MNIST'te sınıf basina sadece 10 etiketli örnekle neredeyse mukemmel sonuç.
7.10 Tek-Atis Öğrenme (One-Shot Learning)
Özellikle yuz tanima gibi alanlarda kullanılır. Siyam sinir aglari (Siamese Neural Networks) ile uclu kayip (triplet loss) kullanilarak egitilir.
7.11 Sifir-Atis Öğrenme (Zero-Shot Learning)
Eğitim sirasinda gorulmeyen sınıfları tanima. Kelime gommeleri (word embeddings) kullanilarak, gorulmeyen sınıfların anlamsal yakinligi üzerinden tahmin yapilir.
Bölüm 8 — Ileri Uygulama (Advanced Practice)
8.1 Dengesiz Veri Kumeleri (Imbalanced Datasets)
Bir sınıfın örneklerinin diger sinifa gore cok az oldugu durumlar.
Cozumler: - Sinif ağırlıklama (class weighting): Azinlik sınıfınin yanlis sınıflandırma maliyetini artırma. - Aşırı örnekleme (oversampling): Azinlik sınıfınin örneklerinin kopyalarini oluşturma. - Alt örnekleme (undersampling): Cogunluk sınıfınin örneklerini rastgele silme. - SMOTE: Azinlik sınıfı için yapay örnekler oluşturma; en yakin komsular arasında enterpolasyon. - ADASYN: SMOTE'a benzer; azinlik örneklerinin az oldugu bölgelerde daha fazla yapay örnek üretir.
8.2 Modelleri Birlestirme (Combining Models)
- Ortalama alma (averaging): Regresyon veya olasılik çıktıli modellerin ortalaması.
- Cogunluk oyu (majority vote): Sınıflandırma icin.
- Yigma (stacking): Temel modellerin çıktılarini girdi olarak alan bir meta-model egitme.
8.3 Sinir Agi Eğitimi
- Görüntüler: yeniden boyutlandirma, normalizasyon.
- Metinler: tokenizasyon, one-hot kodlama veya kelime gommeleri.
- Basit mimariden basla, eğitim verisine uyum saglayincaya kadar buyut.
- Dogrulama verisinde başarısizsa regularizasyon ekle.
8.4 Ileri Duzenlesme (Advanced Regularization)
- Birakilma (dropout): Her eğitim adiminda rastgele birimleri devre disi birak.
- Yigin normalizasyonu (batch normalization): Katmanlar arasi normalize etme; regularizasyon etkisi de vardir.
- Erken durdurma (early stopping): Dogrulama performansi dusmaya basladiginda eğitimi durdurma.
- Veri artırma (data augmentation): Orijinal verilere dönüşümler uygulayarak (dondurme, cevirme, yakinlastirma) yapay örnekler oluşturma.
8.5 Coklu Girdiler (Multiple Inputs)
Cok modlu (multimodal) veriyle çalışma. Örneğin görüntü + metin. Sinir aglarinda: her girdi için ayri bir alt ag (encoder), çıktılar birlestirilerek (concatenation) ortak bir sınıflandırma katmani eklenir.
8.6 Coklu Ciktilar (Multiple Outputs)
Birden fazla çıktınin ayni anda tahmin edilmesi (örneğin nesne koordinatlari + sınıf etiketi). Birlesik maliyet fonksiyonu: lambda * C1 + (1-lambda) * C2; lambda hiperparametre olarak ayarlanir.
8.7 Transfer Öğrenmesi (Transfer Learning)
Bir gorevde eğitilmiş sinir aginin bilgisinin, baska bir goreve aktarilmasi.
Yaklasim: 1. Onceden eğitilmiş agdaki (pre-trained model) erken katmanlari dondur (parametreleri guncelleme). 2. Son katmanlari yeni gorev için yeniden egit (ince ayar / fine-tuning). 3. Az veriyle bile iyi sonuçlar elde edilebilir.
Bu yaklasim özellikle görüntü ve dogal dil işleme alanlarinda cok başarılidir.
Bölüm 9 — Goetimsiz Öğrenme (Unsupervised Learning)
9.1 Yogunluk Tahmini (Density Estimation)
Veri kumesinin olasılik yoğunluk fonksiyonunu (PDF) modelleme. Cekirdek yoğunluk tahmini (kernel density estimation) kullanılır.
Gauss cekirdegi ile yoğunluk modeli: f_b(x) = (1/(Nb)) * toplam[k((x-xi)/b)]
Hiperparametre b, sapma-varyans dengesini kontrol eder. En iyi b değeri, ortalama entegre karesel hatayi (MISE) minimize ederek bulunur.
9.2 Kumeleme (Clustering)
Etiketsiz veride gruplari kesfetme.
K-Ortalamalar (K-Means)
- k adet merkez (centroid) rastgele yerlestirilir.
- Her örnek en yakin merkeze atanir.
- Merkezler, atanan örneklerin ortalamasina tasinir.
- Atamalar degismeyinceye kadar 2-3 tekrarlanir.
Kure seklinde kümeler üretir. k'nin secimi: tahmin gucu (prediction strength) yöntemi ile ps(k) > 0.8 olan en büyük k secilir.
DBSCAN ve HDBSCAN
Yogunluk tabanli kümeleme. Herhangi bir şekilde kümeler oluşturabilir.
- DBSCAN: epsilon ve n hiperparametreleri ile çalışır. Bir noktanin epsilon yakinligindaki komsu sayisina gore kümeleme yapar.
- HDBSCAN: Degisen yoğunluklu kümelerle basa cikabilir; k secimi gerektirmez.
Gauss Karisim Modeli (GMM — Gaussian Mixture Model)
Yumusak kümeleme (soft clustering): her örnek birden fazla kumeye ait olabilir.
- Her kume bir cok değişkenli normal dagilim (MND) ile modellenir.
- Parametreler EM algoritmasi (Expectation-Maximization) ile optimize edilir.
- EM dongusu: E-adimi (uyelik olasılikları hesapla) -> M-adimi (parametreleri guncelle) -> tekrarla.
9.3 Boyut Indirgeme (Dimensionality Reduction)
Yüksek boyutlu veriyi daha az boyuta indirgeme.
| Yöntem | Aciklama |
|---|---|
| PCA (Principal Component Analysis) | Verinin en yüksek varyansa sahip yonlerini bulur; verileri bu eksenlere projekte eder. Doğrusal yöntem. |
| UMAP | Yerel benzerlikleri koruyarak yüksek boyutlu veriyi düşük boyutlu uzaya aktarir. Gorselestirme için ideal. |
| Otokodlayici (Autoencoder) | Sinir agi tabanli; darbogazli (bottleneck) katman boyut indirgenmis temsili verir. |
PCA, eski ama etkili bir yöntemdir. UMAP, gosellesirmede PCA'dan daha iyi sınıf ayirimi saglayabilir. Otokodlayici, doğrusal olmayan ilişkileri yakalayabilir.
9.4 Aykiri Deger Tespiti (Outlier Detection)
- Otokodlayici yaklasimi: Normal verilerde egitilir; aykiri değerleri dogru yeniden olusturamaz.
- Tek sinifli sınıflandırma: Model, bir ornegn sinifa ait olup olmadigini belirler.
Bölüm 10 — Diger Öğrenme Bicimleri (Other Forms of Learning)
10.1 Metrik Öğrenmesi (Metric Learning)
Veriden en uygun mesafe metrigini öğrenme. Oklid mesafesi modifiye edilerek parametriklestirilir:
d_A(x, x') = sqrt((x-x')^T * A * (x-x'))
Burada A, pozitif yari-tanımli bir matristir ve veriden gradyan inisi ile ogrenilir. Benzer ciftlerin mesafesini minimize, farkli ciftlerin mesafesini belirli bir esik üstünde tutmayi hedefler.
10.2 Siralama Öğrenmesi (Learning to Rank)
Arama motoru sonuçlarini optimize etmek için kullanılır.
Uc yaklasim: - Noktasal (pointwise): Her belge bagimsiz degerlendirilir. - Ciftsel (pairwise): Belge ciftleri karsilastirilir. - Listesel (listwise): Tum listenin siralamasi bir butun olarak optimize edilir.
LambdaMART: Gradyan artırma tabanli; MAP (Mean Average Precision) gibi metrikleri doğrudan optimize eder.
10.3 Oneri Öğrenmesi (Learning to Recommend)
| Yaklasim | Aciklama |
|---|---|
| Icerik tabanli filtreleme | Kullanicinin tuketttigi içeriğin özelliklerine dayali oneriler |
| Isbirlikci filtreleme | Benzer kullanıcılarin tercihlerine dayali oneriler |
| Hibrit | Her iki yaklasimin birlesimi (pratikte en yaygin) |
Cozunurluk makineleri (Factorization Machines — FM): Seyrek veri kümeleri için tasarlanmis. Özellik etkileşimlerini duşuk boyutlu gizli faktorler üzerinden modelleyerek tahmin yapar.
Gurultu gidericili otokodlayicilar (DAE): Isbirlikci filtreleme için kullanilabilir; kullanıcı tercih matrisindeki boslukları doldurmak için egitilir.
10.4 Kendi-Kendini Gozetimli Öğrenme (Self-Supervised Learning)
Etiketlerin verinin kendisinden otomatik olarak turetildigi yaklasim. Özellikle kelime gommeleri (word embeddings) için kullanılır.
Word2Vec: Iki yaklasim: - CBOW (Continuous Bag of Words): Cevredeki kelimelerden ortadaki kelimeyi tahmin eder. - Skip-gram: Ortadaki kelimeden cevredeki kelimeleri tahmin eder.
Kelime gommeleri, kelimelerin anlamsal yakinligini yakalayan sayisal vektorlerdir. Örneğin, "kral - erkek + kadin ≈ kralice" gibi anlamsal ilişkiler elde edilebilir.
Bölüm 11 — Sonuç (Conclusion)
Kitabin son bölümunde yazar, makine öğrenmesi pratiğinde dikkat edilmesi gereken önemli noktalari ozetler:
Temel Ilkeler
-
Basit basla: Her zaman basit bir modelle baslayin (doğrusal model, karar ağaçi). Karmasik modellere yalnizca basit modeller yetersiz kaldiginda gecin.
-
Veri kalitesi her seyden onemldir: Daha iyi veri, daha karmaşık bir algoritmadan neredeyse her zaman daha etkilidir. Özellik mühendisliğine ve veri temizlemeye zaman ayirin.
-
Özellik mühendisliği sanat ve bilimdir: Alan bilgisini kullanarak anlamli özellikler oluşturmak, model başarısinin anahtaridir.
-
Aşırı uyumu ciddiye alin: Her zaman ayri bir test kumesiyle değerlendirme yapin. Çapraz doğrulama kullanin. Regularizasyon teknikleri uygulayin.
-
Deneysel yaklasim: Makine öğrenmesi deneysel bir alandir. Birden fazla algoritmayi deneyin, sonuçlari karsilastirin.
Pratik Oneriler
- Scikit-learn gibi olgun kutuphaneler kullanin.
- Büyük veri ve karmaşık sorunlar için derin öğrenme cercevelerini (TensorFlow, PyTorch) degerlendirin.
- Modeli üretim ortamina almadan once kapsamli test edin.
- Modeli duzenli olarak yeni verilerle guncelleyin.
- Açıklanabilirlik (interpretability) gereksinimlerini goz onunde bulundurun.
Temel Kavramlar Sozlugu
| Ingilizce | Turkce | Kisa Aciklama |
|---|---|---|
| Feature | Özellik | Veriyi tanimlayan bir ölçüm değeri |
| Label | Etiket | Bir örneğin dogru çıktısi |
| Model | Model | Veri üzerinde öğrenilmiş matematiksel fonksiyon |
| Training | Eğitim | Modelin veri üzerinde parametrelerini öğrenmesi |
| Overfitting | Aşırı uyum | Modelin eğitim verisini ezberlemesi |
| Underfitting | Eksik uyum | Modelin yeterince ogrenememesi |
| Regularization | Duzenlesme | Aşırı uyumu onlemek için model karmaşıkligini sinirlandirma |
| Gradient Descent | Gradyan Inisi | Yinelemeli optimizasyon algoritmasi |
| Loss Function | Kayip Fonksiyonu | Tek bir örnekteki hatayi olcen fonksiyon |
| Cost Function | Maliyet Fonksiyonu | Tum örneklerdeki ortalama kayip |
| Hyperparameter | Hiperparametre | Kullanici tarafından ayarlanan, algoritmaca ogrenilmeyen parametre |
| Cross-validation | Çapraz Dogrulama | Veriyi bolmlere ayirarak modeli değerlendirme |
| Ensemble | Topluluk | Birden fazla modelin birlestirilmesi |
| Embedding | Gomme | Bir varlığin sayisal vektor temsili |
| Epoch | Epoch | Eğitim verisinin tamamindan bir gecis |
| Batch | Yigin | Eğitim verisinin bir alt kumesi |
Ilgili Kaynaklar
- Temel 100 Soru — Makine öğrenmesi temel 100 soru
- theMLbook.com — Kitabin resmi web sitesi ve ek kaynaklar
Lisans ve Atıf
Bu sayfa, Andriy Burkov tarafından yazılan "The Hundred-Page Machine Learning Book" kitabına dayalı notlar içermektedir.
- Kitap: theMLbook.com
- GitHub: github.com/aburkov/theMLbook
- Lisans: MIT License — Copyright (c) 2019 Andriy Burkov
- İlke: "Read first, buy later" — Kitabı önce okuyun, beğenirseniz satın alın.
MIT Lisansı gereği bu copyright bildirimi ve izin bildirimi, Yazılımın tüm kopyalarına veya önemli bölümlerine dahil edilmelidir.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. Bu içerik eğitim amaçlıdır ve orijinal eserin yerine geçmez. Tam kitap için themlbook.com adresini ziyaret edin.