Makine Öğrenmesi Nedir?

Bir sistemin kurallardan değil örneklerden nasıl öğrendiğini öğren.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Makine öğrenmesi, bir bilgisayarın her kuralı tek tek yazmak yerine birçok örneğe bakarak kalıpları kendisinin bulmasıdır.

Üretilecek kanıt

Bilgisayar gerekmez; kalem kâğıt yeter. Bir kutuya 8 tane küçük etiketli örnek yaz. Her örnek bir hayvan olsun ve iki bilgi taşısın: yaklaşık ağırlığı ve etiketi (“kedi” veya “köpek”). Şimdi kod gibi düşün: kedilerin ortalama ağırlığını ve köpeklerin ortalama ağırlığını hesapla. Arkadaşından yeni bir ağırlık söylemesini iste (örneğin 6 kg). Bu ağırlık hangi…

Kontrol tuzağı

Makine öğrenmesini programlamayla karıştırmak Programlamada kuralı sen yazarsın. Makine öğrenmesinde örnekleri verirsin, kalıbı makine çıkarır. Her problem makine öğrenmesi gerektirmez; kuralı kolayca yazabildiğin yerde düz kod daha iyidir. “Doğru cevabı biliyor” sanmak Makine öğrenmesi kesin bilgi değil, tahmin…

Sonraki bağlantı

Eğitim Verisi ve Test Verisi: Bir makine öğrenmesi sistemini örneklerle nasıl öğretiriz ve öğrenip öğrenmediğini nasıl adil şekilde sınarız.

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre30–45 dk
Ön koşulYapay Zekâ Nedir?
İçerikStandart ders · 1.498 kelime
Son güncelleme

Bir cümlelik özet

Makine öğrenmesi, bir bilgisayarın her kuralı tek tek yazmak yerine birçok örneğe bakarak kalıpları kendisinin bulmasıdır.

Neden önemli?

Bir önceki derste yapay zekânın veriden kalıp bulan bir araç olduğunu, sihir olmadığını konuşmuştuk. Peki bu kalıpları nasıl buluyor? İşte bunun en yaygın yolu makine öğrenmesidir (İngilizcesi: machine learning).

Bunu anlamak önemli, çünkü çevrende gördüğün pek çok sistem bu fikirle çalışır: fotoğraflardaki yüzleri çerçeveleyen kamera, gelen kutunda spam iletileri ayıran e-posta uygulaması, sesini yazıya çeviren asistan. Bunların hiçbiri “akıllı” olduğu için çalışmaz. Hepsi çok sayıda örnekten kalıp öğrendiği için çalışır.

Bir başka önemli nokta: bu sistemler öğrendikleri örnekler kadar iyidir. Örnekler eksik veya yanlıysa sonuç da yanlış olur. Bu yüzden makine öğrenmesinin nasıl çalıştığını bilmek, ona ne zaman güvenip ne zaman kontrol edeceğimizi anlamamıza yardım eder.

Kural yazmak ile örnekten öğrenmek

Önce: kuralı biz yazarız

Kodlama modüllerinde yaptığımız işin çoğu buydu. Bir problemi çözmek için adımları ve kuralları biz düşünüp yazdık. Örneğin bir sayının tek mi çift mi olduğunu bulmak kolaydır, çünkü kuralı biliyoruz:

Eğer sayı 2'ye tam bölünüyorsa
  "çift" de
Değilse
  "tek" de

Bu tür problemlerde makine öğrenmesine ihtiyacımız yok. Kural nettir, biz yazarız, bilgisayar uygular.

Sorun: bazı kurallar yazılamaz

Şimdi şunu dene: bir kediyi köpekten ayıran kuralı kelimelerle yaz. “Kedinin bıyığı vardır” dersen köpeğin de bıyığı vardır. “Kedi küçüktür” dersen bazı köpekler kediden küçüktür. Kulak şekli, tüy, kuyruk… her kuralın bir istisnası çıkar.

Bir fotoğrafta kedi olup olmadığını anlamak senin için çok kolaydır, ama bunu yaparken kullandığın kuralı adım adım yazamazsın. İşte tam burada yaklaşımı değiştiririz.

Sonra: örnekleri veririz, kuralı makine bulur

Makine öğrenmesinde kuralı tek tek yazmayız. Bunun yerine bilgisayara çok sayıda örnek gösteririz ve “bunların ortak kalıbını sen bul” deriz.

Kedi–köpek örneğinde bu şöyle olur: bilgisayara binlerce fotoğraf gösteririz ve her fotoğrafın altına doğru cevabı yazarız — “bu kedi”, “bu köpek”, “bu kedi”… Bilgisayar bu örneklere bakarak, kedi fotoğraflarında sık görünen kalıpları yavaş yavaş yakalar. Sonra hiç görmediği yeni bir fotoğraf geldiğinde, öğrendiği kalıba göre bir tahmin yapar.

Buradaki kelimeye dikkat: tahmin. Makine öğrenmesi kesin bir sonuç değil, bir tahmin üretir. Çoğu zaman doğrudur, ama yanılabilir de.

Öğretmenli öğrenme: etiketli örnekler

Etiket ne demek?

Yukarıdaki her fotoğrafın altına yazdığımız doğru cevaba etiket denir. “Bu kedi” etiketidir, “bu köpek” bir başka etikettir.

Örneklerin yanında doğru etiket de verilerek yapılan öğrenmeye öğretmenli öğrenme (İngilizcesi: supervised learning) denir. İsmi güzel bir benzetmeden gelir: sanki bir öğretmen her örneğin doğru cevabını göstererek öğrenciye yol gösterir.

Günlük hayattan örnek: meyve tanıma

Diyelim bir markette meyveleri ağırlıklarına göre ayırmak istiyoruz. Elmalar genelde daha hafif, portakallar genelde daha ağır. Kesin bir kural yazmak yerine, elimizdeki tartılmış ve isimlendirilmiş meyvelerden öğrenebiliriz.

Aşağıdaki kod gerçek bir model eğitmez; küçük ve dürüst bir deneydir. Etiketli örneklerden her sınıfın ortalama ağırlığını öğrenir, sonra yeni bir meyveyi hangi ortalamaya daha yakınsa ona benzetir:

# Etiketli örnekler: (agirlik_gram, etiket)
ornekler = [
    (120, "elma"), (130, "elma"), (110, "elma"),
    (150, "portakal"), (170, "portakal"), (160, "portakal"),
]

# Her sinifin ortalama agirligini ornekten "ogren"
elmalar = [a for a, e in ornekler if e == "elma"]
portakallar = [a for a, e in ornekler if e == "portakal"]
elma_ort = sum(elmalar) / len(elmalar)
portakal_ort = sum(portakallar) / len(portakallar)

# Yeni bir meyveyi, daha yakin oldugu ortalamaya gore tahmin et
def tahmin_et(agirlik):
    if abs(agirlik - elma_ort) < abs(agirlik - portakal_ort):
        return "elma"
    return "portakal"

print(tahmin_et(125))   # elma
print(tahmin_et(165))   # portakal

Kuralı biz elle yazmadık; “elma 130 gramdan hafiftir” gibi bir eşik koymadık. Program eşiği örneklerdeki ortalamalardan kendi çıkardı. Gerçek makine öğrenmesi çok daha karmaşıktır, ama temel fikir tam olarak budur: örneklerden bir kalıp çıkar, sonra yeni veride onu kullan.

Örnekler değişirse sonuç da değişir

Bu deneyde tuhaf bir şeyi kolayca görebilirsin. Örneklere yanlışlıkla 300 gramlık bir “elma” eklersen, elmanın ortalaması yükselir ve program sonraki tahminlerde şaşırmaya başlar. Kodu değiştirmedik; sadece veriyi değiştirdik ve davranış bozuldu.

Bu, makine öğrenmesinin en önemli dersidir: sonuç, verdiğin örneklere bağlıdır. Örnekler dengesiz, eksik veya taraflıysa öğrenilen kalıp da taraflı olur.

Mini uygulama

Bilgisayar gerekmez; kalem kâğıt yeter.

  1. Bir kutuya 8 tane küçük etiketli örnek yaz. Her örnek bir hayvan olsun ve iki bilgi taşısın: yaklaşık ağırlığı ve etiketi (“kedi” veya “köpek”).
  2. Şimdi kod gibi düşün: kedilerin ortalama ağırlığını ve köpeklerin ortalama ağırlığını hesapla.
  3. Arkadaşından yeni bir ağırlık söylemesini iste (örneğin 6 kg). Bu ağırlık hangi ortalamaya daha yakınsa tahminin o olur.
  4. Şimdi bir “tuzak” örneği ekle: 40 kg’lık bir “kedi”. Ortalamayı tekrar hesapla ve aynı tahmini yeniden yap. Sonuç değişti mi?
  5. Son adımda kısa bir cümleyle yaz: Kodu mu değiştirdin, yoksa veriyi mi? Sonuç neden bozuldu?

Bu uygulama, öğretmenli öğrenmenin hem gücünü hem de kırılgan tarafını tek seferde gösterir.

Uygulama laboratuvarı: Makine Öğrenmesi Nedir?

Makine Öğrenmesi Nedir? konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Kural yazmak ile örnekten öğrenmek ile Sorun: bazı kurallar yazılamaz arasındaki ilişkiyi kullanarak temizlenmiş küçük veri tablosu, açık sınıflandırma kuralı ve hata değerlendirmesi hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.

Görev senaryosu

Şu senaryoyu ele al: eğitim ve test verisini ayırarak basit model karşılaştırma. Dersin ana hedefi “Bir sistemin kurallardan değil örneklerden nasıl öğrendiğini öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.

  1. Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
  2. En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
  3. Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
  4. Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
  5. Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.

Başarı ölçütleri

“Makine Öğrenmesi Nedir?” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın eğitim ve test verisini ayırarak basit model karşılaştırma senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Kural yazmak ile örnekten öğrenmek ve Sorun: bazı kurallar yazılamaz ilişkisini daha küçük adımlara bölerek düzelt.

Sık yapılan hatalar

Makine öğrenmesini programlamayla karıştırmak

Programlamada kuralı sen yazarsın. Makine öğrenmesinde örnekleri verirsin, kalıbı makine çıkarır. Her problem makine öğrenmesi gerektirmez; kuralı kolayca yazabildiğin yerde düz kod daha iyidir.

“Doğru cevabı biliyor” sanmak

Makine öğrenmesi kesin bilgi değil, tahmin üretir. Önemli bir kararda çıktıya körü körüne güvenmek yerine sonucu kontrol etmek gerekir.

Az veya taraflı örnekle öğretmek

Sadece siyah kedi fotoğrafı gösterirsen, sistem turuncu bir kediyi tanımakta zorlanabilir. Örnekler ne kadar çeşitli ve dengeliyse öğrenilen kalıp o kadar adil olur.

Yanlış örneği fark etmemek

Tek bir hatalı etiket (“köpek” yerine yanlışlıkla “kedi” yazmak) bile öğrenilen kalıbı bozabilir. Örnekleri hazırlarken dikkatli olmak, kodu yazmak kadar önemlidir.

Güvenlik notu

Ders özeti

Kontrol soruları

  1. Makine öğrenmesi ile normal programlama arasındaki temel fark nedir?
  2. “Etiket” ne demektir ve öğretmenli öğrenmede neden gereklidir?
  3. Kedi–köpek örneğinde bilgisayara kuralları mı yazarız, örnekleri mi veririz?
  4. Meyve deneyinde kodu değiştirmeden sonucu bozmanın bir yolu nedir?
  5. Bir yapay zekâ aracına kişisel fotoğrafını yüklemeden önce neden dikkatli olmalısın?

Cevaplar

  1. Programlamada kuralları insan yazar; makine öğrenmesinde insan örnekleri verir, kalıbı (kuralı) makine örneklerden kendi çıkarır.
  2. Etiket, bir örneğin doğru cevabıdır (“bu kedi” gibi). Öğretmenli öğrenmede makine, doğru cevapları görerek kalıbı öğrendiği için etiket gereklidir.
  3. Örnekleri veririz. Çok sayıda etiketli fotoğrafa bakarak kalıbı makine bulur, çünkü kediyi köpekten ayıran kuralı kelimelerle yazmak çok zordur.
  4. Veriyi değiştirmek. Örneğin örneklere çok ağır, hatalı bir “elma” eklersek ortalama bozulur ve program yanlış tahmin etmeye başlar.
  5. Çünkü bir kez yüklenen kişisel bilgi başkaları tarafından görülüp kullanılabilir; bu yüzden yükleme yapmadan önce bir yetişkine danışmak ve platformun kurallarına uymak gerekir.

Kaynak ve doğrulama notu

“Makine Öğrenmesi Nedir?” dersi için doğrulama odağı Kural yazmak ile örnekten öğrenmek ile Sorun: bazı kurallar yazılamaz arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Bu modüldeki veri kümeleri eğitim amaçlı ve küçüktür; gerçek kişisel veri kullanılmamalıdır. Bir yapay zekâ sonucunun doğruluğu kadar, verinin dengesi, hataların dağılımı ve açıklanabilirliği de değerlendirilmelidir.

Sonraki ders

Eğitim Verisi ve Test Verisi: Bir makine öğrenmesi sistemini örneklerle nasıl öğretiriz ve öğrenip öğrenmediğini nasıl adil şekilde sınarız.

Quiz’i BaşlatVeri ve Yapay Zekâya Giriş bölümüne dön
SORU HAVUZU

Bu dersi 10 soruyla pekiştir

Bu ders için 20 soruluk bir havuz hazırlandı. Her başlangıçta 10 soru ve seçenekler yeniden karıştırılır.