Yapay ZekaMakine Öğrenmesi Nedir? Kapsamlı Pratik Rehber
Makine öğrenmesini sıfırdan anlamak için pratik rehber: üç türü, regresyon ve sinir ağları gibi temel algoritmalar, artı Python'da adım adım tam uygulamalı proje
Neler öğreneceksiniz?
- Makine öğrenmesini ve üç türünü anlayacaksınız: gözetimli, gözetimsiz ve pekiştirmeli
- Regresyon ve sinir ağları gibi temel algoritmaları pratik örneklerle öğreneceksiniz
- Python'da adım adım tam bir uygulamalı proje oluşturacaksınız
Makine Öğrenmesi Nedir?
Her gün dünya 2,5 kentilyon bayttan fazla veri üretiyor. Hiçbir insan bu hacmi analiz edemez — ama makine öğrenmesi bunu saniyeler içinde yapıyor. Kanseri doktorlardan daha doğru teşhis etmekten bankacılık dolandırıcılığını anlık tespit etmeye kadar, bu teknoloji oyunun kurallarını değiştiriyor.
Makine öğrenmesi (Machine Learning), yapay zekanın bir dalı olup bilgisayar sistemlerinin açık programlama olmaksızın deneyimden öğrenmesini ve gelişmesini sağlar. Sabit kurallar yazmak yerine programa veri veriyoruz ve kalıpları kendi başına keşfetmesine izin veriyoruz.
Yapay Zeka ile Makine Öğrenmesi Arasındaki Fark
Bu iki terim sıklıkla birbirinin yerine kullanılır, ancak farklıdırlar:
| Yapay Zeka (AI) | Makine Öğrenmesi (ML) | |
|---|---|---|
| Tanım | İnsan zekasını simüle etmeyi amaçlayan geniş alan | Veriden öğrenmeye odaklanan AI dalı |
| Kapsam | Robotik, NLP, bilgisayarlı görmeyi içerir | Algoritmalara ve istatistiksel modellere odaklanır |
| Yaklaşım | Sabit kurallara veya öğrenmeye dayalı olabilir | Her zaman veriye ve eğitime dayalıdır |
| Örnek | Önceden tanımlanmış kurallara sahip tıbbi uzman sistemi | Röntgen görüntülerinden hastalık teşhisi öğrenen model |
Basitçe söylemek gerekirse: tüm makine öğrenmesi yapay zekadır, ancak tüm yapay zeka makine öğrenmesi değildir.
Makine öğrenmesi sizden matematik dahisi olmanızı gerektirmez. Meraklı ve verilerle sabırlı olmanızı gerektirir.
Makine Öğrenmesi Türleri
Makine öğrenmesi, her biri farklı kullanım alanları ve metodolojilere sahip üç ana türe ayrılır.
Gözetimli Öğrenme (Supervised Learning)
En yaygın ve en çok kullanılan tür. Modele girdiler (Features) ve beklenen çıktılar (Labels) içeren eğitim verisi veriyoruz ve model aralarındaki ilişkiyi öğreniyor.
Pratik Örnek: Spam Filtresi
Normal ve spam e-postaları ayırt eden bir sistem kurmak istediğinizi düşünün:
- Önceden sınıflandırılmış binlerce mesaj topluyoruz (spam / spam değil)
- Her mesajdan özellikler çıkarıyoruz (anahtar kelimeler, gönderici, bağlantılar)
- Modeli bu verilerle eğitiyoruz
- Model spam'i karakterize eden kalıpları öğreniyor
- Yeni bir mesaj geldiğinde model otomatik sınıflandırıyor
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import TfidfVectorizer
# Eğitim verileri
emails = ["Hemen bir milyon dolar kazanın!", "Yarın saat 10'da takım toplantısı", ...]
labels = ["spam", "not_spam", ...]
# Özellik çıkarma ve model eğitimi
vectorizer = TfidfVectorizer(analyzer='word')
X = vectorizer.fit_transform(emails)
model = MultinomialNB()
model.fit(X, labels)
# Yeni bir e-postayı sınıflandır
new_email = ["Tebrikler! Büyük ödülü kazandınız"]
prediction = model.predict(vectorizer.transform(new_email))
print(prediction) # ['spam']
Gözetimsiz Öğrenme (Unsupervised Learning)
Bu türde modele önceden etiketlenmemiş veri veriyoruz ve gizli kalıpları ve grupları kendi başına keşfetmeye çalışıyor.
Pratik Örnek: Müşteri Segmentasyonu
Bir e-ticaret mağazanız olduğunu ve müşteri türlerinizi anlamak istediğinizi varsayalım:
- Satın alma verileri topluyorsunuz: harcanan tutar, satın alma sayısı, ziyaret sıklığı
- K-Means gibi bir kümeleme algoritması uyguluyorsunuz
- Model grupları keşfediyor: "VIP müşteriler", "mevsimsel alıcılar", "geçici ziyaretçiler"
- Her grup için hedefli pazarlama kampanyaları tasarlıyorsunuz
from sklearn.cluster import KMeans
import numpy as np
# Müşteri verileri: [harcanan tutar, satın alma sayısı]
customers = np.array([
[500, 20], [450, 18], [30, 2], [25, 1],
[200, 8], [180, 10], [600, 25], [20, 1]
])
# 3 küme ile K-Means uygula
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(customers)
print(kmeans.labels_)
# [0, 0, 2, 2, 1, 1, 0, 2]
# Grup 0: VIP müşteriler
# Grup 1: Orta müşteriler
# Grup 2: Yeni müşteriler
Pekiştirmeli Öğrenme (Reinforcement Learning)
Model çevreyle etkileşim kurarak ve ardışık kararlar alarak öğrenir. Doğru kararlar için ödüller ve hatalar için cezalar alır, zamanla kademeli olarak gelişir.
Pratik Örnek: Oyun Öğrenme
Google'ın AlphaGo programı Go oyununu nasıl öğrendi ve dünya şampiyonlarını yendi:
- Durum (State): Tahtanın mevcut konumu
- Eylem (Action): Belirli bir konuma taş yerleştirme
- Ödül (Reward): Kazanmada +1, kaybetmede -1
- Öğrenme: Kendine karşı milyonlarca oyun oynar ve stratejisini geliştirir
Bu tür aynı zamanda otonom araçlarda ve endüstriyel robotlarda da kullanılır.
Temel Makine Öğrenmesi Algoritmaları
Doğrusal Regresyon (Linear Regression)
En basit ML algoritması. Değişkenler arasındaki ilişkiyi temsil eden bir doğru çizgi bulur. Örneğin: bir evin fiyatını alanına göre tahmin etmek.
Fiyat = (Alan x Katsayı) + Sabit
Bir grafik üzerinde noktalar çizdiğinizi (yatay eksende ev alanı, dikey eksende fiyat), sonra tüm noktalara mümkün olduğunca yakın geçen bir çizgi çektiğinizi hayal edin. İşte doğrusal regresyon budur.
Ne zaman kullanılır? Değişkenler arasındaki ilişki doğrusal ve sürekli olduğunda (sayılar, kategoriler değil).
Karar Ağaçları (Decision Trees)
Bir dizi evet/hayır sorusu gibi çalışırlar. Bugün futbol oynayıp oynamayacağınıza karar verdiğinizi düşünün:
Hava güneşli mi?
├── Evet → Sıcaklık 40°'nin altında mı?
│ ├── Evet → Oyna!
│ └── Hayır → Evde kal
└── Hayır → Şiddetli yağmur var mı?
├── Evet → Evde kal
└── Hayır → Oyna!
Avantajları: Anlaması ve yorumlaması kolay, hem sayısal hem metin verileriyle çalışır. Ancak çok karmaşık olursa aşırı öğrenebilir (Overfitting).
Sinir Ağları (Neural Networks)
İnsan beyninin çalışma prensibinden ilham almıştır. Yapay nöronların katmanlarından oluşur:
- Giriş katmanı: Verileri alır (örn. bir görüntünün pikselleri)
- Gizli katmanlar: Verileri işler ve kalıpları çıkarır
- Çıkış katmanı: Sonucu üretir (örn. "kedi" veya "köpek")
Gizli katmanlar arttıkça modele derin öğrenme (Deep Learning) denir. Bu teknoloji ChatGPT ve görüntü tanıma sistemlerinin arkasındadır.
Makine Öğrenmesi Uygulama Alanları
1. Sağlık
- Röntgen ve MR görüntülerinden hastalık teşhisi
- Kronik hastalık riskleri tahmini
- Milyonlarca kimyasal bileşiğin analiziyle yeni ilaç keşfi
2. Finans
- Bankacılık dolandırıcılığını anlık tespit
- Hisse fiyatları tahmini ve risk analizi
- Borçlu kredi değerliliği değerlendirmesi
3. E-Ticaret
- Öneri sistemleri ("Bu ürünü satın alanlar ayrıca...")
- Arz ve talebe göre dinamik fiyatlandırma
- Müşteri yorumlarını analiz etme ve duygu çıkarma
4. Ulaşım
- Otonom araçlar (Tesla, Waymo)
- Teslimat rotalarını optimize etme ve yakıt tüketimini azaltma
- Trafik akışı ve yoğun saat tahmini
5. Doğal Dil İşleme
- Makine çevirisi (Google Translate)
- Akıllı asistanlar (ChatGPT, Claude, Gemini)
- Sosyal medya duygu analizi
6. Siber Güvenlik
- Siber saldırıları ve yeni tehditleri tespit etme
- Şüpheli aktiviteyi keşfetmek için kullanıcı davranışı analizi
- Spam ve kimlik avı e-postalarını filtreleme
Siber güvenlik hakkında daha fazla bilgi için siber güvenlik temelleri makalemizi okuyun.
Basit ML Projesi Oluşturma — Adım Adım
scikit-learn kütüphanesiyle ev fiyatlarını tahmin eden bir model oluşturacağız. Şu adımları takip edin:
Adım 1: Ortamı Hazırlama
# Gerekli kütüphaneleri yükleme
# pip install scikit-learn pandas numpy matplotlib
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, r2_score
Adım 2: Veriyi Yükleme ve Anlama
from sklearn.datasets import fetch_california_housing
# Kaliforniya ev fiyatları verisini yükle
data = fetch_california_housing()
df = pd.DataFrame(data.data, columns=data.feature_names)
df['Price'] = data.target
# İlk 5 satırı göster
print(df.head())
print(f"\nKayıt sayısı: {len(df)}")
print(f"Özellikler: {list(df.columns)}")
Adım 3: Veriyi Bölme
# Özellikler (girdiler)
X = df.drop('Price', axis=1)
# Hedef (çıktı)
y = df['Price']
# Bölme: %80 eğitim, %20 test
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
print(f"Eğitim verisi: {len(X_train)}")
print(f"Test verisi: {len(X_test)}")
Adım 4: Modeli Eğitme
# Doğrusal regresyon modelini oluştur ve eğit
model = LinearRegression()
model.fit(X_train, y_train)
print("Model başarıyla eğitildi!")
Adım 5: Modeli Değerlendirme
# Test verileri üzerinde tahmin yap
predictions = model.predict(X_test)
# Model doğruluğunu hesapla
mae = mean_absolute_error(y_test, predictions)
r2 = r2_score(y_test, predictions)
print(f"Ortalama Mutlak Hata: ${mae * 100000:.0f}")
print(f"R² Skoru: {r2:.3f}")
# R² 1'e yakınsa iyi bir model demektir
Adım 6: Modeli Tahmin İçin Kullanma
# Yeni bir evin fiyatını tahmin et
new_house = np.array([[8.3, 41, 6.9, 1.02, 322, 2.5, 37.88, -122.23]])
predicted_price = model.predict(new_house)
print(f"Tahmini fiyat: ${predicted_price[0] * 100000:.0f}")
Bu basitleştirilmiş bir projedir. Gerçek projelerde veri temizleme, eksik değerleri işleme ve en iyi sonuçları elde etmek için birden fazla algoritmayı denemeniz gerekecektir.
Makine Öğrenmesi İçin Kaynaklar
Ücretsiz Kurslar
- Machine Learning by Andrew Ng (Coursera) — Dünya çapında en ünlü kurs, temelleri mükemmel açıklar
- Fast.ai — Yukarıdan aşağıya pratik öğrenme, gerçek projeler inşa ederek başlarsınız
- Google Machine Learning Crash Course — İnteraktif alıştırmalarla Google'ın yoğun kursu
Önerilen Kitaplar
- Hands-On Machine Learning (Aurelien Geron) — Pratik uygulama için en iyisi
- Pattern Recognition and Machine Learning (Christopher Bishop) — Teorik temeller için
- The Hundred-Page Machine Learning Book (Andriy Burkov) — Kapsamlı ve özlü bir özet
Pratik Eğitim Platformları
- Kaggle — Yarışmalar, gerçek veri setleri ve aktif topluluk
- Google Colab — Tarayıcıda GPU ile ücretsiz Python ortamı
- Hugging Face — Doğrudan kullanıma hazır önceden eğitilmiş modeller
Yapay zeka bir kariyer yolu olarak ilginizi çekiyorsa, nasıl başlayacağınızı öğrenmek için teknik kariyer rehberine göz atın.
Öğrenmenin en iyi yolu: Python + scikit-learn + Kaggle veri seti + Google Colab (ücretsiz) = ilk makine öğrenmesi modelinizi oluşturmak için ihtiyacınız olan her şey.
ML öğrenmek için güçlü bir matematik altyapısı gerekiyor mu?
İstatistik ve lineer cebir hakkında temel bir anlayışa ihtiyacınız var. Matematikçi olmanız gerekmiyor — scikit-learn gibi kütüphaneler matematiksel detayları sizin yerinize hallediyor. Ancak temelleri anlamak, doğru algoritmayı seçmenize ve sonuçları yorumlamanıza yardımcı olur.
Makine öğrenmesi için en iyi programlama dili hangisi?
Python, tartışmasız. En büyük kütüphane ekosistemine (scikit-learn, TensorFlow, PyTorch), devasa bir topluluğa ve bol öğrenme kaynağına sahip. R istatistik için iyi bir seçenek, ancak Python daha çok yönlü.
Makine öğrenmesi ile derin öğrenme arasındaki fark nedir?
Derin öğrenme (Deep Learning), çok katmanlı sinir ağları kullanan makine öğrenmesinin bir alt kümesidir. Makine öğrenmesi daha geniştir ve doğrusal regresyon ile karar ağaçları gibi daha basit algoritmaları içerir. Derin öğrenme, görüntü ve konuşma tanıma gibi karmaşık görevlerde üstündür.
ML öğrenmek ne kadar sürer?
Düzenli çalışmayla (günde bir saat), 3-4 ay içinde temelleri anlayabilir ve basit projeler oluşturabilirsiniz. Ustalık ve uzmanlaşma, bir yıl veya daha fazla sürekli pratik ve gerçek projeler üzerinde çalışma gerektirir.
Programlama deneyimi olmadan ML öğrenilebilir mi?
Önce Python temellerini öğrenmeniz daha iyi olur (birkaç hafta yeterli). Google AutoML gibi kodsuz araçlar var, ancak sınırlılar. Programlama size esneklik ve daha derin anlayış sağlar.
Başlamak için en iyi ilk ML projesi nedir?
Basit sınıflandırma projeleriyle başlayın: Iris çiçeği sınıflandırması, ev fiyatı tahmini (yukarıda yaptığımız gibi) veya el yazısı rakam sınıflandırması (MNIST). Bunlar bol miktarda öğretici bulunan klasik projelerdir.
Sonuç
Makine öğrenmesi geçici bir trend değil — tıptan finansa, eğlenceye kadar her sektörü yeniden şekillendiriyor. İyi haber: başlamak düşündüğünüzden daha kolay — Python, scikit-learn kütüphanesi ve Kaggle'dan bir veri seti — ilk modelinizi oluşturmak için ihtiyacınız olan tek şey bu.
Üç türü anlayarak başlayın (gözetimli, gözetimsiz, pekiştirmeli), yukarıdaki uygulamalı projeyi deneyin, ardından kademeli olarak daha karmaşık projelere geçin. Ve unutmayın: öğrenmenin en iyi yolu pratik yapmaktır.
Yapay zeka ve araçları hakkında daha fazla makale için prompt mühendisliği ve ChatGPT'yi etkili kullanma makalemizi okuyun.
المصادر والمراجع
Yapay Zeka Bölümü — AI Darsi
Yapay zeka ve makine öğrenimi uzmanları
İlgili Makaleler

Python Neden Yapay Zeka İçin En İyi Programlama Dili?
Python'un yapay zeka projelerinin %80'inden fazlasına neden hakim olduğunu, TensorFlow ve PyTorch gibi temel kütüphaneleri ve pratik örnekleri keşfedin.

2026'da Yapay Zeka ve SEO ile Google'da 1 Numara Olmak
2026'da SEO için yapay zekayı nasıl kullanacağınızı öğrenin. Google Arama ve AI Overviews'da üst sıralara çıkmak için araçlar, stratejiler ve pratik teknikler.

2026'da Öğrenciler İçin En İyi 9 Yapay Zeka Uygulaması
2026'da öğrenciler için en iyi 9 ücretsiz AI uygulamasını keşfedin — ders çalışma, araştırma, yazma ve kodlama için pratik ipuçlarıyla.