Dr. Mehmet Solak Siirt Üniversitesi · Ziraat Fakültesi · Biyosistem Mühendisliği · Tarım ve Tarımsal Eğitim İçin Makine Öğrenmesi İçeriği

Bölüm 10: Other Forms of Learning

kitapburkovbölüm-10metric-learninglearning-to-rankrecommender-systemscollaborative-filteringfactorization-machines

Kaynak: Andriy Burkov -- "The Hundred-Page Machine Learning Book" (theMLbook.com)

Bölüm 10: Diger Öğrenme Bicimleri (Other Forms of Learning)

Bu bölüm, standart gozetimli ve gozetimsiz öğrenme kategorilerine tam olarak uymayan, ancak pratikte büyük oneme sahip öğrenme bicimlerini ele alir: metrik öğrenme, siralamaya öğrenme, oneri sistemleri ve oz gozetimli öğrenme.


10.1 Metrik Öğrenme (Metric Learning)

Iki özellik vektoru arasındaki en sik kullanilan benzerlik olculeri Oklid mesafesi ve kosinust benzerligidir. Ancak bu secimler bir ölçüde keyfidir ve bir metrigin diger metrikten daha iyi calisabilmesi, hicbirinin mukemmel olmadiginin göstergesidir.

Parametrize Edilmis Mesafe

Oklid mesafesi su şekilde degistirilir:

d_A(x, x') = sqrt( (x - x')^T * A * (x - x') )

Burada A, D x D boyutunda bir matristir.

  • A birim matris ise: standart Oklid mesafesi elde edilir.
  • A kosegende farkli değerler içerirse: farkli boyutlar metrikteki farkli onemlere sahip olur.

Metrik Kosullari

Bir fonksiyonun metrik olarak adlandirilmasi için uc kosulu saglamasi gerekir: 1. Negatif olmama: d(x, x') >= 0 2. Ucgen esitsizligi: d(x, x') <= d(x, x'') + d(x'', x') 3. Simetri: d(x, x') = d(x', x)

Ilk iki kosulun saglanmasi için A matrisinin pozitif yari-kesin (positive semidefinite) olmasi gerekir: z^T * M * z >= 0.

Eğitim Sureci

  1. Etiketlenmemis bir kume X = {x_i} vardir.
  2. Manuel olarak iki kume olusturulur:
  3. S (Benzer Kumesi): Birbirine benzer ciftler (x_i, x_k)
  4. D (Benzemez Kumesi): Birbirine benzemeyen ciftler (x_i, x_k)
  5. Optimizasyon problemi:
min_A  SUM_{(x_i,x_k) in S} ||x - x'||^2_A
boyle ki  SUM_{(x_i,x_k) in D} ||x - x'||_A >= c

Burada c pozitif bir sabittir. Cozum, A'nin pozitif yari-kesin kalmasini saglayan modifiye gradyan inisi ile bulunur. Doğrusal olmayan ve cekirdek tabanli metrik öğrenme yöntemleri de mevcuttur.


10.2 Siralamaya Öğrenme (Learning to Rank)

Siralamaya öğrenme, gozetimli bir öğrenme problemidir. Sik karsilasilan uygulamasi, bir arama motoru sorgusunun sonuçlarinin optimize edilmesidir.

Problem Tanimi

  • Her eğitim örneği X_i, siralanmis bir belge koleksiyonudur (etiketler belgelerin siralaridir).
  • Her belge bir özellik vektoru ile temsil edilir (belgenin ne kadar guncel oldugu, sorgu kelimelerinin baslikta olup olmadigi, belge boyutu vb.).
  • Amac, belgeleri siralamak için kullanilabilecek değerler ureten bir siralama fonksiyonu f öğrenmektir.

Uc Temel Yaklasim

1. Noktasal (Pointwise): Her belge bagimsiz bir örnek olarak ele alinir. Standart gozetimli öğrenme (regresyon veya lojistik regresyon) problemine donusturulur. Her örnekte x belgenin özellik vektoru, y ise puandir. Basit ama genellikle yetersiz sonuç verir, çünkü belgeler izole olarak degerlendirilir.

2. Ikili (Pairwise): Belgeler cift halinde degerlendirilir. (x_i, x_k) cifti icin, x_i'nin x_k'dan daha yüksek siralanmasi gerekiyorsa 1'e, degilse 0'a yakin bir değer ureten model f olusturulur. Test zamaninda nihai siralama, tum belge ciftleri için tahminlerin birlestirilmesiyle elde edilir. Noktasal yaklasimdan daha iyi çalışır.

3. Liste Tabanli (Listwise): Dogrudan bir siralama kalite metrigini optimize etmeye çalışır. LambdaMART en gelismis liste tabanli algoritmalardan biridir.

Metrikler

Kesinlik (Precision):

precision = |{ilgili belgeler} kesisim {getirilen belgeler}| / |{getirilen belgeler}|

Ortalama Kesinlik (AveP):

AveP(q) = SUM_{k=1}^{n} (P(k) * rel(k)) / |{ilgili belgeler}|

Ortalama Ortalama Kesinlik (MAP):

MAP = SUM_{q=1}^{Q} AveP(q) / Q

LambdaMART

LambdaMART, ikili yaklasim uygular ve siralama fonksiyonu h(x)'i egitmek için Gradient Boosting kullanir. Ikili model:

f(x_i, x_k) = 1 / (1 + exp((h(x_i) - h(x_k)) * lambda))

Önemli yenilik: gerçek gradyani MAP gibi bir metrige bagli bir faktor ile degistirir. Boylece tipik gozetimli öğrenme algoritmalarinin aksine, maliyet fonksiyonu yerine doğrudan metrigi optimize eder.

Siralama listesi oluşturmak için mevcut siralama algoritmalari (örneğin kabarcik siralama) kullanilabilir; karşılaştırma fonksiyonu olarak öğrenen model f yerlestirilir.


10.3 Oneri Öğrenme (Learning to Recommend)

Oneri sistemleri, kullanıcınin tuketim gecmisine dayanarak yeni içerik onermeye yoneliktir (örneğin Netflix'te film, Amazon'da kitap).

Geleneksel Yaklasimlar

Icerik Tabanli Filtreleme (Content-Based Filtering): - Kullananicinin tuttugu içeriklerin özelliklerine dayanır. - Örneğin, bilim/teknoloji haberleri okuyan birine daha fazla bu turde içerik onerilir. - Her kullanıcı için özellik vektoru x ve kullanıcınin içeriği okuyup okumadigi etiketi y ile bir eğitim seti olusturulur. - Dezavantaj: Kullanici filtre baloncuguna (filter bubble) hapsolabilir; sistem her zaman bilinen seylere benzer içerik onerir.

Isbirligi Filtreleme (Collaborative Filtering): - Bir kullanıcıya oneriler, diger kullanıcılarin tuketim veya değerlendirmelerine dayali olarak hesaplanir. - Iki kullanıcı ayni on filme yüksek puan verdiyse, birinin begendigi yeni filmleri diger de begenebilir. - Dezavantaj: Onerilen içeriklerin içeriği goz ardi edilir. - Kullanici tercihleri devasa ve son derece seyrek bir matriste organize edilir (cogu kullanıcı mevcut içeriklerin cok küçük bir kismini tuketir).

Hibrit Yaklasim: Cogu gerçek dunya oneri sistemi, içerik tabanli ve isbirligi filtreleme modellerini birlestirir.

10.3.1 Faktorize Edilmis Makineler (Factorization Machines -- FM)

FM, seyrek veri setleri için ozel olarak tasarlanmis nispeten yeni bir algoritmadır.

Örnek: Her özellik vektoru belirli bir kullanıcı ve belirli bir film hakkinda bilgi içerir. Kullanicilar ve filmler tek-sicak vektorlerle kodlanir; ek özellikler (kullanıcınin verdigi puanlar, izlenen filmlerin Oscar orani vb.) el ile olusturulur.

FM Modeli:

f(x) = b + SUM_i w_i * x_i + SUM_i SUM_{j=i+1} (v_i . v_j) * x_i * x_j
  • b ve w_i: doğrusal regresyondaki gibi skaler parametreler.
  • v_i: k boyutlu faktor vektorleri (k bir hiper parametredir, D'den cok küçüktur).
  • (v_i . v_j): i ve j'inci faktor vektorlerinin ic carpimi.

Her ciftsel etkileşim için ayri bir w_{i,j} parametresi yerine, Dk << D(D-1) parametreyle faktorize edilir. Kayip fonksiyonu olarak kare hata (regresyon) veya hinge/lojistik kayip (sınıflandırma) kullanılır ve gradyan inisi ile optimize edilir.

10.3.2 Gurultu Giderici Otokodlayicilar (Denoising Autoencoders -- DAE)

Gurultu giderici otokodlayici, girdisini darbogaz katmanindan yeniden olusturan bir sinir agidir. Girdiye gurultu eklenmesi ancak çıktınin gurultusuz olmasi gerektigi için oneri modeli oluşturmaya idealdir.

Fikir: Kullanicinin begenebilecegi yeni filmler, tam tercih kumesinden bir bozulma süreçiyle kaldirilmis gibi gorulur. DAE'nin amaci bu kaldirilan ogeleri yeniden oluşturmaktir.

Eğitim: 1. Eğitim setinden kullanıcı ve film tek-sicak özelliklerini cikarin, yalnizca puanlama özelliklerini kullanin. 2. Girdi özellik vektorlerindeki bazi sifir olmayan değerleri rastgele sifir ile degistirin. 3. Otokodlayiciyi bozulmamis girdiyi yeniden oluşturmak uzere egitin.

Tahmin: Kullanici için özellik vektoru olusturulur, eğitilmiş DAE modeli ile yeniden olusturulur ve en yüksek puanli filmler onerilir.

Baska bir etkili model: iki girdili ve bir çıktıli ileri beslemeli sinir agi. Eğitim örneği (u, m, r) uclusu seklindedir; u kullanıcı, m film tek-sicak kodlamasi, r ise puandir.


10.4 Oz Gozetimli Öğrenme: Kelime Gommeleri (Self-Supervised Learning: Word Embeddings)

Kelime gommeleri, kelimeleri temsil eden özellik vektorleridir ve benzer kelimelerin benzer vektorlere sahip olmasi ozelligini tasir. Bu gommeler veriden ogrenilir.

Word2Vec -- Skip-Gram Modeli

Temel Fikir: Bir cumledeki bir kelime, onu cevreleyen bağlam kelimelerini tahmin edebilir ve bağlam kelimeleri de merkezi kelimeyi tahmin edebilir. Ayni bağlami paylasan kelimeler benzer anlama sahiptir.

Skip-Gram Ornegi: - Cumle: "I almost finished reading the book on machine learning." - "book" kelimesi cikarildiginda: "finished reading the . on machine learning" - Pencere boyutu 7 (3 + 1 + 3): [x_{-3}, x_{-2}, x_{-1}, x, x_{+1}, x_{+2}, x_{+3}]

Model Mimarisi (Pencere boyutu 5): - Girdi: Merkez kelimenin tek-sicak kodlamasi (örneğin 10.000 boyutlu). - Gomme katmani: Daha düşük boyutlu (örneğin 300 birim) gizli katman. - Cikti katmani: Baglam kelimelerini tahmin eden softmax katmani. - Maliyet fonksiyonu: Negatif log-olasılik (negative log-likelihood). - Kelime gommesi: Kelimenin tek-sicak kodlamasi girdi verildiginde gomme katmaninin çıktısidir.

Oz Gozetimli Öğrenme Adi: Etiketli örnekler, metin gibi etiketlenmemis veriden otomatik olarak cikarilir; bu nedenle bu tur öğrenmeye "oz gozetimli" denir.

Verimlilik Teknikleri: - Hiyerarsik Softmax: Softmax çıktılarini ikili ağaç yapragi olarak temsil ederek hesaplamayi hizlandirir. - Negatif Örnekleme (Negative Sampling): Her gradyan inisi iterasyonunda tum çıktılar yerine yalnizca rastgele bir alt kume guncellenir.

Pek cok dil için onceden eğitilmiş word2vec gommeleri cevrimici olarak indirilebilir.


Ozet

Öğrenme Bicimi Problem Temel Yaklasim
Metrik Öğrenme Veri setine ozgu mesafe metrigi Pozitif yari-kesin A matrisi öğrenme
Siralamaya Öğrenme Arama sonuçu optimizasyonu Noktasal, ikili, liste tabanli (LambdaMART)
Oneri Sistemleri Kullaniciya içerik onerisi FM (seyrek veri), DAE (yeniden oluşturma)
Oz Gozetimli Öğrenme Kelime gommeleri Word2Vec skip-gram, bağlam tahmini

Lisans ve Atıf

Bu sayfa, Andriy Burkov tarafından yazılan "The Hundred-Page Machine Learning Book" kitabına dayalı notlar içermektedir.

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.