Destek Vektör Makineleri (Support Vector Machines – SVMs) – 8

Bir kısıtlanmış optimizasyon problemi (primal problem) için, oldukça benzer başka bir problem (dual problem) ifade edilebilir. Dual problemin çözümü, genelde, primal problemin çözümü için bir alt sınır verir. Ancak, amaç fonksiyonu konveks, eşitsizlik kısıtlamaları (inequality constraints) sürekli türevlenebilir ve konveks fonksiyonlar ise, primal ve dual problemlerin çözümleri aynıdır. DVM problemi de bu koşulları sağladığından, primal problem veya dual problemden istediğimizi çözebiliriz.

bbbb.png
Doğrusal DVM için dual problem

\hat{y} vektörünü bulduğumuzda, primal problemi minimum yapan \hat{w} ve \hat{b} hesaplanabilir:

ccc
Dual problemin çözümünden primal problemin çözümü

Dual problemi çözmek, verisetindeki örnek sayısı öznitelik sayısından daha az ise, primal problemi çözmekten daha hızlıdır. Ayrıca, primal problem, çekirdek hilesi (kernel trick) kullanmamıza izin vermezken, dual problem verir. Şimdi çekirdek hilesine bakalım.

Çekirdek Hilesi (Kernel Trick)

Bir verisetine, ikinci dereceden bir polinom dönüşümü uygulamak istediğimizi düşünelim. İkinci dereceden polinom dönüşümü fonksiyonu \phi, aşağıdaki gibidir:

asasas

Elde edilen vektörün üç boyutlu olduğuna dikkat edelim. Şimdi, ve b, iki-boyutlu vektörler olmak üzere, bu vektörlere \phi dönüşümünü uygulayalım ve dönüştürülmüş vektörleri nokta çarpım (dot product) ile çarpalım:

wqqwwq.png

Dönüştürülmüş vektörlerin nokta çarpımı, orjinal vektörlerin nokta çarpımlarının karesine eşit oldu: \phi(a)^T\cdot \phi(b)=(a^T \cdot b)^2.

Buraya dikkat edelim: eğer tüm eğitim verilerine \phi dönüşümünü uygularsak, dual problem \phi(x^{(i)})^T\cdot \phi(x^{(j)}) nokta çarpımını içerecektir. \phi, yukarıda tanımlanan ikinci derece polinom dönüşümü ise, dönüştürülmüş vektörlerin nokta çarpımını (x^{(i)^T}\cdot x^{(j)})^2 ifadesi ile değiştirebiliriz. Böylece, dönüşümü uygulamamıza gerek kalmaz. Bu da çekirdek hilesinin ana fikridir.

Bir sonraki yazımızda görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s