
Netflix bir film önerdiğinde, Gmail bir e-postayı spam olarak işaretlediğinde ya da akıllı telefonunuz yüzünüzü tanıdığında arka planda aynı teknoloji çalışıyor: makine öğrenmesi. Bu teknoloji son on yılda yazılım dünyasını kökten değiştirdi. Ama “makine öğrenmesi nedir?” sorusuna verilen cevaplar çoğu zaman ya çok teknik ya da çok belirsiz kalıyor.
Bu rehberde makine öğrenmesinin ne olduğunu, nasıl çalıştığını, kaç türü bulunduğunu ve hangi algoritmaların hangi problemlerde kullanıldığını somut örneklerle açıklıyoruz. Derin öğrenme ve modern AI sistemleriyle bağlantısına da yer veriyoruz.
Makine Öğrenmesi Nedir?
Makine öğrenmesi (İngilizce: machine learning, kısaca ML), bilgisayar sistemlerinin açık programlama kuralları yazılmadan veriden öğrenmesini sağlayan yapay zeka alt dalıdır.
Geleneksel programlamada geliştirici her adımı açıkça tanımlar. “E-posta şu kelimeleri içeriyorsa spam olarak işaretle” gibi kurallar kodla ifade edilir. Kurallar değiştiğinde kodu güncellemek gerekir.
Makine öğrenmesinde ise farklı bir yaklaşım izlenir. Geliştiricinin “spam e-postaların şu özellikleri taşıdığını” elle kodlaması yerine, modele binlerce spam ve spam olmayan e-posta gösterilir. Model bu verilerden örüntüler çıkarır ve yeni e-postaları sınıflandırmayı kendisi öğrenir. Kuralları insan yazmaz; model veriden çıkarır.
Bu yaklaşımın gücü skalabilitede yatıyor. İnsan beyninin tarif edemeyeceği kadar karmaşık örüntüleri büyük veri kümelerinden otomatik olarak öğrenebilir.
Makine Öğrenmesi, Yapay Zeka ve Derin Öğrenme Farkı
Bu üç kavram sıkça birbirinin yerine kullanılıyor, oysa aralarında hiyerarşik bir ilişki var:
- Yapay Zeka (AI): En geniş kavram. İnsan benzeri akıl yürütme, problem çözme veya öğrenme yeteneğine sahip her türlü makine sistemi.
- Makine Öğrenmesi (ML): AI’nin alt dalı. Veriden öğrenerek tahmin yapan sistemler.
- Derin Öğrenme (Deep Learning): ML’nin alt dalı. Çok katmanlı yapay sinir ağlarını kullanan yaklaşım.
Tüm derin öğrenme modelleri makine öğrenmesi kullanır; ama tüm makine öğrenmesi modelleri derin öğrenme değildir. Random forest veya SVM, derin öğrenme içermeyen klasik makine öğrenmesi algoritmalarıdır.
Makine Öğrenmesi Nasıl Çalışır?
Makine öğrenmesinin temel döngüsü üç adımdan oluşur.
1. Veri: Model her şeyi veriden öğrenir. Veri kalitesi ve miktarı doğrudan model performansını belirler. “Garbage in, garbage out” ilkesi burada tam anlamıyla geçerli.
2. Eğitim: Algoritma veriye uygulanır. Model, tahminlerini gerçek çıktılarla karşılaştırır ve hatalarını minimize etmek için iç parametrelerini (ağırlıkları) günceller. Bu süreç genellikle bir kayıp fonksiyonu (loss function) minimize edilerek yürütülür.
3. Tahmin (Inference): Eğitilmiş model yeni, daha önce görmediği veriler üzerinde tahmin üretir. Modelin gerçek değeri burada ortaya çıkar.
Eğitim sürecinde dikkat edilmesi gereken iki kritik kavram var:
Aşırı öğrenme (Overfitting): Model eğitim verisini ezberler ama yeni verilere genelleme yapamaz. Sınav soruları ezberleyen ama konuyu anlamayan öğrenci gibi.
Yetersiz öğrenme (Underfitting): Model ne eğitim verisini ne de yeni verileri doğru tahmin edemez. Çok basit model veya yetersiz eğitim bu duruma yol açar.
Makine Öğrenmesinin Türleri
Makine öğrenmesi üç ana kategoride incelenir. Bu kategoriler, modelin eğitim sırasında ne tür veriler kullandığına ve hangi tür geri bildirim aldığına göre ayrışır.
1. Denetimli Öğrenme (Supervised Learning)
Supervised learning, etiketli veri kullanarak öğrenen en yaygın makine öğrenmesi yaklaşımıdır. Her eğitim örneği bir girdi (özellikler) ve doğru cevabı gösteren bir etiketten (çıktı) oluşur.
Model, girdiden çıktıya doğru bir eşleme fonksiyonu öğrenmeye çalışır. “Öğretmenli öğrenme” olarak da adlandırılabilir; çünkü her örnekte doğru cevap zaten verilmiş.
İki temel problem türü:
Sınıflandırma (Classification): Girdiyi belirli kategorilerden birine atamak. E-posta spam/spam değil, tümör iyi huylu/kötü huylu, hisse senedi yükselir/düşer gibi.
Regresyon (Regression): Sürekli bir sayısal değer tahmin etmek. Ev fiyatı, hava sıcaklığı, müşteri yaşam boyu değeri gibi.
Yaygın kullanım alanları:
- Görüntü sınıflandırma (X-ray’de hastalık tespiti)
- Doğal dil işleme (duygu analizi, çeviri)
- Müşteri kaybı tahmini (churn prediction)
- Kredi riski değerlendirmesi
2. Denetimsiz Öğrenme (Unsupervised Learning)
Unsupervised learning, etiket içermeyen ham verilerden örüntü ve yapı bulan yaklaşımdır. Model “doğru cevap” olmadan çalışır; veri içindeki doğal grupları veya ilişkileri keşfeder.
Üç temel görev türü:
Kümeleme (Clustering): Benzer örnekleri gruplamak. Müşteri segmentasyonu, belge kümeleme, anomali tespiti gibi. K-means, DBSCAN, hierarchical clustering yaygın algoritmalardır.
Boyut azaltma (Dimensionality Reduction): Veri kümesindeki özellik sayısını azaltmak, veriyi daha az boyutta temsil etmek. PCA (Principal Component Analysis), t-SNE, UMAP bu alandaki öne çıkan yöntemler.
Üretken modeller: Verinin dağılımını öğrenerek yeni örnekler oluşturmak. Autoencoder’lar ve GAN’lar bu kategoriye girer.
Yaygın kullanım alanları:
- Müşteri segmentasyonu
- Pazarlama kanalı analizi
- Anomali/dolandırıcılık tespiti
- Veri görselleştirme
3. Pekiştirmeli Öğrenme (Reinforcement Learning)
Reinforcement learning, bir ajanın çevre ile etkileşerek ödül sinyallerinden öğrendiği paradigmadır. Oyun oynamayı, robot kontrolünü ve strateji geliştirmeyi öğrenen sistemler bu yaklaşımla geliştirilir.
Temel bileşenler:
- Ajan (Agent): Kararları alan sistem
- Çevre (Environment): Ajanın içinde hareket ettiği dünya
- Durum (State): Çevrenin mevcut durumu
- Eylem (Action): Ajanın alabileceği kararlar
- Ödül (Reward): Eylemin değerini gösteren sinyal
Model, birikimli ödülü maksimize eden politikayı bulmaya çalışır. Bir oyun oynamayı öğrenen çocuk gibi: hangi hamleler kazandırıyor, hangileri kaybettiriyor?
Yaygın kullanım alanları:
- Oyun yapay zekası (AlphaGo, AlphaZero, OpenAI Five)
- Robot kontrolü
- Otomatik ticaret sistemleri
- Öneri sistemleri
Bir de dördüncü kategori var, daha az anılsa da giderek önem kazanıyor:
Yarı denetimli öğrenme (Semi-supervised learning): Az sayıda etiketli veri ile büyük miktarda etiketsiz veriyi birlikte kullanan hibrit yaklaşım. Etiketleme maliyetli veya zaman alıcı olduğunda tercih edilir.
Klasik Makine Öğrenmesi Algoritmaları
Modern derin öğrenme modellerinin popülerliğine rağmen klasik ML algoritmaları üretim ortamlarında hâlâ aktif biçimde kullanılıyor. Yorumlanabilirlik, hesaplama verimliliği ve küçük veri setlerinde performans bu tercihin arkasındaki nedenler.
Karar Ağaçları (Decision Trees)
Karar ağaçları, veriyi bir dizi if-else sorusuyla bölen hiyerarşik modellerdir. “Yaş 30’dan büyük mü? Evet → Gelir 50K’dan fazla mı? Hayır → …” şeklinde dal dal ilerler.
Yorumlanabilirliği yüksektir: modelin hangi kurala dayanarak karar verdiğini görsel olarak takip edebilirsiniz. Ancak eğitim verisine aşırı uyum sağlama (overfitting) eğiliminde olduklarından tek başına güçlü değiller.
Random Forest
Random forest, çok sayıda karar ağacını bir arada kullanan topluluk öğrenme (ensemble learning) algoritmasıdır. Her ağaç hem farklı bir veri alt kümesiyle (bootstrap sampling) hem de farklı özellik alt kümeleriyle eğitilir. Sonuçta tüm ağaçların kararlarının ortalaması (regresyon) veya çoğunluk oyu (sınıflandırma) alınır.
Random forest’ın güçlü yanları:
- Tek karar ağacına kıyasla çok daha yüksek doğruluk
- Aşırı öğrenmeye karşı doğal direnç
- Eksik veri ve yüksek boyutlu özellikler ile iyi başa çıkma
- Özellik önem skoru üretme (hangi özellik ne kadar etkili?)
Kaggle yarışmalarında gradient boosting ile birlikte en sık galip gelen algoritma olarak Random Forest yıllarca öne çıktı.
Destek Vektör Makineleri (SVM)
Support Vector Machine (SVM), iki sınıf arasındaki en geniş boşluğu (margin) maksimize eden sınır (hyperplane) bulmaya çalışan algoritmadır.
Geometrik sezgi: iki nokta bulutu arasına çizebileceğiniz en geniş boşluklu düzlemi bulmak. Sınıra en yakın noktalar “support vector” adını alır ve sınırı belirler.
Kernel trick: SVM’nin en güçlü özelliği. Doğrusal olarak ayrılamayan veriler için, kernel fonksiyonları kullanarak veriyi daha yüksek boyutlu bir uzaya taşıyabilir ve orada doğrusal ayrım yapar. RBF (Radial Basis Function), polynomial kernel en yaygın seçenekler.
SVM küçük ve orta ölçekli veri setlerinde, yüksek boyutlu uzaylarda (metin sınıflandırma gibi) ve net sınıf ayrımı olan problemlerde iyi sonuç verir.
Gradient Boosting (XGBoost, LightGBM)
Gradient boosting, zayıf öğrenicileri (genellikle sığ karar ağaçları) sıralı biçimde birleştiren güçlü bir topluluk algoritmasıdır. Her yeni ağaç, önceki ağaçların hatalarını düzeltmeye odaklanır.
XGBoost ve LightGBM bu yaklaşımın optimize edilmiş uygulamalarıdır. Yapısal veri (tablolu veri) problemlerinde derin öğrenmeye kıyasla genellikle daha hızlı eğitim ve daha yüksek doğruluk sunarlar.
Bankacılık, sigortacılık ve reklamcılıkta tahmin modellerinin omurgasını bu algoritmalar oluşturuyor.
K-En Yakın Komşu (K-NN)
K-Nearest Neighbors, yeni bir örneği sınıflandırmak için eğitim setindeki en yakın K komşusuna bakan sezgisel bir algoritmadır. “Bu müşteri segmentine en çok kim benziyor?” sorusunu en yakın komşular üzerinden cevaplar.
Parametresiz (non-parametric) ve yorumlanabilir, ancak büyük veri setlerinde yavaş ve bellek yoğun.
Naive Bayes
Bayes teoremi temelinde çalışan olasılıksal sınıflandırıcı. Her özelliğin bağımsız olduğunu varsayar (bu varsayım çoğu zaman gerçekçi değildir, dolayısıyla “naive”). Metin sınıflandırma ve spam filtresi gibi uygulamalarda hızı ve basitliği sayesinde hâlâ popüler.
Temel Algoritmalar: Lineer ve Lojistik Regresyon
Makine öğrenmesine giriş yapan herkesin ilk karşılaştığı iki algoritma lineer ve lojistik regresyondur. Basit görünümlerine rağmen gerçek dünya uygulamalarında güçlü temel oluştururlar.
Lineer Regresyon
Lineer regresyon, bağımsız değişken(ler) ile sürekli bir bağımlı değişken arasındaki doğrusal ilişkiyi modeller. Ev fiyatını tahmin etmek istiyorsanız: metrekare, oda sayısı ve konum gibi özelliklerle fiyat arasındaki ağırlıklı doğrusal ilişkiyi öğrenir.
Fiyat = β₀ + β₁ × metrekare + β₂ × oda_sayısı + β₃ × konum_skoru + ε
Modelin amacı gerçek değerler ile tahminler arasındaki hata karesini (MSE — Mean Squared Error) minimize eden β katsayılarını bulmak. Eğitim süreci genellikle gradient descent veya analitik çözümle yürütülür.
Yorumlanabilirlik avantajı büyük: her katsayı, o özelliğin fiyata doğrudan etkisini gösterir. Düzenlilik (regularization) eklendiğinde Ridge (L2) veya Lasso (L1) regresyona dönüşür.
Lojistik Regresyon
İsminde “regresyon” geçse de lojistik regresyon aslında bir sınıflandırma algoritmasıdır. Çıktı sürekli bir sayı değil, bir olasılık değeridir (0 ile 1 arasında). Sigmoid fonksiyonu lineer kombinasyonu bu aralığa sıkıştırır.
E-posta spam mı değil mi? Müşteri ayrılacak mı kalmayacak mı? Kredi onaylanacak mı reddedilecek mi? Lojistik regresyon bu ikili sınıflandırma problemleri için sezgisel ve yorumlanabilir bir araç.
Çok sınıflı problemlerde Softmax fonksiyonuyla genelleştirilerek multinomial lojistik regresyona dönüşür.
Model Değerlendirme Metrikleri
Bir makine öğrenmesi modelini değerlendirirken tek bir metriğe güvenmek yanıltıcı olabilir. Farklı problemler farklı metrikler gerektirir.
Sınıflandırma Metrikleri
Accuracy (Doğruluk): Doğru tahmin edilen örneklerin toplam örnek sayısına oranı. Dengeli veri setlerinde sezgisel; ama dengesiz sınıflarda yanıltıcı. Kanser tespiti veri setinde %99 örnek sağlıklıysa, her şeyi “sağlıklı” tahmin eden model %99 accuracy alır. Bu anlamsız.
Precision (Kesinlik): Pozitif tahmin edilenlerin gerçekten pozitif olan oranı. “Model pozitif dediğinde ne kadar haklı?”
Recall (Duyarlılık/Sensitivity): Gerçekten pozitif olanların ne kadarının pozitif tahmin edildiği. “Gerçek pozitifler kaçırılmadan yakalandı mı?”
F1 Skoru: Precision ve Recall’un harmonik ortalaması. Dengeli bir metrik.
AUC-ROC: Modelin sınıflandırma performansını eşik bağımsız değerlendiren alan altı eğri. 0.5 rastgele tahmin; 1.0 mükemmel sınıflandırma.
Regresyon Metrikleri
MAE (Mean Absolute Error): Ortalama mutlak hata. Yorumlanması kolay, aykırı değerlere daha az duyarlı.
MSE (Mean Squared Error): Ortalama kare hata. Büyük hataları daha fazla cezalandırır.
RMSE (Root MSE): MSE’nin karekökü. Orijinal birim cinsinden hata.
R²: Modelin veri varyansını ne kadar açıkladığını gösteren katsayı (0-1 arası).
Cross-Validation
Modeli yalnızca tek bir test seti üzerinde değerlendirmek şansa bağlı sonuçlar verebilir. K-fold cross-validation bu problemi çözer: veri K parçaya bölünür, model K kez eğitilir ve her seferinde farklı bir parça test için ayrılır. Ortalama performans daha güvenilir bir tahmin verir.
Özellikle küçük veri setlerinde cross-validation standart pratik.
Makine Öğrenmesi ve Derin Öğrenme: Fark Ne Zaman Önemli?
Klasik makine öğrenmesi algoritmaları yapılandırılmış (tablolu) veriler, küçük-orta veri setleri ve yorumlanabilirliğin kritik olduğu durumlarda güçlü kalıyor.
Derin öğrenme ise şu koşullarda devreye giriyor:
| Durum | Tercih |
|---|---|
| Görüntü, ses, metin gibi ham veri | Derin öğrenme |
| Tablolu, yapılandırılmış veri | Klasik ML (XGBoost, RF) |
| Büyük veri (milyonlarca örnek) | Derin öğrenme |
| Küçük veri (<10K örnek) | Klasik ML |
| Yorumlanabilirlik gereksinimi | Klasik ML veya açıklanabilir AI |
| Sınırsız hesaplama bütçesi | Derin öğrenme |
“Her problem için derin öğrenme” yaklaşımı aslında pratikte işe yaramaz. Finansal tahmin, müşteri segmentasyonu ve klinik karar destek gibi uygulamalarda klasik algoritmalar hâlâ baskın.
Makine Öğrenmesi İş Akışı
Gerçek bir ML projesi nasıl ilerler? Standart adımlar:
1. Problem tanımı: Neyi tahmin etmek veya optimize etmek istiyoruz? Hangi başarı metrikleri kullanacağız?
2. Veri toplama ve keşifsel analiz (EDA): Veri nereden geliyor, nasıl görünüyor, eksik değerler veya anomaliler var mı?
3. Özellik mühendisliği (Feature Engineering): Ham veriden model için anlamlı özellikler türetmek. Klasik ML’de model performansının en kritik belirleyicisi çoğunlukla bu adımdır.
4. Model seçimi ve eğitimi: Probleme uygun algoritmaları seçip eğitmek. Birden fazla algoritma deneyip karşılaştırmak yaygın pratik.
5. Değerlendirme: Accuracy, precision, recall, F1-score, AUC-ROC gibi metriklerle modeli ölçmek. Test seti ayrımı burada kritik; model eğitim verisini görmemiş test verisiyle değerlendirilmeli.
6. Hiperparametre optimizasyonu: Model parametrelerini ince ayarlamak (Grid Search, Random Search, Bayesian Optimization).
7. Dağıtım (Deployment): Modeli üretime almak. REST API, batch prediction, edge deployment gibi seçenekler var.
8. İzleme (Monitoring): Üretim ortamında model performansını takip etmek. Veri kayması (data drift), konsept kayması (concept drift) modeli zamanla bozabilir.
Python ile Makine Öğrenmesi: Ekosistem
Python, ML için fiili standart haline geldi. Temel kütüphaneler:
- scikit-learn: Klasik ML algoritmaları için kapsamlı kütüphane. Random forest, SVM, K-NN, preprocessing araçları hepsi burada.
- pandas: Veri manipülasyonu ve analizi.
- NumPy: Sayısal hesaplama temeli.
- Matplotlib / Seaborn: Veri görselleştirme.
- XGBoost / LightGBM: Yüksek performanslı gradient boosting kütüphaneleri.
- PyTorch / TensorFlow: Derin öğrenme için.
Scikit-learn’ün güzelliği tutarlı API’si: tüm modeller fit(), predict() ve score() metodlarına sahip. Bir algoritmadan diğerine geçmek tek satır kod değişikliği anlamına geliyor.
Makine Öğrenmesi Nerede Kullanılıyor?
Makine öğrenmesi bugün neredeyse her sektöre sızmış durumda:
Sağlık: Tıbbi görüntü analizi (röntgen, MRI), hastalık erken teşhisi, ilaç keşfi, hasta risk tahmini.
Finans: Kredi risk değerlendirmesi, dolandırıcılık tespiti, algoritmik ticaret, müşteri kaybı tahmini.
Perakende ve e-ticaret: Ürün öneri sistemleri, fiyat optimizasyonu, talep tahmini, stok yönetimi.
Ulaşım: Özerk araçlar, trafik tahminleme, rota optimizasyonu.
Üretim: Kalite kontrol (bilgisayarlı görü ile), prediktif bakım, üretim verimliliği optimizasyonu.
Medya ve eğlence: İçerik önerisi (Netflix, YouTube, Spotify), reklam hedefleme, içerik moderasyonu.
Doğal Dil İşleme (NLP): Çeviri, duygu analizi, metin özetleme, arama motoru sıralaması, ChatGPT gibi büyük dil modelleri.
2026’da Makine Öğrenmesi: Mevcut Durum
2026 itibarıyla makine öğrenmesi alanındaki en önemli trendler:
AutoML: Özellik mühendisliği, model seçimi ve hiperparametre optimizasyonunu otomatikleştiren araçlar. Google AutoML, H2O.ai, AutoGluon öne çıkan örnekler.
MLOps: ML modellerini geliştirme, dağıtma ve izleme süreçlerini sistematize eden pratikler bütünü. DevOps’un ML dünyasındaki karşılığı.
Federated Learning: Veriyi merkezi bir yere toplamadan, cihazlar üzerinde modeli dağıtık biçimde eğitme. Gizlilik gerektiren sağlık ve finans uygulamaları için önemli.
Küçük ama güçlü modeller: Milyarlarca parametreli dev modeller yerine, belirli görevlerde uzmanlaşmış verimli küçük modellerin yükselişi. Knowledge distillation ve ince ayar burada kritik rol oynuyor.
Açıklanabilir AI (XAI): Modelin kararlarını yorumlanabilir hale getiren teknikler. SHAP, LIME gibi araçlar üretim ortamlarında standart haline geliyor.
Makine Öğrenmesini Öğrenmek İçin Nereden Başlamalı?
Makine öğrenmesine giriş için pratik bir yol haritası:
- Python temelleri: Pandas, NumPy, Matplotlib
- İstatistik ve olasılık: Dağılımlar, hipotez testleri, korelasyon
- Scikit-learn ile klasik algoritmalar: Lineer regresyon → karar ağaçları → random forest
- Kaggle üzerinde pratik: Gerçek veri setleriyle problem çözmek
- Derin öğrenmeye giriş: PyTorch veya TensorFlow
Andrew Ng’in Coursera’daki “Machine Learning Specialization” kursu ve fast.ai’ın pratik odaklı içerikleri başlangıç için güçlü kaynaklar.
Sonuç
Makine öğrenmesi, açık kural yazmak yerine veriden öğrenerek tahmin ve karar üreten sistemler bütünüdür. Supervised, unsupervised ve reinforcement learning olmak üzere üç ana paradigma, problem türüne göre farklı araçlar sunar. Random forest ve SVM gibi klasik algoritmalar tablolu veri problemlerinde güçlü kalırken, derin öğrenme görüntü, ses ve metin gibi ham veri problemlerinde baskın hale geldi.
Teknoloji hızla gelişiyor. AutoML araçları giriş eşiğini düşürürken, MLOps pratikleri endüstriyel uygulamaları olgunlaştırıyor. Temel kavramları anlamak, bu alanda üretken olmak için hâlâ en sağlam zemin.