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.
vektörünü bulduğumuzda, primal problemi minimum yapan ve hesaplanabilir:
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 , aşağıdaki gibidir:
Elde edilen vektörün üç boyutlu olduğuna dikkat edelim. Şimdi, a ve b, iki-boyutlu vektörler olmak üzere, bu vektörlere dönüşümünü uygulayalım ve dönüştürülmüş vektörleri nokta çarpım (dot product) ile çarpalım:
Dönüştürülmüş vektörlerin nokta çarpımı, orjinal vektörlerin nokta çarpımlarının karesine eşit oldu: .
Buraya dikkat edelim: eğer tüm eğitim verilerine dönüşümünü uygularsak, dual problem nokta çarpımını içerecektir. , yukarıda tanımlanan ikinci derece polinom dönüşümü ise, dönüştürülmüş vektörlerin nokta çarpımını 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
- Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.