Makine Öğrenmesi (Machine Learning) Nedir? Kapsamlı Rehber
Makine öğrenmesi (Machine Learning), bilgisayar sistemlerinin açıkça programlanmadan veriden öğrenmesini ve deneyimle performansını geliştirmesini sağlayan yapay zeka dalıdır. Geleneksel programlamada kurallar insan tarafından yazılırken, makine öğrenmesinde bu kuralları veriden sistem kendisi çıkarır. Bu kapsamlı rehberde öğrenme türlerinden bias-variance tradeoff'a, model değerlendirme metriklerinden CRISP-DM iş akışına kadar makine öğrenmesinin temellerini baştan sona ele alıyoruz.
1. Makine Öğrenmesi Nedir? Geleneksel Programlamadan Farkı
Geleneksel programlamada insan, kuralları (algoritmayı) yazar; bilgisayar bu kuralları veriye uygulayarak çıktı üretir. Makine öğrenmesinde bu akış tersine döner: insan, girdi verisi ve doğru çıktıları sağlar; sistem, ikisi arasındaki kuralı (modeli) kendisi çıkarır. Bu fark, kuralları açıkça tanımlamanın imkansıza yakın olduğu problemlerde (görüntü tanıma, doğal dil işleme, öneri sistemleri) makine öğrenmesini vazgeçilmez kılar.
2. Nasıl Çalışır? Eğitim-Doğrulama-Test Döngüsü
Bir makine öğrenmesi modeli temel olarak üç aşamadan geçer:
- Eğitim (Training): Model, etiketli veya etiketsiz verilerle beslenir ve içindeki örüntüleri öğrenir.
- Doğrulama (Validation): Modelin genelleme yeteneği, eğitimde hiç görülmemiş bir veri kümesiyle ölçülür; aşırı öğrenme (overfitting) burada kontrol edilir.
- Test: Nihai, tarafsız performans ölçümü; hiperparametre ayarı bittikten sonra yalnızca bir kez kullanılır.
Kritik ayrım: Doğrulama seti hiperparametre ayarlamak için tekrar tekrar kullanılabilir; ancak test seti yalnızca bir kez, tüm karar süreci bittikten sonra kullanılmalıdır. Test setini birden fazla kez kullanmak (ve sonuçlara göre modeli ayarlamak), test setinin de dolaylı olarak "eğitime dahil olması" anlamına gelir — bu, gerçek dünya performansını olduğundan iyi gösterir.
3. Denetimli Öğrenme (Supervised Learning)
Her eğitim örneği için doğru cevap (etiket) mevcuttur. Model, girdi-çıktı ilişkisini öğrenerek yeni girdiler için tahmin üretir.
- Sınıflandırma: Çıktı kategoriktir. Örn: e-posta spam mı değil mi?
- Regresyon: Çıktı süreklidir. Örn: ev fiyatı tahmini.
Yaygın algoritmalar: Lojistik Regresyon, Karar Ağaçları, Random Forest, Destek Vektör Makineleri (SVM), XGBoost.
4. Denetimsiz Öğrenme (Unsupervised Learning)
Veride etiket yoktur; model kendi başına yapı ve örüntü keşfeder.
- Kümeleme (Clustering): Benzer örnekleri gruplar — bkz. K-Means.
- Boyut azaltma: Veriyi daha az değişkenle temsil eder. Örn: PCA, t-SNE.
- Birliktelik kuralları: Birlikte görülen örüntüleri bulur. Örn: market sepet analizi.
5. Pekiştirmeli Öğrenme (Reinforcement Learning)
Bir ajan, çevresiyle etkileşime girerek ödül/ceza mekanizmasıyla öğrenir. Oyun oynayan yapay zekalar ve robot kontrolü bu kategoriye girer. Veri bilimi projelerinde daha az yaygındır; uzmanlık gerektirir.
6. Yarı Denetimli ve Kendi Kendine Denetimli Öğrenme
Klasik üçlü ayrıma (denetimli/denetimsiz/pekiştirmeli) günümüzde iki önemli yaklaşım daha eklenmiştir:
- Yarı Denetimli Öğrenme (Semi-Supervised): Az sayıda etiketli, çok sayıda etiketsiz veri birlikte kullanılır — etiketleme maliyeti yüksek olduğunda (tıbbi görüntüleme gibi) pratik bir orta yoldur.
- Kendi Kendine Denetimli Öğrenme (Self-Supervised): Model, veri içindeki bir kısmı diğer kısımlardan tahmin etmeyi öğrenerek (örn. bir cümlenin eksik kelimesini tahmin etmek) etiketsiz veriden kendi denetim sinyalini üretir. Büyük dil modellerinin (LLM) ve modern görüntü modellerinin ön-eğitiminin (pre-training) temelini oluşturur — bkz. Derin Öğrenme Nedir?.
7. Bias-Variance Tradeoff
Bir modelin toplam tahmin hatası üç bileşene ayrıştırılabilir:
Bias (yanlılık): Modelin gerçek ilişkiyi ne kadar basitleştirdiği — çok basit bir model (örn. doğrusal), karmaşık gerçek ilişkiyi yakalayamaz (yüksek bias). Variance (varyans): Modelin farklı eğitim veri setlerine ne kadar duyarlı olduğu — çok karmaşık bir model, eğitim verisindeki gürültüyü bile "öğrenir" (yüksek variance).
8. Overfitting ve Underfitting
Aşırı öğrenme (overfitting), modelin eğitim verisini ezberlemesi ve yeni verilerde başarısız olmasıdır. Az öğrenme (underfitting) ise modelin veriyi yeterince kavrayamamasıdır — ayrıntılı ele alış için Overfitting ve Underfitting yazımıza bakabilirsiniz.
- Aşırı öğrenmeyi önlemek için: Regularization (L1/L2), dropout, erken durdurma (early stopping), daha fazla veri
- Az öğrenmeyi önlemek için: Daha karmaşık model, daha fazla/daha iyi özellik (feature) kullanmak
9. Özellik Mühendisliği (Feature Engineering)
Ham veriden modele yararlı girdiler türetme sürecidir. Gereksiz değişkenleri çıkarmak, eksik verileri doldurmak, kategorik değişkenleri kodlamak (one-hot encoding) bu sürecin parçasıdır. Genellikle model seçiminden daha fazla etkiye sahiptir — "kötü özelliklerle en iyi algoritma bile başarısız olur, iyi özelliklerle basit bir model bile başarılı olabilir" ilkesi literatürde sıkça vurgulanır.
10. Model Değerlendirme Metrikleri
| Problem Türü | Metrik | Ne Zaman Öncelikli |
|---|---|---|
| Sınıflandırma | Accuracy (Doğruluk) | Sınıflar dengeliyken genel performans |
| Precision (Kesinlik) | Yanlış pozitifin maliyetli olduğu durumlar (spam filtresi) | |
| Recall (Duyarlılık) | Yanlış negatifin maliyetli olduğu durumlar (hastalık teşhisi) | |
| F1-Skoru / ROC-AUC | Precision-recall dengesi veya dengesiz sınıflar | |
| Regresyon | RMSE (Root Mean Squared Error) | Büyük hataları orantısız cezalandırmak istendiğinde |
| MAE (Mean Absolute Error) | Aykırı değerlere karşı daha sağlam bir ölçüt istendiğinde |
11. Çapraz Doğrulama Yöntemleri
Modelin farklı veri bölümlerinde nasıl performans gösterdiğini ölçen tekniktir:
- k-Fold Cross-Validation: Veri k parçaya bölünür, model her seferinde farklı bir parçayı test seti olarak kullanarak k kez eğitilir; k=5 veya k=10 yaygındır.
- Stratified k-Fold: Her katmanda sınıf oranlarının korunmasını garanti eder — dengesiz sınıflarda standart k-fold'dan daha güvenilirdir.
- Leave-One-Out (LOOCV): Her seferinde tek bir gözlem test için ayrılır; çok küçük veri setlerinde kullanılır, hesaplama maliyeti yüksektir.
- Time Series Split: Zaman serisi verisinde, gelecekteki bilginin geçmişe "sızmasını" önlemek için katmanlar kronolojik sırayla oluşturulur — bkz. Zaman Serisi & ARIMA.
12. Makine Öğrenmesi vs Geleneksel İstatistik
Geleneksel istatistik açıklayıcı (explanatory) odaklıdır: değişkenler arası ilişkileri anlamaya ve bu ilişkinin güvenilirliğini (p-değeri, güven aralığı — bkz. Hipotez Testi Nedir?) test etmeye çalışır. Makine öğrenmesi ise tahmin (predictive) odaklıdır: yorumlanabilirlikten çok doğruluğu maksimize etmek önceliklidir.
🔷 İstatistiksel analiz, eğer…
- "X, Y'yi etkiliyor mu, ne kadar?" sorusu varsa
- Nedensellik/ilişki gücü raporlanacaksa
- Küçük örneklem, yüksek yorumlanabilirlik gerekiyorsa
🟩 Makine öğrenmesi, eğer…
- "Y'yi en doğru şekilde tahmin edebilir miyim?" sorusu varsa
- Çok sayıda değişken, karmaşık doğrusal olmayan ilişki varsa
- Yorumlanabilirlikten çok tahmin doğruluğu öncelikliyse
13. ML Proje İş Akışı: CRISP-DM
CRISP-DM (Cross-Industry Standard Process for Data Mining), veri madenciliği/makine öğrenmesi projeleri için endüstri standardı bir çerçevedir:
- İş Anlayışı (Business Understanding): Çözülecek problem ve başarı kriterleri netleştirilir.
- Veri Anlayışı (Data Understanding): Mevcut veri keşfedilir — bkz. Keşifsel Veri Analizi (EDA).
- Veri Hazırlama (Data Preparation): Temizleme, dönüştürme, özellik mühendisliği — bkz. Veri Temizleme Nasıl Yapılır?.
- Modelleme (Modeling): Algoritma seçimi ve eğitimi.
- Değerlendirme (Evaluation): Modelin iş hedefine ne kadar hizmet ettiği değerlendirilir — yalnızca teknik metrik değil, iş etkisi de ölçülür.
- Devreye Alma (Deployment): Model üretim ortamına entegre edilir ve izlenir.
Döngüsel süreç: CRISP-DM doğrusal değildir — değerlendirme aşamasında bulunan bir sorun, veri hazırlama veya hatta iş anlayışı aşamasına geri dönmeyi gerektirebilir.
14. Uygulama Alanları
- Finans: Kredi riski skorlaması, dolandırıcılık tespiti, hisse senedi tahmini
- Sağlık: Hastalık teşhisi, ilaç keşfi, hasta riski sınıflandırması
- Perakende: Müşteri segmentasyonu, ürün öneri sistemleri, talep tahmini
- Üretim: Arıza tahmini (predictive maintenance), kalite kontrol
- Pazarlama: Churn tahmini, kampanya optimizasyonu, duygu analizi
- Doğal Dil İşleme: Metin sınıflandırma, çeviri, özetleme — bkz. Doğal Dil İşleme (NLP)
15. Araçlar ve Ekosistem
- Python: En yaygın kullanılan dil. scikit-learn, TensorFlow, PyTorch, XGBoost kütüphaneleri
- R: İstatistiksel modelleme için güçlü. caret, randomForest, glmnet paketleri
- Jupyter Notebook: Analiz ve görselleştirme için standart ortam
- AutoML araçları: H2O, AutoSklearn — kod yazmadan model eğitimi
💡 Başlangıç için tavsiye: Python + scikit-learn kombinasyonu en iyi başlangıç noktasıdır. Temel sınıflandırma ve regresyon modellerini öğrendikten sonra derin öğrenme kütüphanelerine geçilebilir — bkz. Derin Öğrenme Nedir?.
16. Yaygın Hatalar
- Test setini birden fazla kez kullanmak: Test setine göre model/hiperparametre ayarlamak, tarafsız performans ölçümünü bozar (bkz. Bölüm 2).
- Veri sızıntısı (data leakage): Eğitim öncesi ölçekleme/imputation gibi işlemleri tüm veri üzerinde (train+test birlikte) yapmak, test setinden bilginin eğitime sızmasına yol açar.
- Yanlış metrik seçmek: Dengesiz sınıflarda yalnızca accuracy raporlamak yanıltıcıdır (bkz. Bölüm 10).
- Bias-variance dengesini göz ardı etmek: Yalnızca eğitim hatasına bakıp modeli "iyi" değerlendirmek — düşük eğitim hatası, yüksek variance/overfitting'i gizleyebilir.
- Özellik mühendisliğini atlayıp doğrudan karmaşık modele geçmek: İyi tasarlanmış özellikler, çoğu zaman algoritma seçiminden daha fazla performans farkı yaratır.
Kaynaklar
- Géron, A. (2022). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (3rd ed.). O'Reilly Media.
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
- James, G., Witten, D., Hastie, T., & Tibshirani, R. (2021). An Introduction to Statistical Learning (2nd ed.). Springer.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning (2nd ed.). Springer.
- Chapman, P. et al. (2000). CRISP-DM 1.0: Step-by-step data mining guide. SPSS Inc.
Makine Öğrenmesi Projeniz İçin Destek Alın
Python veya R ile model geliştirme, değerlendirme ve raporlama için profesyonel destek. 24-48 saat içinde teslim.
Hemen Sipariş Ver Teklif Al