Bölüm 1: Giriş (Introduction)
Kaynak: Andriy Burkov -- "The Hundred-Page Machine Learning Book" (theMLbook.com)
Bölüm 1: Giriş
1.1 Makine Öğrenmesi Nedir?
Makine öğrenmesi (MO), bilgisayar biliminin bir alt alanidir. Faydali olabilmek icin, bir olgunun örneklerinden olusan bir koleksiyona (veri setine) dayanan algoritmalar oluşturmayla ilgilenir. Bu örnekler dogadan gelebilir, insanlar tarafından elle olusturulabilir veya baska bir algoritma tarafından uretilmis olabilir.
Makine öğrenmesi ayrica su şekilde de tanimlanabilir: 1. Bir veri seti toplama 2. Bu veri seti üzerinden algoritmik olarak bir istatistiksel model oluşturma 3. Bu modeli pratik bir problemi cozmek için kullanma
Ozetle, MO verideki oruntuleri kesfetmek ve bu oruntuleri yeni veriler üzerinde tahmin yapmak için kullanan bir yaklasimdir.
1.2 Öğrenme Turleri
Makine öğrenmesi dort temel kategoriye ayrilir:
1.2.1 Gozetimli Öğrenme (Supervised Learning)
Gozetimli öğrenmede veri seti, etiketli örneklerden olusan bir koleksiyondur: {(x_i, y_i)} (i = 1, ..., N).
Temel kavramlar:
- Özellik vektoru (Feature Vector): Her bir örnek x_i, D boyutlu bir vektordur. Vektorun her bir boyutu j (j = 1, ..., D), örneği tanimlayan bir özellik (feature) içerir. Örneğin, bir kisi icin: x(1) = boy (cm), x(2) = kilo (kg), x(3) = cinsiyet vb.
- Etiket (Label): y_i değeri sinirli bir siniflar kumesinin elemani olabilir ({1, 2, ..., C}) veya gerçek sayilardan birisi olabilir. Daha karmaşık yapilarda vektor, matris, ağaç veya graf da olabilir.
Amac: Veri setini kullanarak, bir özellik vektoru x alan ve bu vektor için etiketi cikarsamaya yarayan bir model uretmektir. Örneğin, bir kisinin özelliklerini alip kanser olasligini tahmin eden bir model.
Örnek: Spam tespiti -- her e-posta mesaji bir özellik vektorune donusturulur ve etiket {spam, spam_degil} olarak atanir.
1.2.2 Gozemitsiz Öğrenme (Unsupervised Learning)
Gozemitsiz öğrenmede veri seti etiketsiz örneklerden olusur: {x_i} (i = 1, ..., N).
Amac, bir özellik vektoru x alan ve onu baska bir vektore veya pratik bir problemi cozmeye yarayan bir degere donusturen bir model oluşturmaktir.
Gozemitsiz öğrenme alt turleri:
- Kumeleme (Clustering): Model, her özellik vektoru için bir kume kimlik numarasi dondurur. Benzer örnekleri gruplara ayirir.
- Boyut Azaltma (Dimensionality Reduction): Modelin çıktısi, giristen daha az ozellige sahip bir özellik vektorudur.
- Aykiri Deger Tespiti (Outlier Detection): Cikti, x'in veri setindeki "tipik" bir örnekten ne kadar farkli oldugunu gosteren bir gerçek sayidir.
1.2.3 Yari-Gozetimli Öğrenme (Semi-Supervised Learning)
Yari-gozetimli öğrenmede veri seti hem etiketli hem de etiketsiz örnekler içerir. Genellikle etiketsiz örnek sayisi, etiketli örneklerden cok daha fazladir.
Amac, gozetimli öğrenmeyle aynidir. Buradaki umut, cok sayida etiketsiz örneğin öğrenme algoritmasinin daha iyi bir model bulmasina yardimci olmasidir.
Neden ise yarar? Etiketsiz örnekler eklendikce, problemle ilgili daha fazla bilgi eklenmis olur. Daha büyük bir örneklem, etiketli verinin geldigi olasılik dagilimini daha iyi yansitir. Teorik olarak, bir öğrenme algoritmasi bu ek bilgiyi kullanabilmelidir.
1.2.4 Pekistirmeli Öğrenme (Reinforcement Learning)
Pekistirmeli öğrenmede makine bir ortamda yasayarak o ortamin durumunu özellik vektoru olarak algilar. Her durumda eylemler yurutebilir; farkli eylemler farkli odullere yol acar ve makineyi baska bir duruma tasiyabilir.
Amac bir politika (policy) öğrenmektir. Politika, bir durum özellik vektorunu alip o durumda yurutulecek en uygun eylemi ureten bir fonksiyondur. Eylem, beklenen ortalama odulu en ust düzeye cikariyorsa optimaldir.
Kullanim alanlari: Oyun oynama, robotik, kaynak yonetimi, lojistik gibi kararlarin sirali oldugu ve hedefin uzun vadeli oldugu problemler.
Not: Bu kitap tek seferlik karar verme üzerine yoğunlasir; pekistirmeli öğrenme kitabin kapsami disinda birakilmistir.
1.3 Gozetimli Öğrenme Nasil Calisir?
Gozetimli öğrenme süreçi asagidaki adimlardan olusur:
Adim 1: Veri Toplama
Veri, (girdi, çıktı) ciftlerinden olusan bir koleksiyondur. Girdiler e-posta mesajlari, resimler, sensor ölçümleri vb. olabilir. Ciktilar gerçek sayilar veya etiketler olabilir.
Adim 2: Özellik Muhendisligi
Her örnek bir özellik vektorune donusturulmelidir. Örneğin, spam tespiti icin:
Kelime Cantasi (Bag of Words) yöntemi: - 20.000 kelimelik bir sozluk alinir - Her özellik, e-postada o kelimenin bulunup bulunmadigina gore 1 veya 0 değer alir - Sonuç: Her e-posta 20.000 boyutlu bir özellik vektorune donusur
Adim 3: Etiket Donusumu
Bazi algoritmalar etiketlerin sayisal olmasi gerekir. Örneğin: - "spam" --> +1 - "spam_degil" --> -1
Adim 4: Öğrenme Algoritmasi Uygulama
Kitapta örnek olarak Destek Vektor Makinesi (SVM) kullanilmistir.
1.3.1 SVM (Destek Vektor Makinesi) -- Giriş
SVM, tum özellik vektorlerini yüksek boyutlu bir uzayda noktalar olarak gorur ve pozitif etiketli örnekleri negatif olanlardan ayiran bir hiperduzlem (hyperplane) cizer. Bu sinira karar siniri (decision boundary) denir.
Hiperduzlem Denklemi
Hiperduzlem iki parametre ile tanimlanir: - w: Girdi özellik vektoru ile ayni boyutta gerçek degerli bir vektor - b: Bir gerçek sayi
Denklem: w . x - b = 0
Burada w . x, w(1)x(1) + w(2)x(2) + ... + w(D)*x(D) seklinde bir ic carpimdir.
Tahmin Formulu
Bir girdi özellik vektoru x için tahmin edilen etiket:
y = sign(w . x - b)
Burada sign operatoru, girdi pozitifse +1, negatifse -1 dondurur.
Optimizasyon Problemi
SVM'nin amaci, su kisitlari saglayan optimal w* ve b* değerlerini bulmaktir:
w . x_i - b >= 1egery_i = +1isew . x_i - b <= -1egery_i = -1ise
Ayrica, en genis marjin elde edilmelidir. Marj, iki sınıfın en yakin örnekleri arasındaki mesafedir ve w'nin Oklid normu (||w||) minimize edilerek genisletilir.
Optimizasyon problemi: ||w||'yi minimize et, kisit: y_i(w . x_i - b) >= 1 (i = 1, ..., N).
Marj ve Genellestirme
Iki paralel hiperduzlem w.x - b = 1 ve w.x - b = -1 arasındaki mesafe 2 / ||w|| olarak hesaplanir. Bu nedenle ||w|| ne kadar küçükse, marj o kadar büyük olur. Büyük marj, daha iyi genellestirme saglar -- yani model gelecekteki yeni örnekleri daha dogru siniflandirir.
Doğrusal ve Doğrusal Olmayan SVM
- Doğrusal SVM: Karar siniri duz bir cizgi (veya duzlem/hiperduzlem) olan model.
- Cekirdek (Kernel) Kullanan SVM: Karar sinirini rastgele doğrusal olmayan hale getirebilen versiyonlar. Bölüm 3'te ayrintili incelenir.
- Yumusak Marjinli SVM: Gurultulu verilerde veya ayrilmaz siniflar için yanlis sınıflandırma cezasi içeren versiyon.
1.4 Model Neden Yeni Veriler Uzerinde Calisir?
Bir makine öğrenmesi modelinin daha once gormedigi yeni örneklerin etiketlerini dogru tahmin edebilmesinin nedeni istatistiksel bir temeldir:
-
Rasgele ve Bagimsiz Örnekleme: Eğitim için kullanilan örnekler rasgele, birbirinden bagimsiz ve ayni prosedure gore secilmisse, istatistiksel olarak yeni bir negatif örneğin diger negatif örneklerin yakininda olmasi daha olası.
-
Büyük Eğitim Seti: Eğitim örnekleri kumesi ne kadar büyükse, yeni örneklerin eğitim örneklerine benzememe (ve grafikte uzak olma) olasıligi o kadar düşük olur.
-
En Genis Marj: SVM algoritmasi, en genis marjini arayarak karar sinirini her iki sınıfın örneklerinden mumkun oldugunca uzaga cizmeye çalışır. Bu, yeni örneklerdeki hata olasıligini minimize eder.
PAC Öğrenmesi
Öğrenmenin teorik temellerini daha iyi anlamak için PAC (Probably Approximately Correct -- Muhtemelen Yaklasik Dogru) öğrenme teorisi incelenebilir. PAC teorisi, bir öğrenme algoritmasinin hangi kosullar altinda muhtemelen yaklasik dogru bir siniflandirici uretecegini analiz etmeye yardimci olur.
PAC teorisi su ilişkileri inceler: - Model hatasi - Eğitim seti boyutu - Modeli tanimlayan matematiksel denklemin formu - Modeli oluşturma suresi
Ozet
| Kavram | Aciklama |
|---|---|
| Gozetimli Öğrenme | Etiketli verilerden model öğrenir |
| Gozemitsiz Öğrenme | Etiketsiz verilerden yapi/oruntu kesfeder |
| Yari-Gozetimli | Etiketli + etiketsiz veriyi birlikte kullanir |
| Pekistirmeli Öğrenme | Ortamla etkileşim ve odul ile politika öğrenir |
| Özellik Vektoru | Bir örneği tanimlayan sayisal değerler listesi |
| Karar Siniri | Siniflar arasındaki ayirici cizgi/yuzey |
| SVM | Hiperduzlemle sınıflandırma yapan algoritma |
| Marj | Karar sinirinin en yakin örneklere mesafesi |
| Genellestirme | Modelin yeni verilerdeki başarısi |
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.